这三类 SDK 都能帮助开发者组织模型、工具和多步任务,但默认抽象不同。Claude Agent SDK 适合围绕 Claude Code 的工具与执行循环构建应用;OpenAI Agents SDK 提供 Agent、运行器、工具、交接和防护等编程原语;Google ADK 适合在其代理、会话和工作流体系中组合应用。应先用任务与部署约束缩小范围,再比较具体语言版本。

本文在 LearnAgent 原文基础上修订,资料核验于 2026-10-03。这里比较 SDK 的接口与采用条件,没有进行三家模型的性能实测。

先对齐三个决策层

层次 需要回答的问题 不宜直接推断的结论
模型与服务 需要哪些模型、地区与账户,工具能力是否可用 同一 SDK 支持某 provider,不代表全部模型特性一致
编排与运行 谁管理工具循环、会话、交接和恢复 提供 Runner,不等于替你部署了持久服务
应用治理 谁负责身份、权限、隔离、预算与审计 有 guardrail 或 sandbox 字样,不等于业务已安全

如果任务只是一次模型调用加少量固定步骤,直接使用模型 API 也应作为基线。只有工具循环、交接、状态或可观测性确实节省工程工作时,才有必要引入更完整的 SDK。

Claude Agent SDK

Python SDK 的核心使用方式包括 query、ClaudeAgentOptions 和 ClaudeSDKClient。应按所选版本配置实际工具名、权限方式与异步消息流,而不是套用一个通用 Agent/Tool 工厂的想象接口。Python SDK 文档

适合优先评估的场景是:需要代码、文件、命令等现成工具循环,希望复用 Claude Code 的行为与权限配置,并接受其运行时和服务约束。代价是必须理解 SDK 包、底层运行时和模型服务各自的要求;不能只比较 Python 包的 API 数量。

Python wrapper 的 MIT 许可与 Claude Code binary、模型服务的商业条款属于不同层次。采用前应同时核对 wrapper 许可证、运行时分发方式和实际服务条款,不能把 wrapper 开源简化成整套服务没有商业限制。wrapper 许可证、SDK 总览

OpenAI Agents SDK

Python 安装包名为 openai-agents,导入命名空间是 agents。同步脚本与异步应用的入口不同:Runner.run_sync 和需要 await 的 Runner.run 不可混用。真实项目应从固定版本的 quickstart 开始,而不是把缺少异步入口的片段当完整程序。Python SDK

它也有 TypeScript SDK,并提供接入其他模型 provider 的方式,因此“只能用 OpenAI”或“没有 TypeScript”都不适合作为淘汰理由。模型适配后仍需检查工具调用、结构化输出、usage、追踪和错误处理是否满足需求。TypeScript SDK、模型接入

Guardrail 必须按 SDK 的函数签名返回相应结果并在 Agent 上注册。若业务要求校验通过前不产生工具副作用,就要选择阻塞校验方式并在应用层控制敏感动作;一个关键词判断既不是可靠内容分类器,也不能取代授权。Guardrails

它适合希望自己控制工具与业务编排、在代码中显式建立交接和验证逻辑的团队。开发者仍需负责执行环境、存储、权限及服务运维。

Google ADK

ADK 把 Agent、Runner、session service 与事件流联系起来。使用 Runner 时,需要创建正确的应用与会话上下文,传入用户/会话标识和消息内容,再消费事件;省略这些步骤的几行代码不能直接代表完整运行流程。Runner 实现与接口

ADK 不仅有 Python,也有其他语言实现,包括 TypeScript;功能和成熟度应按具体 SDK 核对。它以代码配置为主,也有实验性 YAML Agent Config,不能绝对描述为“只能写代码”。LLM Agent 文档、Agent Config

已有 Google 生态、会话管理或相关部署需求的团队可以优先评估,但这些是工作流适配优势,不能推出在所有任务上成本更低或可靠性更高。

如何做同口径试用

选一个包含“读取资料、调用受限工具、生成结果、人工确认”的任务。为每个候选使用相同输入、验收要求和预算,并记录:

  • 完成任务需要自己编写多少业务与基础设施代码
  • 一次中断后能否恢复,工具写入是否会重复
  • 无效参数、无权限和外部故障如何暴露给应用
  • 审批能否在副作用发生前执行,凭据如何隔离
  • 模型更换后需要改哪些代码,哪些能力不再可用
  • 实际模型和工具用量,以及人工排错时间

不要用官方 quickstart 的行数推导工程总成本。本文删除了原先无法直接运行或包名错误的示例;上线前应固定 SDK 版本,保存完整程序和依赖锁,运行最小成功、拒绝、超时与恢复用例。上述链接可能随主线更新,历史项目升级时要同时阅读版本说明。

选择建议

需要 Claude Code 工具循环时先试 Claude Agent SDK;需要在代码里自由组合工具、交接与模型接口时先试 OpenAI Agents SDK;已经采用 ADK 相关生态或需要它的会话与工作流抽象时先试 ADK。多语言需求先核对目标语言的具体能力,不依据“唯一支持某语言”的旧描述决定。

这些是起始候选建议。最终结论应来自同一任务的可复查结果,而不是供应商名称或框架宣传。