

在2025年11月22日,agno发布了v2.3.2版本,本次更新主要围绕数据库内存管理、SQLite查询优化、测试流程完善等方面进行了改进和修复。本文将基于更新日志和具体代码变更,从多个角度详细解析本次版本的技术更新。
在.github/workflows/test_on_release.yml中新增了AgentOS集成测试任务:
test-agent-os任务,使用Python 3.12运行。a2a、agui),只运行指定的os相关测试内容。uv的安装步骤与dev_setup.sh脚本执行,确保开发环境一致性。这一改动主要是为了加强AgentOS模块的稳定性验证,提升发布前测试覆盖率。
在agent.py与team.py中,针对run与arun方法的参数进行了优化:
yield_run_response参数由原来的bool类型改为可选的Optional[bool],并保留向后兼容逻辑。bool(yield_run_output or yield_run_response)来确保布尔类型,避免None带来的潜在逻辑错误。此改动明确了参数类型和兼容逻辑,减少了运行时的类型问题。
在memory.py与manager.py中,用户内存数据结构与时间字段处理方式进行了统一优化:
created_at与updated_at字段由datetime类型改为UNIX秒级时间戳(int),提升存储与比较的效率。now_epoch_s()生成当前时间。to_dict方法中,时间戳会优先转为datetime格式后输出ISO 8601字符串,确保API输出的可读性。内存排序逻辑也进行了调整:
updated_at为空,则在最后或最前进行排序。datetime对象。这些改动显著提高了内存数据在数据库与程序内的一致性,也优化了排序性能。
在sqlite.py与async_sqlite.py中,查询逻辑优化了按主题(topics)检索用户内存:
topics::text LIKE语法改为func.cast(table.c.topics, String).like(...),提高了SQLite兼容性和查询可读性。where过滤,提升精准检索能力。此外,在sqlite.py的get_user_memory_stats方法中:
total_count如果查询结果为None则返回0,避免统计为空时报错。这些改动提升了在SQLite上的跨版本兼容性,避免因SQL语法不同导致的查询失败。
在os/routers/memory/memory.py中,用户内存统计接口新增了分页参数类型校验:
limit与page参数在进入数据库查询前强制转为整数。limit=20、page=1,提高了接口的健壮性。在os/router.py的migrate_database中,删除了多余的空行与不必要的缩进,使代码更简洁。
agno v2.3.2版本的更新重点集中在:
本次版本的改动,既有底层的数据结构与存储优化,也有上层接口和测试体系的完善,为后续功能的稳定运行打下了坚实基础。
我们相信人工智能为普通人提供了一种“增强工具”,并致力于分享全方位的AI知识。在这里,您可以找到最新的AI科普文章、工具评测、提升效率的秘籍以及行业洞察。 欢迎关注“福大大架构师每日一题”,发消息可获得面试资料,让AI助力您的未来发展。