Claude Agent SDK 入门:是什么、怎么装、第一个智能体(Python / TypeScript)

Claude Agent SDK(原 Claude Code SDK)是把 Claude Code 的工具和智能体循环做成的 Python / TypeScript 库。本文讲它和其他方式的区别、安装认证,并跑通一个自己读代码修 bug 的智能体。

NNathaniel bigo··原创首发·AI 辅助撰写
9 分钟读完
资料核对于 2026-10-07 · 依据官方文档与公开资料整理 其他 账号
本文根据 Claude Code 官方文档的 Agent SDK 部分整理,核对日期 2026-10-07。示例代码基于官方快速开始改写。

适用于谁

  • 想在自己的 Python / Node.js 程序里,嵌入一个能自己读文件、改代码、跑命令的 AI 智能体的开发者;
  • 搜「claude agent sdk 教程」「claude code sdk 是什么」「agent sdk python 使用」的人;
  • 用过旧的 Claude Code SDK、需要迁移的人。

结论先说

  1. Claude Agent SDK = 把 Claude Code 当成一个库来用:它提供和 Claude Code 相同的内置工具(读写文件、执行命令、网页搜索)、智能体循环、上下文管理,以及权限、会话、Hooks、子代理、MCP、技能、插件,可以用 Python 或 TypeScript 编程控制。
  2. 它就是以前的 Claude Code SDK,已经改名:npm 包 @anthropic-ai/claude-code → @anthropic-ai/claude-agent-sdk,Python 包 claude-code-sdk → claude-agent-sdk。
  3. 要求 Node.js 18+ 或 Python 3.10+;SDK 包自带 Claude Code 原生程序,大多数情况下不用另装 Claude Code。
  4. 认证用 Claude Console 的 API Key(ANTHROPIC_API_KEY),也支持 Bedrock、Vertex 等云平台。官方明确:未经许可,第三方开发者不得在自己的产品里提供 claude.ai 登录或使用订阅的额度。
  5. 和直接调 API 的区别:用 Client SDK 你要自己写工具和循环;用 Agent SDK,Claude 直接执行内置工具,你只需要消费它输出的消息流。

一、几种「用代码调 Claude」的方式怎么选

你想要用什么特点
在自己的应用里嵌入 Claude Code 那样的智能体,跑在你自己运营的进程里Agent SDK内置工具、权限、会话、Hooks 都有
在终端里交互式开发、跑一次性任务Claude Code 命令行日常交互使用
从代码直接调用 Claude APIClient SDK(anthropic 包)工具循环自己写,或用 tool runner
让 Anthropic 托管智能体Managed Agents在托管沙箱或自建沙箱里运行

想用 Python / TypeScript 之外的语言驱动同样的智能体循环,官方建议以子进程方式运行 claude -p --output-format json,详见本站《Claude Code headless 模式:用 claude -p 写脚本和自动化》。

二、安装

Python(pip):

bash
mkdir my-agent && cd my-agent
python3 -m venv .venv
source .venv/bin/activate          # Windows: .venv\Scripts\Activate.ps1
pip install claude-agent-sdk

(也可以用 uv:uv init 后 uv add claude-agent-sdk。)

TypeScript:

bash
mkdir my-agent && cd my-agent
npm init -y
npm pkg set type=module
npm install @anthropic-ai/claude-agent-sdk
npm install --save-dev tsx

官方注意事项:SDK 通过平台对应的包自带 Claude Code 程序。如果 pip 装的是源码包而不是平台 wheel(比如 ARM64 Windows),或者 npm 安装时跳过了可选依赖(如 npm ci --omit=optional),就没有自带程序,需要另外原生安装 Claude Code。

三、设置 API Key

bash
export ANTHROPIC_API_KEY=你的API Key           # macOS / Linux
$env:ANTHROPIC_API_KEY = "你的API Key"         # Windows PowerShell

SDK 不会自动读取 .env 文件,用 .env 的话要自己先加载(比如用 dotenv)。API Key 的获取详见本站《Claude API Key 怎么获取:Claude Console 创建密钥、充值与用量查看》。

四、第一个智能体:自己找 bug、自己修

先准备一个有 bug 的文件 utils.py(官方示例):

python
def calculate_average(numbers):
    total = 0
    for num in numbers:
        total += num
    return total / len(numbers)

def get_user_name(user):
    return user["name"].upper()

它有两个问题:空列表会除以零;传入 None 会报 TypeError。

新建 agent.py:

python
import asyncio
from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ResultMessage

async def main():
    async for message in query(
        prompt="检查 utils.py 里会导致崩溃的 bug,并把它们修好。",
        options=ClaudeAgentOptions(
            allowed_tools=["Read", "Edit", "Glob"],   # 这些工具自动批准
            permission_mode="acceptEdits",            # 自动接受改文件
        ),
    ):
        if isinstance(message, AssistantMessage):
            for block in message.content:
                if hasattr(block, "text"):
                    print(block.text)                 # Claude 的说明
                elif hasattr(block, "name"):
                    print(f"调用工具:{block.name}")
        elif isinstance(message, ResultMessage):
            print(f"完成:{message.subtype}")

