Google ADK Python发布v2.10.0:新增MongoDB工具集与技能生命周期管理
该版本于 2026-09-24 发布,引入实验性技能生命周期、MongoDB向量与混合搜索工具集、评估效率指标,以及多项行为变更。
AI解读:ADK Python v2.10.0的核心是让Agent更省资源也更好算账。新增的实验性技能生命周期让开发者可以按需卸载技能、限制活跃技能数量,好处是减少不必要的上下文占用。默认关闭,要设ADK_ENABLE_SKILL_LIFECYCLE=1 才生效。
对用MongoDB存数据的团队来说,新工具集把向量搜索和混合搜索做进了Agent流程,不用再自己搭一层检索胶水。OpenAI推理模型的接入也更顺:请求参数会自动适配,并单独报告推理token用量。
评估侧加上了耗时、token消耗和模型调用次数指标,等于告诉开发者一次Agent跑下来到底花了多少钱和时间。这项变化的直接价值在成本控制,不在能力提升。
升级前要注意几处会破坏现有代码的行为变更:BigQuery保护模式只允许dry run能放进会话匿名数据集的非SELECT语句,多语句脚本、CALL、EXPORT DATA会被拒绝;OpenAIResponsesLlm忽略thinking_config并告警,改用OpenAIGenerateContentConfig.effort;评估无用例时抛ValueError而非静默通过;指令模板不再填充 ${var};live-audio旧模块导入会触发弃用警告。
Google的Agent Development Kit Python包发布v2.10.0,版本日期为 2026-09-24,对比版本为v2.9.2。
该版本在发布说明中列出的重点包括:技能生命周期管理、数据库与模型集成扩展、以及Agent评估的效率指标。
技能相关功能为实验性,默认关闭,需要通过环境变量ADK_ENABLE_SKILL_LIFECYCLE=1 启用。
技能生命周期:单轮临时模式与活跃技能上限
技能相关的新能力集中在SkillToolset。新增EPHEMERAL技能生命周期,生命周期仅持续一个回合;新增活跃技能数量上限;新增可选、需显式开启的unload_skill工具;并在技能卸载后从后续请求中移除其指令。
上述技能生命周期功能均标注为实验性、默认关闭,启用方式为设置ADK_ENABLE_SKILL_LIFECYCLE=1。
SkillToolset还增加了程序化技能激活API、on_error处理函数,以及能够感知已加载技能发生变化的能力。新增SkillDiscoveryMode,用于控制技能目录的披露方式。
- EPHEMERAL生命周期持续一个回合
- 新增活跃技能上限
- unload_skill工具为可选、默认不启用
- 卸载技能后其指令会从后续请求中移除
- 启用开关:ADK_ENABLE_SKILL_LIFECYCLE=1
集成:MongoDB工具集与OpenAI推理模型
新增MongoDB工具集,可在Agent流程内执行向量搜索与混合搜索。
OpenAI相关新增包括:为推理模型在两种接口上自动适配请求参数;在Chat Completions上报告推理token并新增live测试;在OpenAILlm中支持api_key/base_url及按请求解析密钥;新增OpenAIGenerateContentConfig以及按模型设置推理强度;在OpenAILlm中遵守tool_config模式与全部工具声明;在OpenAILlm中暴露流式用量与结束原因。
OpenAI模型迁移到google.adk.integrations.openai,google.adk.labs.openai仍会重新导出;新增google-adk[openai] 附加依赖。
- MongoDB工具集支持向量与混合搜索
- 在Chat Completions上报告推理token
- 新增google-adk[openai] extra
- 模型路径迁移至google.adk.integrations.openai
评估:耗时、token与模型调用次数指标
ADK评估新增持续时间效率指标,以及token与调用次数的信息性效率指标,用于追踪耗时、token消耗和模型调用次数。
行为变更方面,AgentEvaluator.evaluate与evaluate_eval_set在没有任何评估用例被评估时抛出ValueError,而不是静默通过。
- 新增持续时间效率指标
- 新增token与调用次数信息性指标
- 无用例被评估时抛ValueError
行为变更与弃用
BigQuery保护写入模式现在仅当dry run将该非SELECT语句放入会话匿名数据集时才执行,因此多语句脚本、CALL、EXPORT DATA以及其他dry run无法给出目标位置的语句会被拒绝。
BigQuery保护模式将会话保存在进程内存中而非会话状态里,因此其临时表不会在重启后保留,也不会迁移到另一个副本。
OpenAIResponsesLlm会忽略thinking_config(thinking_level / thinking_budget)并给出警告,改用OpenAIGenerateContentConfig.effort。
指令模板不再从状态填充 ${var} 与反斜杠转义的 \{var},而是按原样保留。
google.adk.flows.llm_flows下的旧版live-audio模块(audio_cache_manager、audio_transcriber、transcription_manager)在导入时发出DeprecationWarning,需要迁移到google.adk.live;使用 -W error运行测试套件时,这些导入会直接失败。
- BigQuery保护写入模式拒绝dry run无法定位的语句
- BigQuery会话不再随重启或副本迁移
- OpenAIResponsesLlm忽略thinking_config,改用effort
- 指令模板不再填充 ${var}
- live-audio旧模块导入触发DeprecationWarning
其他值得注意的新增
CLI方面:adk create的模型选项新增gemini-3.8-flash;在Agent Runtime上自动配置会话与记忆服务;新增面向Agent Runtime、Cloud Run和GKE的仅开发用部署端点。
上下文与运行配置方面:InvocationContext与Context新增中止信号原语,但发布说明明确指出Runner与工作流目前尚未对中止信号采取动作;RunConfig暴露服务层级service_tier;api_server REST端点暴露会话选项。
此外还包括:为RemoteA2aAgent增加可选context_builder;在MCP的clientInfo握手与HTTP请求User-Agent中标识ADK;在交互API请求中发送延迟服务层级;为BaseLlmFlow增加基于名称的请求处理器辅助函数;BigQueryToolConfig增加default_project_id与default_dataset_id。
修复项中涉及安全与正确性的包括:将OAuth2客户端密钥排除在会话状态之外;停止执行模型私有推理中的代码;对服务器提供的工具描述在到达模型前进行围栏处理。
- adk create新增gemini-3.8-flash选项
- 新增仅开发用部署端点(Agent Runtime、Cloud Run、GKE)
- 中止信号原语已加入但Runner与工作流尚未响应
- RunConfig暴露service_tier
- OAuth2客户端密钥不再写入会话状态