- Authors

- Name
- Youngju Kim
- @fjvbn20031
为什么值得关注 ADK
截至 2026 年 4 月 12 日,Google Agent Development Kit(即 ADK)之所以引人注目,原因很简单:它不是一个只把模型调用薄薄包一层的 wrapper,而是被定位为一个用于构建、调试、部署可信 AI 智能体的开源框架。而且它支持 Python、TypeScript、Go、Java 四种语言。
当团队越过演示阶段、开始打造真正的产品时,这个组合就变得重要。轻量级 wrapper 对小规模 PoC 来说已经够用,但一旦需要稳定的对话上下文、可观测性、多智能体协调,以及生产上线,局限很快就会暴露出来。
ADK 之所以有意思,是因为它相对清晰地提供了运营所需的组成部分。
- 用于上下文管理的
Session、State、Memory - 在 model 或 tool 执行前后运行的 callbacks
- 顺序流水线(sequential pipeline)、parallel fan-out and gather、coordinator 型路由这类多智能体模式
- 可以根据现有服务技术栈来挑选的语言选项
如果你的团队正在为真实产品评估框架,这些差异就很重要。
轻量级 wrapper 已经够用的情况
如果任务范围很窄,更简单的抽象现在依然可能是正确选择。
如果接近以下条件,轻量级结构就足够了。
- 功能只是单轮聊天机器人或分类器级别
- 工具只有一两个
- 上下文不需要在长 session 中持续保留
- 靠应用日志就足以完成调试
- 不需要多智能体 handoff 或专家角色分工
到这个程度,更小的分层构建起来更快,也更容易解释。
反过来,一旦 wrapper 实际上开始膨胀成一个隐藏的框架,ADK 就更有吸引力了。如果你正在一层薄薄的 API 之上重新搭建 session logic、ad hoc memory、tracing hook、routing rule、workflow orchestration,ADK 会更直接地提供这些原语(primitive)。
Session、State、Memory
选择 ADK 最实用的理由,是它的上下文管理不是临场发挥的。
Session
Session 是当前对话的活跃容器。它把当前的交互固定住,让智能体在不丢失上下文的情况下延续对话。
State
State 是在工作流执行过程中变化的工作数据。它适合存放进度、中间决策、抽取出的字段,以及你不想再塞回 prompt 里的、需要在步骤之间传递的值。
Memory
Memory 用于需要更长期保留的记忆。当你想留住用户偏好、profile 级别的信息,或跨多个 session 的既往决策时,它会很有用。
实务上重要的一点是职责分离。ADK 让你不必把所有上下文都糅进 prompt 文本里。团队可以更明确地决定,什么放进 Session、什么放进 State、什么作为 Memory 留下来。
这种结构在以下三方面有帮助。
- 减少 prompt 膨胀
- 让调试更容易
- 让数据保留与产品行为更容易解释
也就是说,比起单纯的 prompt-plus-tools wrapper,ADK 对上下文的思维模型更清晰。
面向 control 与 observability 的 callbacks
ADK 可以在 model 执行前后、tool 执行前后设置 callbacks。从运营角度看,这是一个非常有用的功能。
实际上可以用它来做这些事。
- 留下结构化的 trace
- 测量 latency 与 token usage
- 在敏感的 tool call 之前强制执行策略
- 对输入输出做归一化或 redaction
- 提前拦截危险的 action
- 强化审计日志
在这一点上,ADK 更接近 application framework,而不只是一个 prompt 助手。用了 callbacks,就可以把校验、埋点、审批逻辑加进去,而不必把它们散落在代码各处。
如果你的团队重视可靠性,要问的问题不是「有 callbacks 会不会更好」,而是「没有 callbacks 能不能安全运营」。
多智能体组合模式
很多时候,用一个智能体处理所有事情已经不再是最佳结构。这种时候,ADK 就显示出优势。
文档中支持的多智能体设计包括以下几种。
- 顺序流水线(sequential pipeline)
- parallel fan-out and gather
- 转交给 specialist 的 coordinator 型路由
这些模式和实际工作契合得很好。
顺序流水线
当前一步的结果是下一步的输入时,这个模式很好用。比如调研步骤的结果可以传给分析步骤,分析结果又可以接着传给撰写步骤。对顺序明确的任务来说,这是最干净的选择。
parallel fan-out and gather
当几个彼此独立的子任务可以同时运行时,这个模式更有优势。比如一个智能体收集事实,另一个智能体核查策略,还有一个智能体准备摘要。coordinator 负责等待并合并所有结果。
coordinator routing
如果需要在运行时动态决定该选哪个 specialist,coordinator 型路由就合适。当任务范围很广、且专业分工明确时,它比单一的通用型智能体更好。
实务上的规则很简单:不要因为多智能体看起来很酷就先用它,而要在任务分解真正能改善质量、延迟、可维护性时再用。
上线检查清单
在把 ADK 投入生产之前,最好确认以下事项。
- 从一个真实的工作流开始,而不是整个平台。
- 选择与已有运营服务相匹配的语言。
- 确定哪些内容放进
Session、State、Memory。 - 从第一天起就加入用于 tracing、审批、安全性检查的 callbacks。
- 区分允许使用的 tool、需要拦截的 tool、需要审查的 tool。
- 为 model 失败和 tool 失败设计 fallback 路径。
- 在上线前后测量 latency、成本、成功率。
- 如果没有明确需要多智能体,第一版就保持 single-agent。
- 为路由、state 转换、tool-call 行为添加测试。
- 系统上线后,确定日志、审计、incident response 的负责人。
这份检查清单正体现了 ADK 的价值。在把原型转变为可运营系统的那个环节,它是最有用的框架。
ADK 更合适的情况
如果基本符合以下条件,ADK 就值得优先考虑。
- 需要一个开源框架,且明确面向生产
- 需要显式的管理方式,而不是把上下文硬塞进 prompt
- observability 和 control 与 raw model quality 同样重要
- 工作流很可能会发展成多智能体编排
- 需要在 Python、TypeScript、Go、Java 中找到匹配现有技术栈的路径
如果你只需要一个包住模型调用的薄 wrapper,ADK 可能会显得过重。但如果你要打造的是一个必须能自信地完成调试、governance、部署的智能体产品,那么在 2026 年,它是一个很值得评估的选项。