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 學習路線:零基礎從哪開始,6 個階段、每階段該讀哪幾篇教學(2026)

    AI 學習路線怎麼走?給零基礎的人一條循序漸進的路徑:先選一個助手用順,再學提問,再用進日常工作,按需學做圖做影片,守住私隱與版權,最後進階自動化和編程。每個階段都配了本站對應的教學。

    其他 AI 工具0
  2. 02

    AI 瀏覽器有哪些:Perplexity Comet、Opera Neon、Dia、Brave Leo 與 Edge Copilot 的官方說法對照

    AI 瀏覽器有哪些?按官方頁面整理 Perplexity Comet、Opera Neon、Dia、Brave Leo 和 Edge 裏的 Copilot:官方自述的定位、支持的平台、免費還是訂閱,以及 Gemini、Claude 的 Chrome 方案和已停用的 ChatGPT Atlas。

    其他 AI 工具0
  3. 03

    即夢國際版 Dreamina 是什麼:官方站入口、能生成什麼、免費積分和模型(2026)

    即夢國際版 Dreamina 是什麼?官方站是 dreamina.capcut.com,是一個圖片、影片和數字人一體的 AI 創作平台。按官方首頁和 FAQ 講:能生成什麼、免費用戶每天 120 積分、列出的 Seedance 與 Seedream 模型,以及和國內即夢怎麼區分。

    其他 AI 工具0
  4. 04

    Kimi K3 Coding Plan 是什麼、怎麼用:Kimi Code 會員、模型 ID、套餐價格和額度規則

    Kimi K3 Coding Plan 是什麼?按 Kimi 官方文檔核對:官方現在叫 Kimi Code,是 Kimi 會員權益裏的編程服務,Plus 及以上才有;講 K3 等模型 ID、國內新套餐價格、三種客戶端、第三方工具接入和額度規則。

    Kimi0
  5. 05

    DeepSeek V4 Pro 和 Flash 的區別與 API 價格:官方價格頁逐項對照(高峰與空閒時段)

    DeepSeek V4 Pro 和 Flash 有什麼區別、API 怎麼收費?按 DeepSeek 官方價格頁(2026-10-19 查詢)列出兩個模型的版本、上下文、圖像理解、並發和每百萬 token 價格,說明高峰與空閒時段的計費差別和舊模型名怎麼處理。

    其他 AI 工具0
  6. 06

    GPT-6 Pro(Astra)怎麼用、哪些套餐有:怎麼選到 Pro 檔、用量限制和 Pro 三檔價格

    GPT-6 Pro(Astra)怎麼用、哪些套餐有?按 OpenAI 幫助中心核對:聊天裏 Pro 檔給 Pro 100、Pro 200、Business 和 Enterprise;Plus 在 Work 和 Codex 裏含 Astra。講怎麼選到、用量上限和官方 Pro 價格。

    ChatGPT0

同產品的其他教學

  1. 01

    Claude Pro 和 Max 的區別:用量、價格、Fable 模型和每月 API 額度怎麼選

    Claude Pro 和 Max 有什麼區別?按官方定價頁和幫助中心核對:Max 有 5x、20x 兩檔用量,Pro 與 Max 在價格、Fable 模型、每月 API 額度和計費週期上的差別,以及什麼情況下 Pro 夠用、什麼情況下該升 Max。

    Claude0
  2. 02

    Claude 登入不了、用不了、打不開怎麼辦:按官方幫助中心逐條排查

    Claude 無法登入、無法使用、無法打開怎麼辦?按官方幫助中心的順序排查:收不到登入電郵、登入報錯、Google 登入出問題、系統繁忙、額度用完、官方故障,以及所在地區是否在官方支持名單裏。

    Claude0
  3. 03

    Claude 怎麼註冊:官方註冊流程、手機驗證要求,以及提示無法註冊時官方怎麼說

    Claude 怎麼註冊?打開 claude.ai,用 Google 或電郵登入連結創建帳號,再用支持地區的手機號收短訊驗證碼。講清官方的註冊條件、手機驗證的限制,以及收不到驗證碼、號碼被用過多次時官方的處理辦法。

    Claude0
  4. 04

    Claude 怎麼用:新手入門,從打開聊天到寫出第一個好問題

    Claude 怎麼用?按官方幫助中心整理的新手路徑:在網頁、桌面版或手機 App 打開聊天,像對同事一樣寫需求,用輸入框的「+」和「/」找功能,點模型名換模型,免費版有每 5 小時重置的上限。

    Claude0
  5. 05

    Claude 怎麼設定成中文:介面語言、回答語言和語音語言分別怎麼設

    Claude 怎麼設定中文?官方幫助中心列出的 11 種介面語言裏目前沒有中文,但 Claude 會用你提問的語言回答,直接用中文問即可;想固定用中文,可在設定的 Instructions for Claude 裏寫一句。語音模式的語言要單獨選。

    Claude0
  6. 06

    MCP Inspector 怎麼用:安裝、啟動命令、調試 MCP 伺服器與 v2 的變化

    MCP Inspector 是什麼、怎麼安裝和使用?按 MCP 官方文檔講清網頁、命令行、終端介面三種模式的啟動命令,怎麼連本地和遠程伺服器、怎麼傳環境變量,密鑰存在哪,以及 v2 相比舊教學在端口、令牌變量名和 Node 版本上的變化。

    Claude其他 AI 工具0

0 條評論

登入 後參與評論

還沒有評論,來搶沙發~