- 开发方
- 谷歌(Google)
是什么
Agent Development Kit(ADK)是一个开源的、以代码为先的 Python 框架,用来构建、评估和部署 AI 智能体(agent)[1]。它采用 Apache-2.0 许可,撰写本文时仓库列出 22.1k stars 和 4.3k forks [1]。所谓「以代码为先」,是说智能体的结构写在普通源码里,而不是写在配置文件或可视化搭建工具里:一个智能体就是你写的一个类,可以像其他代码一样被导入、测试和提交。它的 Python 包名为 `google-adk`,用 `pip install google-adk` 安装,要求 Python 3.11 或更新版本,发布节奏大约每两周一次 [1]。
两个类:Agent 和 Workflow
智能体由两个类来定义,即 Agent 和 Workflow;Workflow 通过边把各个智能体连接起来,这些边从 START 出发 [1]。START 节点就是整张图的入口:从它出发的边决定哪个智能体先运行,其后的边决定接下来运行什么。连接关系是写下来的,而不是靠提示词暗示的,因此一个多智能体程序的结构可以直接从代码里读出来。
工作流运行时
底层是一套基于图的工作流运行时,提供路由(routing)、扇出与扇入(fan-out、fan-in)、循环(loops)、重试(retries)、状态管理(state management)、动态节点(dynamic nodes)以及人工介入环节(human-in-the-loop)[1]。这些能力对应的都是智能体不再只是一个对话循环之后才出现的控制流需求:
- 路由按目前得到的判断,把工作送进某一条分支。
- 扇出同时启动多条分支,扇入则等它们全部结束再把结果合并起来。
- 循环让某一步重复执行到满足条件为止;重试用来重新执行因临时原因失败的一步。
- 状态管理在各步之间传递数据,后跑的智能体因此能看到前面几步的发现。
- 动态节点是那些在写图的时候还没有确定身份的节点,图可以在运行过程中继续生长。
- 人工介入环节会暂停运行,等人批准或补充信息之后再继续。
这些东西由运行时本身提供,而不是写在外围的临时代码里,一群智能体才更像一个控制流可预期的程序。
任务与委派
另有一套 Task API 负责智能体之间的委派(delegation),支持多轮任务模式,并允许把任务型智能体当作工作流节点来用 [1]。委派指的是一方把某块工作交给另一方,再拿回结果;多轮模式让这次交换跨越若干个回合,而不是一次请求一次回应;把任务型智能体当作节点,意味着这种委派可以和其他普通智能体一起摆进同一张图里。
模型、部署与其他语言
ADK 针对 Gemini 做了优化,但被描述为模型无关、部署无关,并且能与其他框架配合使用 [1]。模型无关,是说智能体背后用哪个模型是一个选择,而不是写死的假设;部署无关,是说代码不把你绑在某个运行时上。在运行智能体方面,它给出了两条路径:可以容器化部署到 Cloud Run,也可以用 Vertex AI Agent Engine 做扩缩容 [1]。框架还移植到了 Java、Kotlin、Go 和 TypeScript [1],不用 Python 的团队也能沿用同一套智能体与工作流的模型。
处在什么位置
智能体框架之间的差别,很大程度上在于它们把什么当作工作单位:一段提示词、一段对话,还是一个程序。ADK 取的是第三种。它使用的词汇——图、边、状态、重试、人工审批环节、委派、容器部署——基本是普通分布式软件的词汇,只是用在了智能体身上。这种取向对一个要把智能体从演示推进到需要长期运行和维护的人来说很关键,因为真正会遇到的问题往往不是措辞,而是某一步失败之后怎么办、需要谁来签字、以及这个东西最终跑在哪里。
开发方1
注释与来源
- google/adk-pythonhttps://github.com/google/adk-python
引用本页: Agent Development Kit(ADK). TellWorld, https://www.tellworld.net/zh/products/google-adk. 更新于 2026-11-08