什么是 Agent 开发套件(Agent Development Kit)?

Agent 开发套件(Agent Development Kit)是一类软件框架,用可复用接口和运行时服务支持 AI Agent 的定义、执行、观测、评估与部署。

工作原理

定义层与运行时层

定义层描述 Agent 名称、指令、模型接口、工具、输出契约和可选子 Agent;运行时层负责 Turn、工具调用循环、事件交付、状态持久化、取消、限制、中断、恢复与终态。两层应保持分离,使 Agent 定义可以通过 Fake Model 评测,运行时也能独立于模型指令强制执行策略。

Agent 与确定性工作流

只有下一步确实开放且模型判断具有价值时才使用 Agent;步骤、分支或完成规则已知时,应使用普通代码或工作流图。优秀 ADK 应能组合两类节点,而不是强迫所有流程都由 LLM 决策。多 Agent、记忆和规划只是可选能力,不能证明应用一定需要它们。

选型与可移植性契约

应比较消息与事件 schema、同步和流式 API、工具语义、状态作用域、Checkpoint 兼容性、人工中断、可观测性、评估、部署目标、语言支持和版本策略。所谓供应商中立接口仍可能泄漏推理块、严格工具 schema、多模态部件、服务端工具和结束原因等能力。应用应保留一层自有薄边界,并用录制 Fixture 验证迁移,不能假设无缝替换。

安全与生产责任

ADK 可以提供 Guardrail、Callback、审批和 Trace,但不能替应用决定授权,也不能让外部副作用自动幂等。工具白名单、资源级权限、参数校验、预算、截止时间、审计记录和审批必须由应用代码执行。逻辑进度通过 Checkpoint 保存,结果未知的外部写入需要对账;每次发布还要固定框架、模型适配器、提示词、工具 schema 和评估集版本。

主要特点

  • 定义 Agent、模型、工具、消息、事件和输出接口
  • 通过有界 Turn 处理取消、流式、错误与终态
  • 可提供 Session State、Memory、Artifact、Checkpoint 与恢复
  • 组合模型驱动 Agent、确定性工作流和人工输入
  • 通过 Callback 或 Middleware 接入追踪、评估和策略钩子
  • 把业务授权、副作用安全和发布责任保留给应用

常见用途

  1. 构建具有类型化消息与输出契约的有界工具型助手
  2. 把模型决策与确定性工作流、审批节点组合
  3. 通过 Checkpoint 持久化和恢复长时间运行任务
  4. 统一团队的模型适配器、工具、Session、Event 与遥测
  5. 使用 Fixture 测试 Agent 运行时,再受控发布到生产

示例

loading...
Loading code...

常见问题

Agent Development Kit 是标准还是具体产品?

它既是框架类别,也出现在 Google ADK、Eino ADK 等具体产品名中。不存在通用 ADK 接口,每个套件都有自己的 Agent 生命周期、状态、事件、工具、Checkpoint 和部署模型。讨论行为时必须说明具体实现和版本。

好的 ADK 应该把什么显式化?

它应暴露模型与工具契约、状态作用域、事件和流式语义、限制、错误、终态、中断、审批、Checkpoint 与恢复、遥测和评估。隐藏重试、隐式修改上下文或副作用语义不清,会让 Agent 难以复现和治理。

什么时候应该使用 ADK 工作流,而不是 Agent?

如果顺序、分支、策略或完成条件能够用代码表达,就应使用确定性工作流节点;只有开放式判断具有可测价值时才交给模型驱动 Agent。生产应用通常组合两者,并把授权和不可逆副作用排除在模型自由裁量之外。

使用 ADK 是否意味着 Agent 已经生产就绪?

不是。框架可以提供运行原语,但数据治理、资源授权、工具校验、幂等、结果对账、评估阈值、监控、故障响应和回滚仍由应用负责。内置 Guardrail 是有价值的控制,却不是安全证明。

团队应该怎样比较 Agent 开发套件?

用相同代表性工作流和故障样本实现候选方案,比较生命周期清晰度、能力匹配、可移植性、状态与 Checkpoint、流式正确性、可观测性、安全钩子、可测试性、部署责任、升级策略、延迟和单次验收结果成本,而不是比较功能数量。

相关术语

相关文章