本页目录9
- Agent SDK 是一个库,让你在自己的 Python/TypeScript 进程中运行与 Claude Code 相同的 agent 循环、工具和上下文管理,而不是自己实现工具循环
- 与 Client SDK(直接调 API、自己实现工具循环)、Claude Code CLI(终端交互开发)、Managed Agents(Anthropic 托管的长时/异步 agent REST API)是四个不同定位的产品,需按需选型
- SDK 目前仅提供 Python 和 TypeScript 库;其他语言可通过 `-p` 标志加 `--output-format json` 将 CLI 作为子进程调用来驱动同样的 agent 循环
- 内置能力包括:内置工具(读写编辑文件、执行命令、网页搜索)、Hooks、Subagents、MCP、权限控制、Sessions(会话续接/分叉)、Skills/Commands/Memory(自动从项目 `.claude/` 和 `~/.claude/` 加载)、Plugins
- 除非事先获得批准,Anthropic 不允许第三方开发者在基于 Agent SDK 构建的产品中提供 claude.ai 登录或使用其速率限制,应使用 API key 鉴权
- 品牌使用有严格限制:允许使用「Claude Agent」「{YourAgentName} Powered by Claude」等表述,禁止使用「Claude Code」或模仿 Claude Code 的 ASCII 艺术/视觉元素
本文是对 Claude Agent SDK 官方文档某页的中文整理,完整与最新内容以原文为准:https://code.claude.com/docs/en/agent-sdk/overview
什么是 Agent SDK
Agent(智能体)是一种通过自主规划步骤、调用工具(读文件、执行命令、编辑代码)来完成任务的应用。Agent SDK 提供了与 Claude Code 同款的工具集、agent loop(智能体循环)和上下文管理能力,可在 Python 和 TypeScript 中编程使用。
Agent SDK 与其他 Claude 工具的对比
Agent SDK、CLI、Client SDK 和 Managed Agents 分别适用于不同场景,可参照下表选择适合自己需求的方案。
| 如果你正在... | 使用 | 原因 |
|---|---|---|
| 构建 agent,但不想自己实现工具循环(tool loop) | Agent SDK | 一个库,在你自己的进程中(Python 或 TypeScript)运行 agent 循环。 |
| 在终端中做交互式开发,或运行一次性任务 | Claude Code CLI | 面向日常交互式使用的终端界面。 |
| 直接调用 API,并自己实现工具循环 | Client SDK | 直接访问 Anthropic API,而非访问 Claude Code;工具循环需要自己实现。 |
| 运行长时间运行或异步的 agent,且不想自己管理沙箱或会话基础设施 | Managed Agents | 托管式 REST API,是与 Agent SDK 不同的独立产品。由 Anthropic 负责运行 agent 与沙箱。 |
SDK 目前仅以库的形式提供给 Python 和 TypeScript。如果要用其他语言驱动同样的 agent 循环,可以将 CLI 作为子进程运行,使用 -p 标志并加上 --output-format json。
能力一览
Claude Code 的强大能力在 SDK 中同样可用。
| 能力 | 作用 | 了解更多 |
|---|---|---|
| 内置工具(Built-in tools) | 读取、写入、编辑文件,执行命令,进行网页搜索 | 工具参考 |
| Hooks | 在 agent 生命周期的关键节点运行自定义代码 | Hooks |
| Subagents(子智能体) | 为聚焦的子任务派生专用 agent | Subagents |
| MCP | 通过 Model Context Protocol 连接外部工具和数据源 | MCP |
| Permissions(权限) | 控制哪些工具自动执行、哪些需要审批 | Permissions |
| Sessions(会话) | 在多轮交互间维持上下文,可续接或分叉(fork)会话 | Sessions |
| Skills、commands 与 memory | 自动从项目的 .claude/ 目录以及 ~/.claude/ 加载,与 Claude Code 行为一致 | Skills、Commands、Memory、Configuration loading |
| Plugins(插件) | 打包 skills、agents、hooks 和 MCP servers,并通过本地路径加载 | Plugins |
快速开始
按照 Quickstart 指引安装 SDK、设置 API key,并构建你的第一个 agent —— 一个用于查找并修复现有代码中 bug 的 agent。
提示:除非事先获得批准,Anthropic 不允许第三方开发者在其产品(包括基于 Claude Agent SDK 构建的 agent)中提供 claude.ai 登录方式或使用其速率限制。请改用 Quickstart 中描述的 API key 鉴权方式。
更新日志(Changelog)
查看完整的 SDK 更新日志(更新内容、bug 修复、新特性):
- TypeScript SDK:查看 CHANGELOG.md
- Python SDK:查看 CHANGELOG.md
报告 Bug
如果在使用 Agent SDK 时遇到 bug 或问题:
- TypeScript SDK:在 GitHub 上报告 issue
- Python SDK:在 GitHub 上报告 issue
品牌使用指南(Branding guidelines)
对于集成 Claude Agent SDK 的合作伙伴,使用 Claude 品牌是可选的。在产品中引用 Claude 时:
允许(Allowed):
- 「Claude Agent」,在下拉菜单中优先使用此表述
- 「Claude」,当已处于名为「Agents」的菜单内时
- 「{YourAgentName} Powered by Claude」,如果你已有自己的 agent 名称
不允许(Not permitted):
- 「Claude Code」或「Claude Code Agent」
- 模仿 Claude Code 的品牌 ASCII 艺术或视觉元素
你的产品应保持自身品牌,不应看起来像 Claude Code 或任何 Anthropic 产品。关于品牌合规问题,请联系 Anthropic 销售团队。
许可与条款(License and terms)
Claude Agent SDK 的使用受 Anthropic 商业服务条款(Commercial Terms of Service) 约束,包括你使用它为自己的客户和终端用户提供产品与服务的情形;但特定组件或依赖项若在其自身 LICENSE 文件中另有说明的许可协议,则以该说明为准。
下一步
以下资源提供更深入的技术细节以及构建 Agent SDK 应用的示例项目:
- Quickstart:构建你的第一个用于查找并修复 bug 的 agent
- Agent loop:Claude 如何规划、调用工具并判断任务何时完成
- Example agents:用于本地开发的示例应用
- TypeScript SDK:完整的 TypeScript API 参考与示例
- Python SDK:完整的 Python API 参考与示例
- Agent harness design:Claude Code 团队如何使用动态工作流在规模化场景下编排子智能体