142. 創建一個包含一些有缺陷代碼的文件142. 創建一個包含一些有缺陷代碼的文件
153. 運行一個代理,自動查找並修復錯誤153. 運行一個代理,自動查找並修復錯誤
16 16
17<h2 id="prerequisites">17## 先決條件
18 先決條件
19</h2>
20 18
21* **Node.js 18+** 或 **Python 3.10+**19* **Node.js 18+** 或 **Python 3.10+**
22* 一個 **Anthropic 帳戶**。如果您還沒有帳戶,[在此註冊](https://platform.claude.com/)。20* 一個 **Anthropic 帳戶**。如果您還沒有帳戶,[在此註冊](https://platform.claude.com/)。
23 21
24<h2 id="setup">22## 設定
25 設定
26</h2>
27
28<Steps>
29 <Step title="建立專案資料夾">
30 為此快速入門建立新目錄:
31 23
32 ```bash theme={null}24**1. 建立專案資料夾**
33 mkdir my-agent
34 cd my-agent
35 ```
36
37 對於您自己的專案,您可以從任何資料夾執行 SDK;預設情況下,它將能夠存取該目錄及其子目錄中的檔案。
38 </Step>
39
40 <Step title="安裝 SDK">
41 為您的語言安裝 Agent SDK 套件:
42 25
43 <Tabs>26為此快速入門建立新目錄:
44 <Tab title="TypeScript (新專案)">
45 ```bash theme={null}
46 npm init -y
47 npm pkg set type=module
48 npm install @anthropic-ai/claude-agent-sdk
49 npm install --save-dev tsx
50 ```
51 27
52 在 `package.json` 中設定 `"type": "module"` 可讓您的代理程式指令碼使用頂層 `await`,而 [tsx](https://tsx.hirok.io) 可直接執行 TypeScript 檔案。npm 在安裝成功時會列印 `added N packages`。28```bash theme={null}
53 </Tab>29mkdir my-agent
30cd my-agent
31```
32
33對於您自己的專案,您可以從任何資料夾執行 SDK;預設情況下,它將能夠存取該目錄及其子目錄中的檔案。
34
35**2. 安裝 SDK**
36
37為您的語言安裝 Agent SDK 套件:
38
39**TypeScript (新專案)**
54 40
55 <Tab title="TypeScript (現有專案)">41```bash theme={null}
56 ```bash theme={null}42npm init -y
57 npm install @anthropic-ai/claude-agent-sdk43npm pkg set type=module
58 npm install --save-dev tsx44npm install @anthropic-ai/claude-agent-sdk
59 ```45npm install --save-dev tsx
46```
47
48在 `package.json` 中設定 `"type": "module"` 可讓您的代理程式指令碼使用頂層 `await`,而 [tsx](https://tsx.hirok.io) 可直接執行 TypeScript 檔案。npm 在安裝成功時會列印 `added N packages`。
49
50**TypeScript (現有專案)**
51
52```bash theme={null}
53npm install @anthropic-ai/claude-agent-sdk
54npm install --save-dev tsx
55```
60 56
61 [tsx](https://tsx.hirok.io) 可直接執行 TypeScript 檔案。如果您的專案使用 CommonJS,請將代理程式指令碼命名為 `agent.mts` 而不是 `agent.ts`。`.mts` 副檔名使 tsx 將檔案視為 ES 模組,因此頂層 `await` 可以正常運作,無需將整個專案轉換為 ES 模組。在本快速入門稍後的建立和執行步驟中,使用 `agent.mts` 代替 `agent.ts`。57[tsx](https://tsx.hirok.io) 可直接執行 TypeScript 檔案。如果您的專案使用 CommonJS,請將代理程式指令碼命名為 `agent.mts` 而不是 `agent.ts`。`.mts` 副檔名使 tsx 將檔案視為 ES 模組,因此頂層 `await` 可以正常運作,無需將整個專案轉換為 ES 模組。在本快速入門稍後的建立和執行步驟中,使用 `agent.mts` 代替 `agent.ts`。
62 </Tab>58
59**Python (uv)**
60
61[安裝 uv](https://docs.astral.sh/uv/),一個快速的 Python 套件管理器,可自動處理虛擬環境。然後初始化專案並新增 SDK:
62
63```bash theme={null}
64uv init
65uv add claude-agent-sdk
66```
67
68**Python (pip)**
69
70建立並啟動虛擬環境,然後安裝套件。
71
72在 macOS 或 Linux 上:
73
74```bash theme={null}
75python3 -m venv .venv
76source .venv/bin/activate
77pip install claude-agent-sdk
78```
63 79
64 <Tab title="Python (uv)">80在 Windows 上:
65 [安裝 uv](https://docs.astral.sh/uv/),一個快速的 Python 套件管理器,可自動處理虛擬環境。然後初始化專案並新增 SDK:
66 81
67 ```bash theme={null}82```powershell theme={null}
68 uv init83py -m venv .venv
69 uv add claude-agent-sdk84.venv\Scripts\Activate.ps1
70 ```85pip install claude-agent-sdk
71 </Tab>86```
72 87
73 <Tab title="Python (pip)">88如果 PowerShell 因執行原則錯誤而阻止 `Activate.ps1`,請先執行 `Set-ExecutionPolicy -Scope Process RemoteSigned`。
74 建立並啟動虛擬環境,然後安裝套件。
75 89
76 在 macOS 或 Linux 上:90> [!NOTE]
91>
92> TypeScript 和 Python SDK 都包含原生 Claude Code 二進位檔,因此大多數安裝不需要單獨安裝 Claude Code。某些安裝沒有包含的二進位檔:
93>
94> * 如果 pip 安裝 Python SDK 的原始碼發行版而不是平台 wheel(例如在 ARM64 Windows 上),則不會包含二進位檔。[原生安裝 Claude Code](/docs/zh-TW/setup#install-claude-code)。Python SDK 會在您的 `PATH` 上找到它。
95> * TypeScript SDK 通過 npm 可選相依性安裝其二進位檔,因此跳過它們的安裝(例如 `npm ci --omit=optional`)即使在支援的平台上也不會獲得二進位檔。重新安裝而不跳過可選相依性,或[原生安裝 Claude Code](/docs/zh-TW/setup#install-claude-code) 並將 `pathToClaudeCodeExecutable` 設定為其路徑。
77 96
78 ```bash theme={null}97**3. 設定您的 API 金鑰**
79 python3 -m venv .venv
80 source .venv/bin/activate
81 pip install claude-agent-sdk
82 ```
83 98
84 在 Windows 上:99從 [Claude 主控台](https://platform.claude.com/) 取得 API 金鑰,然後在您將執行代理程式的 shell 中將其設定為環境變數:
85 100
86 ```powershell theme={null}101**macOS / Linux**
87 py -m venv .venv
88 .venv\Scripts\Activate.ps1
89 pip install claude-agent-sdk
90 ```
91 102
92 如果 PowerShell 因執行原則錯誤而阻止 `Activate.ps1`,請先執行 `Set-ExecutionPolicy -Scope Process RemoteSigned`。103```bash theme={null}
93 </Tab>104export ANTHROPIC_API_KEY=your-api-key
94 </Tabs>105```
95 106
96 <Note>107**Windows (PowerShell)**
97 TypeScript 和 Python SDK 都包含原生 Claude Code 二進位檔,因此大多數安裝不需要單獨安裝 Claude Code。某些安裝沒有包含的二進位檔:
98 108
99 * 如果 pip 安裝 Python SDK 的原始碼發行版而不是平台 wheel(例如在 ARM64 Windows 上),則不會包含二進位檔。[原生安裝 Claude Code](/docs/zh-TW/setup#install-claude-code)。Python SDK 會在您的 `PATH` 上找到它。109```powershell theme={null}
100 * TypeScript SDK 通過 npm 可選相依性安裝其二進位檔,因此跳過它們的安裝(例如 `npm ci --omit=optional`)即使在支援的平台上也不會獲得二進位檔。重新安裝而不跳過可選相依性,或[原生安裝 Claude Code](/docs/zh-TW/setup#install-claude-code) 並將 `pathToClaudeCodeExecutable` 設定為其路徑。110$env:ANTHROPIC_API_KEY = "your-api-key"
101 </Note>111```
102 </Step>
103 112
104 <Step title="設定您的 API 金鑰">113SDK 從執行您的代理程式的程序環境中讀取金鑰;它不會自動載入 `.env` 檔案。如果您將金鑰保存在 `.env` 檔案中,請自行載入它,例如使用 `dotenv` 套件,然後再呼叫 SDK。
105 從 [Claude 主控台](https://platform.claude.com/) 取得 API 金鑰,然後在您將執行代理程式的 shell 中將其設定為環境變數:
106 114
107 <Tabs>115SDK 也支援透過第三方 API 提供者進行驗證:
108 <Tab title="macOS / Linux">
109 ```bash theme={null}
110 export ANTHROPIC_API_KEY=your-api-key
111 ```
112 </Tab>
113 116
114 <Tab title="Windows (PowerShell)">117* **Amazon Bedrock**:設定 `CLAUDE_CODE_USE_BEDROCK=1` 環境變數並設定 AWS 認證
115 ```powershell theme={null}118* **AWS 上的 Claude Platform**:設定 `CLAUDE_CODE_USE_ANTHROPIC_AWS=1` 和 `ANTHROPIC_AWS_WORKSPACE_ID`,然後設定 AWS 認證
116 $env:ANTHROPIC_API_KEY = "your-api-key"119* **Google Cloud 的 Agent Platform**:設定 `CLAUDE_CODE_USE_VERTEX=1` 環境變數並設定 Google Cloud 認證
117 ```120* **Microsoft Foundry**:設定 `CLAUDE_CODE_USE_FOUNDRY=1` 環境變數並設定 Azure 認證
118 </Tab>
119 </Tabs>
120 121
121 SDK 從執行您的代理程式的程序環境中讀取金鑰;它不會自動載入 `.env` 檔案。如果您將金鑰保存在 `.env` 檔案中,請自行載入它,例如使用 `dotenv` 套件,然後再呼叫 SDK。122如需詳細資訊,請參閱 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 的設定指南。
122 123
123 SDK 也支援透過第三方 API 提供者進行驗證:124> [!NOTE]
124 125>
125 * **Amazon Bedrock**:設定 `CLAUDE_CODE_USE_BEDROCK=1` 環境變數並設定 AWS 認證126> 除非事先獲得批准,否則 Anthropic 不允許第三方開發人員為其產品(包括基於 Claude Agent SDK 建立的 agent)提供 claude.ai 登入或速率限制。請改用本文件中描述的 API 金鑰驗證方法。
126 * **AWS 上的 Claude Platform**:設定 `CLAUDE_CODE_USE_ANTHROPIC_AWS=1` 和 `ANTHROPIC_AWS_WORKSPACE_ID`,然後設定 AWS 認證
127 * **Google Cloud 的 Agent Platform**:設定 `CLAUDE_CODE_USE_VERTEX=1` 環境變數並設定 Google Cloud 認證
128 * **Microsoft Foundry**:設定 `CLAUDE_CODE_USE_FOUNDRY=1` 環境變數並設定 Azure 認證
129
130 如需詳細資訊,請參閱 [Amazon Bedrock](/docs/zh-TW/amazon-bedrock)、[AWS 上的 Claude Platform](/docs/zh-TW/claude-platform-on-aws)、[Google Cloud 的 Agent Platform](/docs/zh-TW/google-vertex-ai) 或 [Microsoft Foundry](/docs/zh-TW/microsoft-foundry) 的設定指南。
131 127
132 <Note>128## 創建有缺陷的文件
133 除非事先獲得批准,否則 Anthropic 不允許第三方開發人員為其產品(包括基於 Claude Agent SDK 建立的 agent)提供 claude.ai 登入或速率限制。請改用本文件中描述的 API 金鑰驗證方法。
134 </Note>
135 </Step>
136</Steps>
137
138<h2 id="create-a-buggy-file">
139 創建有缺陷的文件
140</h2>
141 129
142此快速開始將引導您構建一個可以查找並修復代碼中的錯誤的代理。首先,您需要一個包含一些故意錯誤的文件供代理修復。在 `my-agent` 目錄中創建 `utils.py` 並粘貼以下代碼:130此快速開始將引導您構建一個可以查找並修復代碼中的錯誤的代理。首先,您需要一個包含一些故意錯誤的文件供代理修復。在 `my-agent` 目錄中創建 `utils.py` 並粘貼以下代碼:
143 131
1581. `calculate_average([])` 因除以零而崩潰1461. `calculate_average([])` 因除以零而崩潰
1592. `get_user_name(None)` 因 TypeError 而崩潰1472. `get_user_name(None)` 因 TypeError 而崩潰
160 148
161<h2 id="build-an-agent-that-finds-and-fixes-bugs">149## 建立一個尋找並修復錯誤的代理
162 建立一個尋找並修復錯誤的代理
163</h2>
164 150
165如果您使用 Python SDK,請建立 `agent.py`;如果使用 TypeScript,請建立 `agent.ts`。如果您現有的專案使用 CommonJS,請改用 `agent.mts`:151如果您使用 Python SDK,請建立 `agent.py`;如果使用 TypeScript,請建立 `agent.ts`。如果您現有的專案使用 CommonJS,請改用 `agent.mts`:
166 152
167<CodeGroup>153```python Python theme={null}
168 ```python Python theme={null}154import asyncio
169 import asyncio155from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ResultMessage
170 from claude_agent_sdk import query, ClaudeAgentOptions, AssistantMessage, ResultMessage
171 156
172 157
173 async def main():158async def main():
174 # Agentic loop: streams messages as Claude works159 # Agentic loop: streams messages as Claude works
175 async for message in query(160 async for message in query(
176 prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",161 prompt="Review utils.py for bugs that would cause crashes. Fix any issues you find.",
190 print(f"Done: {message.subtype}") # Final result175 print(f"Done: {message.subtype}") # Final result
191 176
192 177
193 asyncio.run(main())178asyncio.run(main())
194 ```179```
195 180
196 ```typescript TypeScript theme={null}181```typescript TypeScript theme={null}
197 import { query } from "@anthropic-ai/claude-agent-sdk";182import { query } from "@anthropic-ai/claude-agent-sdk";
198 183
199 // Agentic loop: streams messages as Claude works184// Agentic loop: streams messages as Claude works
200 for await (const message of query({185for await (const message of query({
201 prompt: "Review utils.py for bugs that would cause crashes. Fix any issues you find.",186 prompt: "Review utils.py for bugs that would cause crashes. Fix any issues you find.",
202 options: {187 options: {
203 allowedTools: ["Read", "Edit", "Glob"], // Auto-approve these tools188 allowedTools: ["Read", "Edit", "Glob"], // Auto-approve these tools
204 permissionMode: "acceptEdits" // Auto-approve file edits189 permissionMode: "acceptEdits" // Auto-approve file edits
205 }190 }
206 })) {191})) {
207 // Print human-readable output192 // Print human-readable output
208 if (message.type === "assistant" && message.message?.content) {193 if (message.type === "assistant" && message.message?.content) {
209 for (const block of message.message.content) {194 for (const block of message.message.content) {
216 } else if (message.type === "result") {201 } else if (message.type === "result") {
217 console.log(`Done: ${message.subtype}`); // Final result202 console.log(`Done: ${message.subtype}`); // Final result
218 }203 }
219 }204}
220 ```205```
221</CodeGroup>
222 206
223此程式碼有三個主要部分:207此程式碼有三個主要部分:
224 208
232 216
233迴圈內的訊息處理會篩選出人類可讀的輸出。如果不進行篩選,您會看到原始訊息物件,包括系統初始化和內部狀態,這對除錯很有用,但在其他情況下會很雜亂。217迴圈內的訊息處理會篩選出人類可讀的輸出。如果不進行篩選,您會看到原始訊息物件,包括系統初始化和內部狀態,這對除錯很有用,但在其他情況下會很雜亂。
234 218
235<Note>219> [!NOTE]
236 此範例使用串流來即時顯示進度。如果您不需要即時輸出(例如,用於背景工作或 CI 管道),您可以一次收集所有訊息。如需詳細資訊,請參閱[串流與單回合模式](/docs/zh-TW/agent-sdk/streaming-vs-single-mode)。220>
237</Note>221> 此範例使用串流來即時顯示進度。如果您不需要即時輸出(例如,用於背景工作或 CI 管道),您可以一次收集所有訊息。如需詳細資訊,請參閱[串流與單回合模式](/docs/zh-TW/agent-sdk/streaming-vs-single-mode)。
238 222
239<h3 id="run-your-agent">223### 執行您的代理
240 執行您的代理
241</h3>
242 224
243您的代理已準備好。使用下列命令執行它:225您的代理已準備好。使用下列命令執行它:
244 226
245<Tabs>227**TypeScript**
246 <Tab title="TypeScript">228
247 ```bash theme={null}229```bash theme={null}
248 npx tsx agent.ts230npx tsx agent.ts
249 ```231```
250 232
251 如果您將指令碼命名為 `agent.mts`,請改為執行 `npx tsx agent.mts`。233如果您將指令碼命名為 `agent.mts`,請改為執行 `npx tsx agent.mts`。
252 </Tab>
253 234
254 <Tab title="Python (uv)">235**Python (uv)**
255 ```bash theme={null}236
256 uv run agent.py237```bash theme={null}
257 ```238uv run agent.py
258 </Tab>239```
259 240
260 <Tab title="Python (pip)">241**Python (pip)**
261 在您的虛擬環境仍然啟用的情況下:
262 242
263 ```bash theme={null}243在您的虛擬環境仍然啟用的情況下:
264 python agent.py244
265 ```245```bash theme={null}
266 </Tab>246python agent.py
267</Tabs>247```
268 248
269在執行時,代理會列印其推理和它呼叫的每個工具,最後以 `Done: success` 結束。執行後,檢查 `utils.py`。您會看到防禦性程式碼處理空清單和空值使用者。您的代理自主地:249在執行時,代理會列印其推理和它呼叫的每個工具,最後以 `Done: success` 結束。執行後,檢查 `utils.py`。您會看到防禦性程式碼處理空清單和空值使用者。您的代理自主地:
270 250
274 254
275這就是 Agent SDK 的不同之處:Claude 直接執行工具,而不是要求您實作它們。255這就是 Agent SDK 的不同之處:Claude 直接執行工具,而不是要求您實作它們。
276 256
277<Note>257> [!NOTE]
278 如果您看到驗證錯誤,例如 `Not logged in` 或 `Invalid API key`,請確保您已在執行代理的 shell 中設定 `ANTHROPIC_API_KEY` 環境變數。SDK 不會自動載入 `.env` 檔案。258>
279 259> 如果您看到驗證錯誤,例如 `Not logged in` 或 `Invalid API key`,請確保您已在執行代理的 shell 中設定 `ANTHROPIC_API_KEY` 環境變數。SDK 不會自動載入 `.env` 檔案。
280 如需這些和其他驗證錯誤的原因和修復方法,請參閱錯誤參考中的[驗證錯誤](/docs/zh-TW/errors#authentication-errors)。260>
281</Note>261> 如需這些和其他驗證錯誤的原因和修復方法,請參閱錯誤參考中的[驗證錯誤](/docs/zh-TW/errors#authentication-errors)。
282 262
283<h3 id="try-other-prompts">263### 嘗試其他提示
284 嘗試其他提示
285</h3>
286 264
287現在您的代理已設定好,請嘗試一些不同的提示:265現在您的代理已設定好,請嘗試一些不同的提示:
288 266
290* `"Add type hints to all functions in utils.py"`268* `"Add type hints to all functions in utils.py"`
291* `"Create a README.md documenting the functions in utils.py"`269* `"Create a README.md documenting the functions in utils.py"`
292 270
293<h3 id="customize-your-agent">271### 自訂您的代理
294 自訂您的代理
295</h3>
296 272
297您可以透過變更選項來修改代理的行為。以下是一些範例:273您可以透過變更選項來修改代理的行為。以下是一些範例:
298 274
299**新增網路搜尋功能:**275**新增網路搜尋功能:**
300 276
301<CodeGroup>277```python Python theme={null}
302 ```python Python theme={null}278options = ClaudeAgentOptions(
303 options = ClaudeAgentOptions(
304 allowed_tools=["Read", "Edit", "Glob", "WebSearch"], permission_mode="acceptEdits"279 allowed_tools=["Read", "Edit", "Glob", "WebSearch"], permission_mode="acceptEdits"
305 )280)
306 ```281```
307 282
308 ```typescript TypeScript hidelines={1,-1} theme={null}283```typescript TypeScript hidelines={1,-1} theme={null}
309 const _ = {284const _ = {
310 options: {285 options: {
311 allowedTools: ["Read", "Edit", "Glob", "WebSearch"],286 allowedTools: ["Read", "Edit", "Glob", "WebSearch"],
312 permissionMode: "acceptEdits"287 permissionMode: "acceptEdits"
313 }288 }
314 };289};
315 ```290```
316</CodeGroup>
317 291
318**給 Claude 一個自訂系統提示:**292**給 Claude 一個自訂系統提示:**
319 293
320<CodeGroup>294```python Python theme={null}
321 ```python Python theme={null}295options = ClaudeAgentOptions(
322 options = ClaudeAgentOptions(
323 allowed_tools=["Read", "Edit", "Glob"],296 allowed_tools=["Read", "Edit", "Glob"],
324 permission_mode="acceptEdits",297 permission_mode="acceptEdits",
325 system_prompt="You are a senior Python developer. Always follow PEP 8 style guidelines.",298 system_prompt="You are a senior Python developer. Always follow PEP 8 style guidelines.",
326 )299)
327 ```300```
328 301
329 ```typescript TypeScript hidelines={1,-1} theme={null}302```typescript TypeScript hidelines={1,-1} theme={null}
330 const _ = {303const _ = {
331 options: {304 options: {
332 allowedTools: ["Read", "Edit", "Glob"],305 allowedTools: ["Read", "Edit", "Glob"],
333 permissionMode: "acceptEdits",306 permissionMode: "acceptEdits",
334 systemPrompt: "You are a senior Python developer. Always follow PEP 8 style guidelines."307 systemPrompt: "You are a senior Python developer. Always follow PEP 8 style guidelines."
335 }308 }
336 };309};
337 ```310```
338</CodeGroup>
339 311
340**在終端機中執行命令:**312**在終端機中執行命令:**
341 313
342<CodeGroup>314```python Python theme={null}
343 ```python Python theme={null}315options = ClaudeAgentOptions(
344 options = ClaudeAgentOptions(
345 allowed_tools=["Read", "Edit", "Glob", "Bash"], permission_mode="acceptEdits"316 allowed_tools=["Read", "Edit", "Glob", "Bash"], permission_mode="acceptEdits"
346 )317)
347 ```318```
348 319
349 ```typescript TypeScript hidelines={1,-1} theme={null}320```typescript TypeScript hidelines={1,-1} theme={null}
350 const _ = {321const _ = {
351 options: {322 options: {
352 allowedTools: ["Read", "Edit", "Glob", "Bash"],323 allowedTools: ["Read", "Edit", "Glob", "Bash"],
353 permissionMode: "acceptEdits"324 permissionMode: "acceptEdits"
354 }325 }
355 };326};
356 ```327```
357</CodeGroup>
358 328
359啟用 `Bash` 後,請嘗試:`"Write unit tests for utils.py, run them, and fix any failures"`329啟用 `Bash` 後,請嘗試:`"Write unit tests for utils.py, run them, and fix any failures"`
360 330
361每個這些程式碼片段都會在同一個選項物件上設定欄位。如需更多資訊,請參閱[設定您的代理](/docs/zh-TW/agent-sdk/configuration)。331每個這些程式碼片段都會在同一個選項物件上設定欄位。如需更多資訊,請參閱[設定您的代理](/docs/zh-TW/agent-sdk/configuration)。
362 332
363<h2 id="key-concepts">333## 關鍵概念
364 關鍵概念
365</h2>
366 334
367**工具**控制您的代理可以執行的操作:335**工具**控制您的代理可以執行的操作:
368 336
374 342
375**權限模式**控制您想要多少人工監督。SDK 會按照固定順序評估活躍模式以及您的允許和拒絕規則,詳見[權限如何被評估](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)。如需完整的模式列表、其行為以及何時使用各個模式,請參閱[代理迴圈如何運作中的權限模式](/docs/zh-TW/agent-sdk/agent-loop#permission-mode)。343**權限模式**控制您想要多少人工監督。SDK 會按照固定順序評估活躍模式以及您的允許和拒絕規則,詳見[權限如何被評估](/docs/zh-TW/agent-sdk/permissions#how-permissions-are-evaluated)。如需完整的模式列表、其行為以及何時使用各個模式,請參閱[代理迴圈如何運作中的權限模式](/docs/zh-TW/agent-sdk/agent-loop#permission-mode)。
376 344
377<h2 id="next-steps">345## 後續步驟
378 後續步驟
379</h2>
380 346
381現在您已建立了第一個代理程式,請了解如何擴展其功能並根據您的使用案例進行客製化:347現在您已建立了第一個代理程式,請了解如何擴展其功能並根據您的使用案例進行客製化:
382 348