asyncio.run(main())

运行 python agent.py。它会打印自己的思路和每次调用的工具,最后输出 完成:success。再打开 utils.py,会看到已经加上了处理空列表和空用户的防御代码——整个过程 Claude 自己读文件、分析、改文件,你没有写任何工具实现。

TypeScript 版本(agent.ts,用 npx tsx agent.ts 运行):

typescript
import { query } from "@anthropic-ai/claude-agent-sdk";

for await (const message of query({
  prompt: "检查 utils.py 里会导致崩溃的 bug,并把它们修好。",
  options: {
    allowedTools: ["Read", "Edit", "Glob"],
    permissionMode: "acceptEdits",
  },
})) {
  if (message.type === "assistant" && message.message?.content) {
    for (const block of message.message.content) {
      if ("text" in block) console.log(block.text);
      else if ("name" in block) console.log(`调用工具:${block.name}`);
    }
  } else if (message.type === "result") {
    console.log(`完成:${message.subtype}`);
  }
}

代码的三个部分:

  • query:主入口,创建智能体循环,返回一个异步迭代器,Claude 思考、调用工具、观察结果的过程会逐条流出来;
  • prompt:你要它做的事,它自己决定用哪些工具;
  • options:配置,如允许的工具、权限模式、系统提示词、MCP 服务器等。

五、常用配置

给它更多能力:

允许的工具智能体能做什么
Read、Glob、Grep只读分析
Read、Edit、Glob分析并修改代码
Read、Edit、Bash、Glob、Grep完全自动化(能执行命令)

加上 WebSearch 就能联网搜索;加上 Bash 后可以试试「给 utils.py 写单元测试、运行并修复失败」。

自定义系统提示词:

python
options = ClaudeAgentOptions(
    allowed_tools=["Read", "Edit", "Glob"],
    permission_mode="acceptEdits",
    system_prompt="你是一名资深 Python 开发者,始终遵循 PEP 8 规范。",
)

权限:权限模式(如 acceptEdits、plan、dontAsk 等)和 allow / deny 规则一起按固定顺序判定,规则和 Claude Code 一致,详见官方 Agent SDK 的 Permissions 页。给智能体执行命令的权限时要谨慎,生产环境建议在容器等隔离环境中运行(官方有专门的 Hosting 和安全部署文档)。

会话、Hooks、子代理、MCP:SDK 都支持,并且默认会像 Claude Code 一样加载项目 .claude/ 和 ~/.claude/ 里的技能、命令和记忆。

六、从 Claude Code SDK 迁移

旧新
npm 包@anthropic-ai/claude-code@anthropic-ai/claude-agent-sdk
Python 包claude-code-sdkclaude-agent-sdk

步骤:卸载旧包、安装新包、把 import 改成新包名。官方提醒 v0.1.0 起有一些不兼容改动,例如 Python 的 ClaudeCodeOptions 改名为 ClaudeAgentOptions,迁移前请看官方迁移指南的 Breaking changes 一节。

七、品牌与条款(做产品时注意)

  • Agent SDK 的使用受 Anthropic《商业服务条款》约束,包括你用它给自己客户提供产品和服务时;
  • 你的产品可以叫「Claude Agent」或「XX Powered by Claude」,但不能叫「Claude Code」,也不能模仿 Claude Code 的视觉元素,产品要保持自己的品牌。

常见问题

Q:报「Not logged in」或「Invalid API key」?

确认在运行智能体的那个终端里设置了 ANTHROPIC_API_KEY;SDK 不会自动读 .env。

Q:能用我的 Claude Pro / Max 订阅额度跑 SDK 吗?

官方说明未经事先批准,第三方开发者不得在其产品中提供 claude.ai 登录或订阅额度,SDK 应使用 API Key 认证。

Q:Agent SDK 和 Tool Use 有什么区别?

Tool Use 是 API 层面的能力,工具要你自己实现和执行;Agent SDK 内置了一整套工具和循环,开箱即用。详见本站《Claude Tool Use(工具调用 / Function Calling)入门:定义工具与返回 tool_result》。

Q:有完整的示例项目吗?

官方 GitHub 仓库 anthropics/claude-agent-sdk-demos 提供了邮件助手、研究助手等示例。

参考资料

  • Agent SDK overview(官方):https://code.claude.com/docs/en/agent-sdk/overview
  • Agent SDK Quickstart(官方):https://code.claude.com/docs/en/agent-sdk/quickstart
  • Migrate to Claude Agent SDK(官方):https://code.claude.com/docs/en/agent-sdk/migration-guide
  • Agent SDK Permissions(官方):https://code.claude.com/docs/en/agent-sdk/permissions
  • 示例项目(官方 GitHub):https://github.com/anthropics/claude-agent-sdk-demos
