10 概述10 概述
11</h2>11</h2>
12 12
13Claude Code SDK 已重新命名為 **Claude Agent SDK**,其文檔已重新組織。此變更反映了該 SDK 在構建超越編碼任務的 AI 代理方面的更廣泛功能。13Claude Code SDK 已重新命名為 **Claude Agent SDK**,其文件已重新組織。此變更反映了該 SDK 在建構 AI 代理程式方面的更廣泛功能,不僅限於編碼任務。
14
15從 OpenAI Agents SDK 遷移?[OpenAI Agents SDK 遷移配方](https://platform.claude.com/cookbook/claude-agent-sdk-04-migrating-from-openai-agents-sdk)透過單一實作範例將每個原始元素對應到 Claude Agent SDK。
14 16
15<h2 id="what’s-changed">17<h2 id="what’s-changed">
16 變更內容18 有什麼改變
17</h2>19</h2>
18 20
19| 方面 | 舊版 | 新版 |21| 方面 | 舊版 | 新版 |
20| :--------------- | :-------------------------- | :------------------------------- |22| :--------------- | :-------------------------- | :------------------------------------------------------------- |
21| **套件名稱 (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |23| **套件名稱 (TS/JS)** | `@anthropic-ai/claude-code` | `@anthropic-ai/claude-agent-sdk` |
22| **Python 套件** | `claude-code-sdk` | `claude-agent-sdk` |24| **Python 套件** | `claude-code-sdk` | `claude-agent-sdk` |
23| **文檔位置** | Claude Code 文檔 | API 指南 → Agent SDK 部分 |25| **文件位置** | Claude Code 文件 | Claude Code 文件 → 專用的 [Agent SDK](/docs/zh-TW/agent-sdk/overview) 部分 |
24
25<Note>
26 **文檔變更:** Agent SDK 文檔已從 Claude Code 文檔移至 API 指南下的專用 [Agent SDK](/zh-TW/agent-sdk/overview) 部分。Claude Code 文檔現在專注於 CLI 工具和自動化功能。
27</Note>
28 26
29<h2 id="migration-steps">27<h2 id="migration-steps">
30 遷移步驟28 遷移步驟
34 針對 TypeScript/JavaScript 專案32 針對 TypeScript/JavaScript 專案
35</h3>33</h3>
36 34
37**1. 卸載舊套件:**35**1. 解除安裝舊套件:**
38 36
39```bash theme={null}37```bash theme={null}
40npm uninstall @anthropic-ai/claude-code38npm uninstall @anthropic-ai/claude-code
58import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";56import { query, tool, createSdkMcpServer } from "@anthropic-ai/claude-agent-sdk";
59```57```
60 58
61**4. 更新 package.json 依賴項:**59**4. 更新 package.json:**
62
63如果您在 `package.json` 中列出了該套件,請更新它:
64
65之前:
66
67```json theme={null}
68{
69 "dependencies": {
70 "@anthropic-ai/claude-code": "^0.0.42"
71 }
72}
73```
74
75之後:
76 60
77```json theme={null}61如果 `@anthropic-ai/claude-code` 仍列在您的 `package.json` 中,請將其替換為 `@anthropic-ai/claude-agent-sdk` 並同時更新版本範圍,例如從 `"^0.0.42"` 更新為 `"^0.3.0"`。
78{
79 "dependencies": {
80 "@anthropic-ai/claude-agent-sdk": "^0.2.0"
81 }
82}
83```
84 62
85**5. 檢查[重大變更](#breaking-changes)**63**5. 檢閱[重大變更](#breaking-changes)**
86 64
87進行完成遷移所需的任何代碼變更。65進行任何必要的程式碼變更以完成遷移。
88 66
89<h3 id="for-python-projects">67<h3 id="for-python-projects">
90 針對 Python 專案68 針對 Python 專案
91</h3>69</h3>
92 70
93**1. 卸載舊套件:**71**1. 解除安裝舊套件:**
94 72
95```bash theme={null}73```bash theme={null}
96pip uninstall claude-code-sdk74pip uninstall -y claude-code-sdk
97```75```
98 76
77如果舊套件未安裝,pip 會列印 `WARNING: Skipping claude-code-sdk as it is not installed.` 這是預期的行為,您可以繼續進行下一步。
78
99**2. 安裝新套件:**79**2. 安裝新套件:**
100 80
101```bash theme={null}81```bash theme={null}
102pip install claude-agent-sdk82pip install claude-agent-sdk
103```83```
104 84
85如果 `claude-code-sdk` 列在您的 `requirements.txt` 或 `pyproject.toml` 中,請將其替換為 `claude-agent-sdk`。
86
105**3. 更新您的匯入:**87**3. 更新您的匯入:**
106 88
107將所有匯入從 `claude_code_sdk` 變更為 `claude_agent_sdk`:89將所有匯入從 `claude_code_sdk` 變更為 `claude_agent_sdk`:
114from claude_agent_sdk import query, ClaudeAgentOptions96from claude_agent_sdk import query, ClaudeAgentOptions
115```97```
116 98
117**4. 更新類型名稱:**99**4. 檢閱[重大變更](#breaking-changes)**
118
119將 `ClaudeCodeOptions` 變更為 `ClaudeAgentOptions`:
120 100
121```python theme={null}101進行任何必要的程式碼變更以完成遷移。
122# 之前
123from claude_code_sdk import query, ClaudeCodeOptions
124
125options = ClaudeCodeOptions(model="claude-opus-4-7")
126
127# 之後
128from claude_agent_sdk import query, ClaudeAgentOptions
129
130options = ClaudeAgentOptions(model="claude-opus-4-7")
131```
132
133**5. 檢查[重大變更](#breaking-changes)**
134
135進行完成遷移所需的任何代碼變更。
136 102
137<h2 id="breaking-changes">103<h2 id="breaking-changes">
138 重大變更104 破壞性變更
139</h2>105</h2>
140 106
141<Warning>107<Warning>
142 為了改進隔離和明確配置,Claude Agent SDK v0.1.0 為從 Claude Code SDK 遷移的用戶引入了重大變更。在遷移前請仔細檢查本部分。108 為了改進隔離和明確的設定,Claude Agent SDK v0.1.0 為從 Claude Code SDK 遷移的使用者引入了破壞性變更。
143</Warning>109</Warning>
144 110
145<h3 id="python-claudecodeoptions-renamed-to-claudeagentoptions">111<h3 id="python-claudecodeoptions-renamed-to-claudeagentoptions">
151**遷移:**117**遷移:**
152 118
153```python theme={null}119```python theme={null}
154# 之前 (claude-code-sdk)120# BEFORE (claude-code-sdk)
155from claude_code_sdk import query, ClaudeCodeOptions121from claude_code_sdk import query, ClaudeCodeOptions
156 122
157options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")123options = ClaudeCodeOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
158 124
159# 之後 (claude-agent-sdk)125# AFTER (claude-agent-sdk)
160from claude_agent_sdk import query, ClaudeAgentOptions126from claude_agent_sdk import query, ClaudeAgentOptions
161 127
162options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")128options = ClaudeAgentOptions(model="claude-opus-4-7", permission_mode="acceptEdits")
163```129```
164 130
165**為什麼變更:** 類型名稱現在與「Claude Agent SDK」品牌相符,並在 SDK 的命名約定中提供一致性。
166
167<h3 id="system-prompt-no-longer-default">131<h3 id="system-prompt-no-longer-default">
168 系統提示不再是預設值132 系統提示詞不再為預設值
169</h3>133</h3>
170 134
171**變更內容:** SDK 不再預設使用 Claude Code 的系統提示。135**變更內容:** SDK 不再預設使用 Claude Code 的系統提示詞。
172 136
173**遷移:**137**遷移:**
174 138
176 ```typescript TypeScript theme={null}140 ```typescript TypeScript theme={null}
177 import { query } from "@anthropic-ai/claude-agent-sdk";141 import { query } from "@anthropic-ai/claude-agent-sdk";
178 142
179 // 之前 (v0.0.x) - 預設使用 Claude Code 的系統提示143 // BEFORE (v0.0.x) - 預設使用 Claude Code 的系統提示詞
180 const before = query({ prompt: "Hello" });144 const before = query({ prompt: "Hello" });
181 145
182 // 之後 (v0.1.0) - 預設使用最小系統提示146 // AFTER (v0.1.0) - 預設使用最小系統提示詞
183 // 要獲得舊行為,明確請求 Claude Code 的預設值:147 // 若要取得舊版行為,請明確要求 Claude Code 的預設值:
184 const presetResult = query({148 const presetResult = query({
185 prompt: "Hello",149 prompt: "Hello",
186 options: {150 options: {
188 }152 }
189 });153 });
190 154
191 // 或使用自訂系統提示:155 // 或使用自訂系統提示詞:
192 const customResult = query({156 const customResult = query({
193 prompt: "Hello",157 prompt: "Hello",
194 options: {158 options: {
198 ```162 ```
199 163
200 ```python Python theme={null}164 ```python Python theme={null}
201 # 之前 (v0.0.x) - 預設使用 Claude Code 的系統提示165 from claude_agent_sdk import query, ClaudeAgentOptions
166 import asyncio
167
168
169 async def main():
170 # BEFORE (v0.0.x) - 預設使用 Claude Code 的系統提示詞
202 async for message in query(prompt="Hello"):171 async for message in query(prompt="Hello"):
203 print(message)172 print(message)
204 173
205 # 之後 (v0.1.0) - 預設使用最小系統提示174 # AFTER (v0.1.0) - 預設使用最小系統提示詞
206 # 要獲得舊行為,明確請求 Claude Code 的預設值:175 # 若要取得舊版行為,請明確要求 Claude Code 的預設值:
207 from claude_agent_sdk import query, ClaudeAgentOptions
208
209 async for message in query(176 async for message in query(
210 prompt="Hello",177 prompt="Hello",
211 options=ClaudeAgentOptions(178 options=ClaudeAgentOptions(
214 ):181 ):
215 print(message)182 print(message)
216 183
217 # 或使用自訂系統提示:184 # 或使用自訂系統提示詞:
218 async for message in query(185 async for message in query(
219 prompt="Hello",186 prompt="Hello",
220 options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),187 options=ClaudeAgentOptions(system_prompt="You are a helpful coding assistant"),
221 ):188 ):
222 print(message)189 print(message)
190
191
192 asyncio.run(main())
223 ```193 ```
224</CodeGroup>194</CodeGroup>
225 195
226**為什麼變更:** 為 SDK 應用程式提供更好的控制和隔離。您現在可以構建具有自訂行為的代理,而無需繼承 Claude Code 的 CLI 焦點指令。
227
228<h3 id="settings-sources-default">196<h3 id="settings-sources-default">
229 設定來源預設值197 設定來源預設值
230</h3>198</h3>
231 199
232此預設值在 v0.1.0 中曾短暫變更,然後被還原,因此無需進行遷移操作。200此預設值在 v0.1.0 中曾短暫變更為不載入任何檔案系統設定,隨後已還原,因此不需要進行遷移操作。
233
234**目前行為:** 在 `query()` 上省略 `settingSources` 會載入用戶、專案和本地檔案系統設定,與 CLI 相符。這包括 `~/.claude/settings.json`、`.claude/settings.json`、`.claude/settings.local.json`、CLAUDE.md 檔案和自訂命令。
235
236要從檔案系統設定中隔離運行,請傳遞空陣列:
237
238<CodeGroup>
239 ```typescript TypeScript theme={null}
240 import { query } from "@anthropic-ai/claude-agent-sdk";
241
242 const isolatedResult = query({
243 prompt: "Hello",
244 options: {
245 settingSources: [] // 未載入檔案系統設定
246 }
247 });
248 201
249 // 或僅載入特定來源:202**目前行為:** 在 `query()` 上省略 `settingSources` 會載入使用者、專案和本機檔案系統設定,與 CLI 相符。這包括 `~/.claude/settings.json`、`.claude/settings.json`、`.claude/settings.local.json`、CLAUDE.md 檔案和自訂命令。
250 const projectOnlyResult = query({
251 prompt: "Hello",
252 options: {
253 settingSources: ["project"] // 僅專案設定
254 }
255 });
256 ```
257 203
258 ```python Python theme={null}204若要隔離檔案系統設定執行,請傳遞 `settingSources: []`,或在 Python 中傳遞 `setting_sources=[]`。請參閱[使用 settingSources 控制檔案系統設定](/docs/zh-TW/agent-sdk/claude-code-features#control-filesystem-settings-with-settingsources)以了解每個來源載入的內容。
259 from claude_agent_sdk import query, ClaudeAgentOptions
260 205
261 async for message in query(206隔離對於 CI/CD 管道、已部署的應用程式、測試環境和多租戶系統特別重要,其中本機自訂設定不應洩漏。
262 prompt="Hello",
263 options=ClaudeAgentOptions(setting_sources=[]), # 未載入檔案系統設定
264 ):
265 print(message)
266
267 # 或僅載入特定來源:
268 async for message in query(
269 prompt="Hello",
270 options=ClaudeAgentOptions(
271 setting_sources=["project"] # 僅專案設定
272 ),
273 ):
274 print(message)
275 ```
276</CodeGroup>
277
278隔離對於 CI/CD 管道、已部署的應用程式、測試環境和多租戶系統特別重要,其中本地自訂不應洩露。
279 207
280<Note>208<Note>
281 SDK v0.1.0 曾短暫預設為未載入任何設定;這在後續版本中被還原。Python SDK 0.1.59 及更早版本將空清單視為與省略選項相同,因此在依賴 `setting_sources=[]` 之前請升級。請參閱 [settingSources 不控制的內容](/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control) 以了解即使 `settingSources` 為 `[]` 時也會讀取的輸入。209 Python SDK 0.1.59 及更早版本將空清單視為與省略選項相同,因此請在依賴 `setting_sources=[]` 之前升級。請參閱 [settingSources 不控制的內容](/docs/zh-TW/agent-sdk/claude-code-features#what-settingsources-does-not-control)以了解即使 `settingSources` 為 `[]` 時仍會讀取的輸入。
282</Note>210</Note>
283 211
284<h2 id="why-the-rename">
285 為什麼重新命名?
286</h2>
287
288Claude Code SDK 最初是為編碼任務設計的,但它已發展成為構建所有類型 AI 代理的強大框架。新名稱「Claude Agent SDK」更好地反映了其功能:
289
290* 構建業務代理(法律助手、財務顧問、客戶支援)
291* 建立專門的編碼代理(SRE 機器人、安全審查員、代碼審查代理)
292* 為任何領域開發自訂代理,具有工具使用、MCP 整合等功能
293
294<h2 id="getting-help">
295 獲取幫助
296</h2>
297
298如果您在遷移過程中遇到任何問題:
299
300**針對 TypeScript/JavaScript:**
301
3021. 檢查所有匯入是否已更新為使用 `@anthropic-ai/claude-agent-sdk`
3032. 驗證您的 package.json 具有新套件名稱
3043. 執行 `npm install` 以確保依賴項已更新
305
306**針對 Python:**
307
3081. 檢查所有匯入是否已更新為使用 `claude_agent_sdk`
3092. 驗證您的 requirements.txt 或 pyproject.toml 具有新套件名稱
3103. 執行 `pip install claude-agent-sdk` 以確保套件已安裝
311
312<h2 id="next-steps">212<h2 id="next-steps">
313 後續步驟213 後續步驟
314</h2>214</h2>
315 215
316* 探索 [Agent SDK 概述](/zh-TW/agent-sdk/overview) 以了解可用功能216* 探索 [Agent SDK 概述](/docs/zh-TW/agent-sdk/overview) 以了解可用的功能
317* 查看 [TypeScript SDK 參考](/zh-TW/agent-sdk/typescript) 以取得詳細的 API 文檔217* 查看 [TypeScript SDK 參考](/docs/zh-TW/agent-sdk/typescript) 以取得詳細的 API 文件
318* 檢查 [Python SDK 參考](/zh-TW/agent-sdk/python) 以取得 Python 特定文檔218* 檢閱 [Python SDK 參考](/docs/zh-TW/agent-sdk/python) 以取得 Python 特定的文件
319* 了解 [自訂工具](/zh-TW/agent-sdk/custom-tools) 和 [MCP 整合](/zh-TW/agent-sdk/mcp)219* 了解 [Custom Tools](/docs/zh-TW/agent-sdk/custom-tools) 和 [MCP Integration](/docs/zh-TW/agent-sdk/mcp)