Google ADK 是什么?21.7K 星的谷歌开源 Agent 开发套件,一套概念写五种语言
导语
横向 Agent 平台这个系列写下来,Make、Zapier、Dify、Flowise、CrewAI、AutoGen 都有专篇了,一直缺谷歌。Google ADK(Agent Development Kit)是谷歌 2025 年开源的 Agent 开发套件,如今主仓库 google/adk-python 已经 21.7K 星,10 月 2 日刚发 v2.11.0,更新密度相当高。它跟”拖节点、连线”那批平台不是一回事:ADK 是 code-first,Agent 就是代码里的一个对象,冲着正经写工程、要往生产环境推的团队去的。
项目介绍
出身很干净:Google 官方出品,Apache-2.0 协议,主仓库 google/adk-python(21.7K 星、4.1K fork),配套的 adk-java 1.7K 星、adk-js 1.4K 星,文档站是 google.github.io/adk-docs,全部持续更新中。
第一个卖点是五种语言一套概念:Python、TypeScript、Go、Java、Kotlin,核心名词完全对齐:Agent(带 instruction 和 model)、Tool、Runner、Session、Event。Java 换成 builder 写法,其余几乎照搬。这一点对多语言团队很实在,后端写 Go 或 Java 的同事不用被迫改写 Python。
能力清单拉出来是这样:
- 多代理编排:子代理委托,顺序 / 循环 / 并行三种模板工作流,ADK 2.0 新增 graph workflows,把确定性代码和模型推理织成有向图,路径可控、结果可预期;
- 模型不锁死:Gemini 之外,官方接了 Claude、OpenAI、Ollama、vLLM、LiteLLM,本地模型一样能跑;
- MCP 双向:工具可以调用 MCP server,Agent 自己也能暴露成 MCP server 给别的程序调;
- A2A 互操作:配套的 A2A 协议仓库 26.1K 星,专门解决不同框架写的代理之间怎么对话;
- 工具与调试:function / OpenAPI / Google Search 联网工具,adk web 里带会话管理、状态查看、事件回放,Python 版还有拖拽式 Visual Builder。
和同系列的 CrewAI、AutoGen 比,ADK 更像”带标准件的框架”:那两家给的是 Agent 的组织方式:角色、团队、对话剧本;ADK 给的是运行时,Runner 负责跑事件循环,Session 负责记状态和事件,评估、日志、指标、链路追踪都长在框架里,不用自己再攒一套。
横向对比同期项目:LangGraph 42.9K 星、CrewAI 59.4K 星、AutoGen 61.3K 星。ADK 星数不是最高,但它发版最勤,背后是 Gemini 和 Google Cloud 整条部署链路,这条别的框架给不了。
上手
python3 -m venv .venv && source .venv/bin/activate
pip install google-adk # 要求 Python 3.10+
export GEMINI_API_KEY=xxx # Google AI Studio 控制台免费领
adk web # 浏览器里调试,带会话 / 状态 / 事件面板
adk run my_agent # 或者直接在终端里对话
Agent 本体就这么点代码:
from google.adk.agents import Agent
from google.adk.tools import google_search
agent = Agent(
name="researcher",
model="gemini-flash-latest",
instruction="你是个认真的资料检索员,先搜索再回答",
tools=[google_search],
)
目录约定是 my_agent/__init__.py 里导出 agent,adk web 会自动扫到并加载。真正上线时别拿 adk web 顶,官方明说它只用于开发调试,生产走 agents-cli 标准部署,或者打成容器丢到 Cloud Run / GKE,也可以直接用 Google 托管的 Agent Runtime。
会话和状态是 ADK 里最容易被低估的部分:Session 自动记录每一轮事件,adk run --save_session 能把上下文存下来接着聊,回放和状态检查也都在 adk web 里直接点。评估同样不靠人肉截图,adk eval 配测试用例能直接跑在 CI 里,官方还提供用户模拟(user simulation),让模型自己造对话当回归用例。
实话
- code-first 的另一面是没有开箱即用的后台、权限体系和多人协作,前端和管理面得自己搭。只想拖拽快速验证的话,Dify、Flowise 那条路顺手得多。
- 文档默认站在 Google Cloud 的立场上写,想纯本地部署或接国产模型,得自己拿 LiteLLM、Ollama 当路由,实际配置量比宣传的多。
- 生态还年轻:第三方教程、现成组件比 LangGraph 少一截,文档全英文且改版频繁,中文资料跟不上版本号,翻到旧接口的坑得自己踩。
- 什么时候选它很具体:团队是写代码的、已经或打算上 GCP、需要 MCP / A2A 互操作、要评估与可观测这一整套。四条凑不齐两条,就别为了”谷歌出品”硬上。