需要开通或续费?Claude Pro 充值 →

Nathaniel 的更多内容

  1. 01

    用 AI 写简历与模拟面试:对照岗位改简历、STAR 法整理经历、语音模拟面试的流程

    AI 写简历、AI 模拟面试怎么做才有用?给出五步流程:整理经历素材库、对照岗位描述找差距、用 STAR 法改写要点、生成针对性的面试题、用语音模式做模拟面试并复盘;附可复制提示词,并提醒不能让 AI 编造经历、简历上的个人信息怎么保护。

    ChatGPTClaude0
  2. 02

    通义万相怎么用:万相 3.0 生视频与生图入口、灵感值和官方提示词公式

    通义万相怎么用、万相 3.0 在哪生成视频?本文按万相官网和阿里云百炼的官方提示词指南讲清入口、创作框里的几种模式、灵感值与会员的区别,以及文生视频、图生视频、带声音、多镜头和文生图各自的提示词公式。

    通义千问0
  3. 03

    DeepSeek API Key怎么获取:申请、充值、余额查询与泄漏处理

    DeepSeek API Key 在哪里申请、要不要实名、怎么充值和查余额、Key 泄漏了怎么办?本文按官方开放平台文档和常见问题,一步步讲清从创建 Key 到看用量、开发票、退款的完整流程。

    其他 AI 工具0
  4. 04

    Claude Code VS Code 插件使用教程:安装、登录与常用操作

    在 VS Code(及 Cursor 等)里用 Claude Code:扩展安装、登录、@ 引用文件和选中代码、审阅改动、切换模型与权限模式、快捷键、和命令行版的区别,以及图标不见、没反应等常见问题。

    Claude0
  5. 05

    腾讯元宝怎么用:网页版入口、电脑版下载、登录方式与常用功能上手

    腾讯元宝怎么用、网页版入口在哪、电脑版怎么装?本文按元宝官网和 App Store 官方页面讲清三种登录方式、网页版界面、搜索问答、读文档、拍题、录音转写、图片视频创作等功能从哪开始,以及模式选择的注意点。

    其他 AI 工具0
  6. 06

    ChatGPT Atlas 浏览器停用了:还能下载吗、数据怎么迁移、现在用什么替代

    ChatGPT Atlas 浏览器已于 2026 年 8 月 9 日停止运行。本文按官方帮助中心讲清 Atlas 为什么停用、书签和历史记录能否迁移、怎么把书签导入 Chrome,以及现在要用 AI 浏览网页该选新版桌面 App 内置浏览器、云端浏览器还是 Chrome 扩展。

    ChatGPT0

同产品的其他教程

  1. 01

    Claude 提示词缓存(Prompt Caching)入门:缓存时间、价格倍率与命中率

    Claude API 的提示词缓存能把重复的长前缀(系统提示、工具定义、长文档、对话历史)缓存起来,读缓存只收少量费用。本文讲自动缓存与断点写法、5 分钟和 1 小时两种时长、价格倍率、最短长度、怎么看命中率以及命中率低的原因。

    Claude0
  2. 02

    长文档怎么问 AI:资料放前面、问题放最后、先引用再回答(官方长文本提示词技巧)

    把几十页的报告、合同丢给 AI,为什么总是答得笼统或漏掉重点?本文整理 Anthropic、Google、OpenAI 官方文档里针对长文本的提示词建议:资料与问题的摆放顺序、多份文档怎么用标签区分、先摘录原文再作答,并给出可照抄的模板。

    ClaudeGemini0
  3. 03

    Claude Tool Use(工具调用 / Function Calling)入门:定义工具与返回 tool_result

    Claude API 工具调用(Function Calling)入门:工具定义三要素、tool_use / tool_result 往返循环、Python 完整示例、is_error、tool runner、服务器工具,以及常见报错原因。

    Claude0
  4. 04

    SKILL.md 怎么写:格式规范、frontmatter 字段与范例(按 Agent Skills 官方规范)

    SKILL.md 是什么格式、怎么写?按 agentskills.io 官方规范讲清 frontmatter 的六个字段、name 与 description 的硬性限制、正文该写什么不该写什么,附一份可以照着改的范例和校验命令。

    Claude其他 AI 工具0
  5. 05

    Claude Connectors(连接器)怎么用:连接 Google Drive、Gmail 等与推荐

    Claude 连接器(Connectors)是什么、在哪里找目录、怎么连接 Google Drive / Gmail / 日历、怎么控制权限,以及和插件、技能的区别。

    Claude0
  6. 06

    Claude 桌面版下载安装(Windows / Mac):功能与设置中文界面

    Claude 桌面版去哪下载、系统要求、Windows / Mac / Linux 怎么装,界面能不能改中文,以及快速唤起、桌面扩展、Cowork 等桌面版独有功能。

    Claude0

0 条评论

登录 后参与评论

还没有评论,来抢沙发~