为什么 Google ADK 可能是你下一个 Agent 框架——7 个改变游戏规则的特性
为什么 Google ADK 可能是你下一个 Agent 框架
上个月我花了大量时间评估不同的 Agent 框架——LangChain、CrewAI、AutoGen,每一个都有亮点,但总觉得少了点什么。要么是抽象层级太高调试困难,要么是多 Agent 协作搞起来太复杂。直到我试了 Google 的 ADK(Agent Development Kit),第一反应是:这才是 Python 开发者想要的 Agent 框架。
ADK 的核心理念很简单——代码优先。你不用学什么新的 DSL,不用写 YAML 配置文件,直接用 Python 写 Agent,就像写普通的业务代码一样。这个设计选择带来的好处比你想象的大得多。
本文提纲
- 代码优先:用 Python 写 Agent 是什么体验
- 30 秒创建一个能搜索的 Agent
- 多 Agent 编排——复杂任务的正确打开方式
- 工具生态:MCP + OpenAPI + Google 全家桶
- 人机协作不是口号,HITL 真的能落地
- 部署自由:Cloud Run、Vertex AI Agent Engine 随你选
- 评估、调试、A2A——生产级别的工程支持
代码优先:用 Python 写 Agent 是什么体验
大多数 Agent 框架要么过度封装(你看不到底层在干什么),要么暴露太多细节(你自己要处理一堆边界情况)。ADK 找到了一个微妙的平衡点。
Agent 就是一个 Python 对象。工具就是 Python 函数。编排逻辑就是 Python 代码。这意味着:
- 可调试:出了问题,你可以在 IDE 里打断点,一步步跟踪 Agent 的决策过程
- 可测试:写单元测试就像测试普通函数一样,不需要 mock 整个框架
- 可版本控制:Git diff 能清楚看到 Agent 逻辑的每一次变更
这种设计不是偶然的。Google 的工程师团队在构建大规模 AI 系统的过程中积累了很多经验,ADK 就是把这些工程实践提炼成了框架。
30 秒创建一个能搜索的 Agent
废话不多说,直接看代码:
from google.adk.agents import Agent
from google.adk.tools import google_search
root_agent = Agent(
name="search_assistant",
model="gemini-2.5-flash",
instruction="You are a helpful assistant. Answer user questions using Google Search when needed.",
description="An assistant that can search the web.",
tools=[google_search]
)
这就是一个完整的、能联网搜索的 Agent。对比其他框架动辄几十行配置代码,ADK 的简洁程度让人印象深刻。
几个关键点:
model字段不绑定 Gemini——虽然 Google 优化了 Gemini 的体验,但通过 LiteLLM 集成,你可以用任何兼容的模型tools是一个列表,可以混合使用内置工具和自定义函数instruction就是自然语言的 prompt,不需要特殊的模板语法
多 Agent 编排——复杂任务的正确打开方式
单个 Agent 能做的事有限。真正的生产力提升来自多个 Agent 的协作。ADK 的多 Agent 设计是我见过最直观的:
from google.adk.agents import LlmAgent, BaseAgent
# 定义各个专业 Agent
greeter = LlmAgent(name="greeter", model="gemini-2.5-flash", ...)
task_executor = LlmAgent(name="task_executor", model="gemini-2.5-flash", ...)
# Coordinator 自动分配任务
coordinator = LlmAgent(
name="Coordinator",
model="gemini-2.5-flash",
description="I coordinate greetings and tasks.",
sub_agents=[greeter, task_executor]
)
注意 sub_agents 这个参数。ADK 引擎和模型会自动引导各个 Agent 协作完成复杂任务。你不需要手动写路由逻辑——Coordinator 会根据每个子 Agent 的 description 自动判断该把任务分配给谁。
这种"声明式编排"的好处是,你可以像搭积木一样组合不同的 Agent,而不用操心它们之间怎么通信、怎么传递上下文。当你需要调整架构时,只需要修改 sub_agents 列表,不用重写整个流程。
工具生态:MCP + OpenAPI + Google 全家桶
Agent 没有工具就是个大号的聊天机器人。ADK 在工具集成方面做得特别开放:
- 内置工具:Google Search、Code Execution 等开箱即用
- 自定义函数:任何 Python 函数都能变成 Agent 工具
- OpenAPI Specs:直接导入现有的 API 定义,Agent 就能调用这些 API
- MCP 工具:支持 Model Context Protocol,可以接入任何 MCP 兼容的工具服务器
- Google 生态:与 Google Cloud 服务深度集成
对于已经在使用 Google Cloud 的团队来说,这个工具生态的吸引力是巨大的。但即使你不使用 Google Cloud,ADK 的开放架构也不会限制你的选择。
最近新增的 AgentEngineSandboxCodeExecutor 也是一个亮点——它让 Agent 生成的代码可以在 Vertex AI 的沙盒环境中安全执行,不用担心代码执行的安全问题。
人机协作不是口号,HITL 真的能落地
Agent 在生产环境中最大的挑战之一就是可靠性。完全自动化的 Agent 很容易在边界情况下做出错误的决策。ADK 的 Tool Confirmation 机制(Human-in-the-Loop)解决了这个问题。
当你标记某个工具需要确认时,Agent 在执行这个工具之前会暂停,等待人类的批准。你可以自定义确认流程的 UI 和交互方式。这意味着:
- 高风险操作(如删除数据、发送邮件)需要人工确认
- 低风险操作可以全自动执行
- 你可以逐步放开 Agent 的权限,而不是一开始就给完全的自主权
这种渐进式的信任建立方式,对于生产环境的 Agent 部署至关重要。
部署自由:Cloud Run、Vertex AI Agent Engine 随你选
ADK 在部署方面做了一件聪明的事——它不绑定任何特定的部署平台,但提供了与 Google Cloud 的无缝集成。
# 一行命令安装
pip install google-adk
安装完成后,你可以:
- 容器化部署:打包成 Docker 镜像,部署到 Cloud Run、Kubernetes 或任何容器平台
- Vertex AI Agent Engine:一键部署到 Google 的托管 Agent 平台,自动处理扩缩容
- 本地运行:开发调试阶段直接在本地跑
- 自定义服务器:ADK 提供了 FastAPI 集成,可以快速构建自己的 Agent 服务
最近还新增了 Custom Service Registration 功能,通过一个通用的服务注册机制,你可以把自定义的服务实现注册到 FastAPI 服务器中。这让扩展 ADK 的能力变得非常方便。
评估、调试、A2A——生产级别的工程支持
一个框架能不能上生产,看的是工程细节。
内置开发 UI:ADK 提供了一个 Web 界面,可以实时测试、调试和展示你的 Agent。不需要自己搭建测试环境,直接在浏览器中就能看到 Agent 的决策过程、工具调用和输出结果。
评估框架:
adk eval \
samples_for_testing/hello_world \
samples_for_testing/hello_world/hello_world_eval_set_001.evalset.json
你可以定义评估数据集,量化测试 Agent 的表现。这对于迭代优化和持续集成来说必不可少。
Rewind 能力:这是一个很实用的功能——你可以把一个 session 回退到之前的某次调用之前。这在调试复杂的多轮对话时特别有用,不需要从头开始。
A2A 协议:ADK 集成了 Google 的 Agent-to-Agent 协议,支持远程 Agent 间的通信。这意味着你可以把不同团队、甚至不同公司构建的 Agent 连接起来,形成更大的协作网络。
Vibe Coding 支持:如果你喜欢用 AI 辅助编码,ADK 提供了 llms.txt 和 llms-full.txt 文件,可以直接作为上下文提供给 LLM,让 AI 帮你写 Agent 代码。
社区生态:adk-python-community 仓库正在快速发展,社区贡献的工具、第三方服务集成和部署脚本不断丰富。
作者: TheAIEra
来源: 公众号:AI 人工智能时代
本文首发于 AI 人工智能时代,转载请注明出处。

浙公网安备 33010602011771号