什么是 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 接入追踪、评估和策略钩子
- 把业务授权、副作用安全和发布责任保留给应用
常见用途
- 构建具有类型化消息与输出契约的有界工具型助手
- 把模型决策与确定性工作流、审批节点组合
- 通过 Checkpoint 持久化和恢复长时间运行任务
- 统一团队的模型适配器、工具、Session、Event 与遥测
- 使用 Fixture 测试 Agent 运行时,再受控发布到生产
示例
Loading code...常见问题
Agent Development Kit 是标准还是具体产品?
它既是框架类别,也出现在 Google ADK、Eino ADK 等具体产品名中。不存在通用 ADK 接口,每个套件都有自己的 Agent 生命周期、状态、事件、工具、Checkpoint 和部署模型。讨论行为时必须说明具体实现和版本。
好的 ADK 应该把什么显式化?
它应暴露模型与工具契约、状态作用域、事件和流式语义、限制、错误、终态、中断、审批、Checkpoint 与恢复、遥测和评估。隐藏重试、隐式修改上下文或副作用语义不清,会让 Agent 难以复现和治理。
什么时候应该使用 ADK 工作流,而不是 Agent?
如果顺序、分支、策略或完成条件能够用代码表达,就应使用确定性工作流节点;只有开放式判断具有可测价值时才交给模型驱动 Agent。生产应用通常组合两者,并把授权和不可逆副作用排除在模型自由裁量之外。
使用 ADK 是否意味着 Agent 已经生产就绪?
不是。框架可以提供运行原语,但数据治理、资源授权、工具校验、幂等、结果对账、评估阈值、监控、故障响应和回滚仍由应用负责。内置 Guardrail 是有价值的控制,却不是安全证明。
团队应该怎样比较 Agent 开发套件?
用相同代表性工作流和故障样本实现候选方案,比较生命周期清晰度、能力匹配、可移植性、状态与 Checkpoint、流式正确性、可观测性、安全钩子、可测试性、部署责任、升级策略、延迟和单次验收结果成本,而不是比较功能数量。