谷歌发布了智能体开发框架 ADK 的 Python 版 2.14.0。运行环境、智能体间通信和评估功能结束实验阶段,长工作流的执行时间和内存使用量也有所减少。开发者可以多次运行同一评估以查看结果,并降低处理大文件时的内存负担。

1. 运行环境与核心功能转为稳定版

本次发布将本地、Daytona、E2B 运行环境及环境工具集转为稳定版。

连接智能体间通信的 A2A 集成,以及成熟的评估与用户模拟功能也结束了实验阶段。认证、环境、应用、命令行、缓存等 26 个模块及 16 个工具集与集成功能升级为稳定功能,可在无实验警告的情况下使用。

文件读取工具按块获取所需行范围,不再将整个文件一次性加载到内存中。云端运行环境 AgentEngineEnvironment 也按块处理大文件的读写。

AgentEngineEnvironment 会在命令运行超过 570 秒时,在服务时限到来之前报告超时。

容器代码执行器支持输入和输出文件。

2. 通过重复评估与参数比较扩大验证范围

新增了多次运行评估用例的功能,每个用例包含输入和预期结果。该功能支持同时处理多个任务的并行执行,并汇总各次运行的得分或通过率。开发者可指定运行次数和并行度,从而依据多次结果审视评估判定,而不再依赖单次运行。

可以在运行时创建工作流中作为单独执行步骤的节点或应用,并将其作为评估对象。

评估文件可以保存在只允许查看、不允许修改的只读智能体目录之外。评估资料的存储位置因此更加灵活。

调用参数即传给工具的输入值,其比较方式除了精确匹配,还支持忽略大小写、数值容差和基于语言模型的语义比较。可用于在评估和环境模拟中确认同一工具的参数是否按预期传递。

3. 将对话渠道和记忆检索连接到外部服务

新增了将 ADK 智能体连接到 Microsoft Teams 聊天和频道的集成。

A2A 新增了通过命令行生成智能体卡片的功能,可准备与其他智能体连接所需的信息。

本次还包含按类型划分输入的分类器。它使用 OpenAI Decisions API 判断工作流与工具的使用与否,为将外部判定服务接入智能体执行流程增加了一个选项。

MongoDB 记忆服务新增了将内容表示为向量以查找相关记忆的搜索方式,以及记忆过期时间设置。现在可同时设置如何查找已存储的记忆,以及保留多久。

4. 缩短长工作流的执行时间并节省内存

公司公布的性能提升数据如下。

表:长工作流的执行时间与内存降幅

条件:由 30 个节点构成的工作流运行 200 轮,以公司公布的数据为准

单位:%

长工作流的执行时间与内存节省
指标测量条件降幅
执行时间30 个节点、200 轮运行23%
峰值内存使用量30 个节点、200 轮运行9%

内部通过简化节点路径处理,并根据条件跳过事件历史检索,减少了重复工作。由于减少了每轮反复进行的检索,对于持续执行长任务的开发者而言,这不仅是单个步骤的改进,也能降低整个执行过程的累积负担。

升级时宜优先检查现有调用与存储的兼容性。之后可确认大文件处理的内存负担,再通过重复评估观察判定波动,按此顺序考虑应用这些改进。

5. 执行效率的收益与调用、存储方式变更的成本

整文件读取的负担和长工作流的重复工作虽有所减少,但仍需将现有调用适配到新方式。Enum 是从预先设定的值中选择一个的枚举数据类型。以该类型声明的工具参数现在会作为预定义值的对象传递,而非字符串。现有的字符串比较可改为成员间比较,或通过 .value 取值后比较。

技能脚本工具在与运行环境配合使用的模式下,接收经过验证的路径和参数,而非自由形式的 shell 命令。shell 命令是指示操作系统执行任务的文本。这一变更封堵了通过“提示注入”执行任意命令的路径,这类攻击利用外部输入欺骗模型执行非预期命令。原先传递命令字符串的调用、评估资料和提示词均需修改。

使用存储的团队还应检查回滚计划和外部查询。Firestore 仍可读取现有会话并追加事件,PostgreSQL 的现有表也会保留。

但本版本写入的 Firestore 会话,在回滚到 2.13.0 或更低版本后将无法读取。

PostgreSQL 的新 JSON 列以 json 而非 jsonb 创建,因此使用 jsonb 专用运算符的外部查询需要调整。

v2.14.0 稳定了运行与评估基础,提升了长工作流的效率,但也要求检查部分现有调用与存储集成。