158* **家族別名,例如 `opus`**:在 Anthropic API 和 AWS 上的 Claude Platform 上,Claude Code 在允許清單允許的該家族的最新版本上運行隊友。在具有提供者特定模型 ID 的提供者上,其中[替換不運行](https://code.claude.com/docs/zh-TW/model-config.md#restrict-model-selection),被阻止的別名會根據下一個項目符號像任何其他被阻止的值一樣回退158* **家族別名,例如 `opus`**:在 Anthropic API 和 AWS 上的 Claude Platform 上,Claude Code 在允許清單允許的該家族的最新版本上運行隊友。在具有提供者特定模型 ID 的提供者上,其中[替換不運行](https://code.claude.com/docs/zh-TW/model-config.md#restrict-model-selection),被阻止的別名會根據下一個項目符號像任何其他被阻止的值一樣回退
159* **任何其他被阻止的值,包括提供者特定模型 ID 提供者上的家族別名,或其家族沒有允許版本的別名**:Claude Code 在主管的模型上運行隊友。如果您設定 `CLAUDE_CODE_SUBAGENT_MODEL`,Claude Code 會先嘗試該模型,遵循相同的規則159* **任何其他被阻止的值,包括提供者特定模型 ID 提供者上的家族別名,或其家族沒有允許版本的別名**:Claude Code 在主管的模型上運行隊友。如果您設定 `CLAUDE_CODE_SUBAGENT_MODEL`,Claude Code 會先嘗試該模型,遵循相同的規則
160 160
161預設情況下,隊友會繼承主管的 [effort 等級](https://code.claude.com/docs/zh-TW/model-config.md#adjust-effort-level)。在分割窗格模式中,這從 v2.1.186 開始適用;較早的版本未將主管的工作階段 effort 傳遞給分割窗格隊友。161預設情況下,使用主管模型的隊友會繼承主管的 [effort 等級](https://code.claude.com/docs/zh-TW/model-config.md#adjust-effort-level)。在分割窗格模式中,這從 v2.1.186 開始適用;較早的版本未將主管的工作階段 effort 傳遞給分割窗格隊友。對於使用其他模型的隊友,請參閱 [subagent 和隊友的 effort 等級](https://code.claude.com/docs/zh-TW/model-config.md#effort-level-of-subagents-and-teammates)。
162 162
163### 讓隊友在實施前進行計畫163### 讓隊友在實施前進行計畫
164 164
165對於複雜或有風險的任務,您可以讓隊友在實施前進行計畫。當主管在 [plan mode](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode) 中時,Claude 生成的隊友在唯讀計畫模式下工作,直到其計畫準備好。首先將主管切換到計畫模式,然後要求隊友:165對於複雜或有風險的任務,您可以讓隊友在實施前進行計畫。當主管處於 [plan mode](https://code.claude.com/docs/zh-TW/permission-modes.md#analyze-before-you-edit-with-plan-mode) 時,Claude 生成的隊友也會在 plan mode 中工作,直到其計畫準備好。首先將主管切換到 plan mode,然後要求生成隊友:
166 166
167```text wrap theme={null}167```text wrap theme={null}
168Spawn an architect teammate to refactor the authentication module.168Spawn an architect teammate to refactor the authentication module.
169```169```
170 170
171當該隊友完成計畫時,它向主管發送計畫核准請求。如果您自該隊友生成以來未變更其權限模式,Claude Code 會在請求到達時立即核准計畫,無需主管審查。隊友的編輯和命令仍然會通過[權限](#permissions)中描述的權限提示。一旦核准,隊友退出 plan mode 並開始實施。171當該隊友完成計畫時,它向主管發送計畫核准請求。如果您自該隊友生成以來未變更其權限模式,Claude Code 會在請求到達時立即核准計畫,無需主管審查。一旦核准,隊友退出 plan mode 並開始實施。Claude Code 會將主管目前的[權限模式](#permissions)傳遞給它;如果主管目前是 plan mode,則傳遞 Manual。
172 172
173如果您在查看正在運行的 in-process 隊友的工作階段時,按下 [`Shift+Tab`](https://code.claude.com/docs/zh-TW/permission-modes#switch-permission-modes) 將其置於 plan mode,則該次運行的計畫會由主管審查,而非由 Claude Code 核准。系統不會要求您核准;主管會核准它,或將其退回修訂。173如果您在查看正在運行的 in-process 隊友的工作階段時,按下 [`Shift+Tab`](https://code.claude.com/docs/zh-TW/permission-modes#switch-permission-modes) 將其置於 plan mode,則該次運行的計畫會由主管審查,而非由 Claude Code 核准。系統不會要求您核准;主管會核准它,或將其退回修訂。
174 174
219* [`TaskCreated`](https://code.claude.com/docs/zh-TW/hooks#taskcreated):當任務正在建立時運行。以代碼 2 退出以防止建立並發送反饋。219* [`TaskCreated`](https://code.claude.com/docs/zh-TW/hooks#taskcreated):當任務正在建立時運行。以代碼 2 退出以防止建立並發送反饋。
220* [`TaskCompleted`](https://code.claude.com/docs/zh-TW/hooks#taskcompleted):當任務被標記為完成時運行。以代碼 2 退出以防止完成並發送反饋。220* [`TaskCompleted`](https://code.claude.com/docs/zh-TW/hooks#taskcompleted):當任務被標記為完成時運行。以代碼 2 退出以防止完成並發送反饋。
221 221
222## Agent teams 如何工作222## Agent teams 的運作方式
223 223
224本節涵蓋 agent teams 背後的架構和機制。如果您想開始使用它們,請參閱上面的[控制您的 agent team](#control-your-agent-team)。224本節說明 agent teams 背後的架構與運作機制。如果您想開始使用,請參閱上方的[控制您的 agent team](#control-your-agent-team)。
225 225
226### Claude 如何啟動 agent teams226### Claude 如何啟動 agent teams
227 227
228若要啟動一個團隊,請向 Claude 要求隊友。當 Claude 在啟用 agent teams 時呼叫 [Agent tool](https://code.claude.com/docs/zh-TW/tools-reference.md) 並帶有 [`name`](https://code.claude.com/docs/zh-TW/sub-agents#subagent-names) 時,Claude 會啟動一個隊友,除非該呼叫是[分支](https://code.claude.com/docs/zh-TW/sub-agents.md#fork-the-current-conversation)或在呼叫本身上傳遞 `isolation`。Claude Code 不會要求您確認啟動。228若要啟動團隊,請要求 Claude 建立隊員。在啟用 agent teams 的情況下,當 Claude 以 [`name`](https://code.claude.com/docs/zh-TW/sub-agents#subagent-names) 呼叫 [Agent 工具](https://code.claude.com/docs/zh-TW/tools-reference.md)時,就會啟動一名隊員,除非該呼叫是 [fork](https://code.claude.com/docs/zh-TW/sub-agents.md#fork-the-current-conversation),或在呼叫本身傳入了 `isolation`。Claude Code 不會要求您確認啟動。
229 229
230Claude 也會自行命名普通 subagents,以便稍後可以向它們傳送訊息。這些呼叫遵循相同的規則,因此即使您沒有要求,團隊也可能形成。如果您想要 subagents,請[關閉 agent teams](#claude-spawns-teammates-instead-of-subagents)。230Claude 也會自行為一般 subagent 命名,以便之後傳訊息給它們。這些呼叫遵循相同的規則,因此即使您沒有要求,也可能形成團隊。如果您想改用 subagent,請[關閉 agent teams](#claude-spawns-teammates-instead-of-subagents)。
231 231
232### 架構232### 架構
233 233
234Agent team 由以下部分組成:234一個 agent team 由以下部分組成:
235 235
236| 元件 | 角色 |236| 元件 | 角色 |
237| :- | :- |237| :- | :- |
238| **Team lead** | 生成隊友並協調工作的主要 Claude Code 工作階段 |238| **組長** | 產生隊員並協調工作的主要 Claude Code 工作階段 |
239| **Teammates** | 各自處理分配任務的獨立 Claude Code 實例 |239| **隊員** | 各自處理所指派任務的獨立 Claude Code 執行個體 |
240| **Task list** | 隊友認領和完成的共享工作項目列表 |240| **任務清單** | 隊員認領並完成的共用工作項目清單 |
241| **Mailbox** | 代理之間通訊的訊息系統 |241| **信箱** | 供 agent 之間溝通的訊息系統 |
242 242
243每個 agent 的 mailbox 是位於 `~/.claude/teams/{team-name}/inboxes/{agent-name}.json` 的 JSON 檔案。Claude Code 在讀取 mailbox 檔案時驗證每個條目。不符合訊息格式的條目會被報告為錯誤並從檔案中移除;有效的訊息仍會被傳遞。243每個 agent 的信箱是位於 `~/.claude/teams/{team-name}/inboxes/{agent-name}.json` 的 JSON 檔案。Claude Code 讀取信箱檔案時會驗證每一筆項目。不符合訊息格式的項目會被回報為錯誤並從檔案中移除;有效的訊息仍會照常傳遞。
244 244
245Claude Code 只在寫入收件人 mailbox 檔案成功時才報告訊息已發送,無論訊息是純文字還是結構化協議訊息(例如計畫批准或關閉請求)。當寫入失敗時(例如因為磁碟已滿或 mailbox 目錄不可寫),發送代理會收到錯誤,且不會發送任何內容。請參閱[無法寫入隊友的收件匣](https://code.claude.com/docs/zh-TW/errors.md#failed-to-write-to-a-teammate-inbox)以了解錯誤訊息和復原步驟。245只有在寫入收件者信箱檔案成功時,Claude Code 才會將訊息回報為已傳送,無論該訊息是純文字,還是計畫核准或關閉請求等結構化協定訊息。寫入失敗時,例如因為磁碟已滿或信箱目錄無法寫入,傳送端 agent 會收到錯誤,且不會傳送任何內容。錯誤訊息與復原步驟請參閱 [Failed to write to a teammate's inbox](https://code.claude.com/docs/zh-TW/errors.md#failed-to-write-to-a-teammate-inbox)。
246 246
247Claude Code 自動管理任務依賴關係:當隊友完成其他任務依賴的任務時,被阻止的任務會自動解除阻止,無需您採取任何行動。247Claude Code 會自動管理任務相依性:當隊員完成其他任務所相依的任務時,它會解除相依任務的封鎖,您無需採取任何動作。
248 248
249團隊和任務存儲在本地,名稱來自工作階段衍生的名稱。名稱是 `session-` 後跟工作階段 ID 的前八個字元:249團隊與任務會以衍生自工作階段的名稱儲存在本機。該名稱為 `session-` 後接工作階段 ID 的前八個字元:
250 250
251* **Team config**:`~/.claude/teams/{team-name}/config.json`。Claude Code 會在工作階段結束時移除團隊設定目錄。251* **團隊設定**:`~/.claude/teams/{team-name}/config.json`。工作階段結束時,Claude Code 會移除團隊設定目錄。
252* **Task list**:`~/.claude/tasks/{team-name}/`。此目錄在工作階段結束後會保留在磁碟上。若要變更 [Claude Code 保留它的時間長度](https://code.claude.com/docs/zh-TW/claude-directory.md#cleaned-up-automatically),請設定 [`cleanupPeriodDays`](https://code.claude.com/docs/zh-TW/settings-reference#cleanupperioddays)。252* **任務清單**:`~/.claude/tasks/{team-name}/`。此目錄在工作階段結束後仍會保留在磁碟上。若要變更 [Claude Code 保留它的時間長度](https://code.claude.com/docs/zh-TW/claude-directory.md#cleaned-up-automatically),請設定 [`cleanupPeriodDays`](https://code.claude.com/docs/zh-TW/settings-reference#cleanupperioddays)。
253 253
254Claude Code 在工作階段啟動時自動生成這兩者,並在隊友加入、閒置或離開時更新它們。254Claude Code 會在工作階段啟動時自動產生這兩者,並在隊員加入、閒置或離開時更新它們。
255 255
256團隊配置保存運行時狀態,例如工作階段 ID 和 tmux 窗格 ID,因此不要手動編輯或預先編寫它:您的變更會在下次狀態更新時被覆蓋。256團隊設定保存了工作階段 ID 與 tmux 窗格 ID 等執行階段狀態,因此請勿手動編輯或預先撰寫它:您的變更會在下一次狀態更新時被覆寫。
257 257
258若要定義可重複使用的隊友角色,請改用 [subagent 定義](#use-subagent-definitions-for-teammates)。258若要定義可重複使用的隊員角色,請改用 [subagent 定義](#use-subagent-definitions-for-teammates)。
259 259
260團隊配置包含一個 `members` 陣列,其中包含每個成員的名稱和代理 ID。主管的條目始終帶有代理類型 `team-lead`。隊友的條目帶有主管在生成它時命名的任何代理類型,無論是[內建類型](https://code.claude.com/docs/zh-TW/sub-agents.md#built-in-subagents)還是 [subagent 定義](#use-subagent-definitions-for-teammates),當主管未命名任何類型時則省略該欄位。隊友可以讀取此檔案以發現其他團隊成員。260團隊設定包含一個 `members` 陣列,其中列出每位成員的名稱與 agent ID。組長的項目一律帶有 agent 類型 `team-lead`。隊員的項目則帶有組長產生它時所指定的 agent 類型,無論是[內建類型](https://code.claude.com/docs/zh-TW/sub-agents.md#built-in-subagents)還是 [subagent 定義](#use-subagent-definitions-for-teammates);若組長未指定任何類型,則省略該欄位。隊員可以讀取此檔案來得知其他團隊成員。
261 261
262沒有專案級別的團隊配置等效項。您專案目錄中的 `.claude/teams/teams.json` 之類的檔案不被識別為配置;Claude 將其視為普通檔案。262團隊設定沒有專案層級的對應檔案。專案目錄中類似 `.claude/teams/teams.json` 的檔案不會被視為設定;Claude 會將其當作一般檔案處理。
263 263
264### 為隊友使用 subagent 定義264### 為隊員使用 subagent 定義
265 265
266在任一顯示模式中生成隊友時,您可以參考來自專案、使用者、受管或外掛 [subagent 範圍](https://code.claude.com/docs/zh-TW/sub-agents.md#choose-the-subagent-scope)的 [subagent](https://code.claude.com/docs/zh-TW/sub-agents.md) 類型。這讓您定義一個角色一次,例如安全審查者或測試執行者,並將其同時重複使用為委派的 subagent 和 agent team 隊友。266在任一顯示模式下產生隊員時,您都可以參照來自專案、使用者、受管理或外掛 [subagent 範圍](https://code.claude.com/docs/zh-TW/sub-agents.md#choose-the-subagent-scope)的 [subagent](https://code.claude.com/docs/zh-TW/sub-agents.md) 類型。這讓您可以只定義一次角色,例如 security-reviewer 或 test-runner,並同時將其重複用作委派的 subagent 與 agent team 隊員。
267 267
268若要使用 subagent 定義,在要求 Claude 生成隊友時按名稱提及它:268若要使用 subagent 定義,請在要求 Claude 產生隊員時指明其名稱:
269 269
270```text wrap theme={null}270```text wrap theme={null}
271Spawn a teammate using the security-reviewer agent type to audit the auth module.271Spawn a teammate using the security-reviewer agent type to audit the auth module.
272```272```
273 273
274Claude Code 讀取您命名的 subagent 定義,並將其以下部分應用於隊友。當某個部分取決於隊友的[顯示模式](#choose-a-display-mode)時,該條目會說明:274Claude Code 會讀取您指定的 subagent 定義,並將其中以下部分套用到隊員。若某部分取決於隊員的[顯示模式](#choose-a-display-mode),該項目會加以說明:
275 275
276* **`tools`**:Claude Code 將隊友限制為定義的 `tools` 列表中的工具。對於進程內隊友,Claude Code 會將 `SendMessage` 添加到該列表,在[具有 Task tools 的工作階段](https://code.claude.com/docs/zh-TW/tools-reference.md#task-tool-availability)中,它還會添加 `TaskCreate`、`TaskGet`、`TaskList` 和 `TaskUpdate`。276* **`tools`**:Claude Code 會將隊員限制在定義的 `tools` 清單中的工具。對於 in-process 隊員,Claude Code 會在該清單中加入 `SendMessage`,而在[具備 Task 工具的工作階段](https://code.claude.com/docs/zh-TW/tools-reference.md#task-tool-availability)中,還會加入 `TaskCreate`、`TaskGet`、`TaskList` 與 `TaskUpdate`。
277* **`model`**:當您的生成提示未命名模型時,Claude Code 在任一顯示模式中使用定義的 `model`。請參閱[Claude Code 如何選擇隊友的模型](#specify-teammates-and-models)。277* **`model`**:當您的產生提示詞未指定模型時,Claude Code 在任一顯示模式下都會使用定義的 `model`。請參閱 [Claude Code 如何為隊員選擇模型](#specify-teammates-and-models)。
278* **`disallowedTools`**:對於進程內隊友,Claude Code 會從隊友的工具集中移除定義的 `disallowedTools` 中的工具。即使該列表中列出了 `SendMessage` 及其添加的 Task tools,這些工具仍然可用。278* **`disallowedTools`**:對於 in-process 隊員,Claude Code 會從隊員的工具集中移除定義的 `disallowedTools` 中的工具。即使清單中列出了 `SendMessage` 以及 Claude Code 加入的 Task 工具,它們仍可使用。
279* **`effort`**:對於進程內隊友,Claude Code 會依照 [frontmatter effort 規則](https://code.claude.com/docs/zh-TW/model-config.md#set-the-effort-level)應用定義的 [`effort`](https://code.claude.com/docs/zh-TW/sub-agents#supported-frontmatter-fields)。279* **`effort`**:對於 in-process 隊員,Claude Code 會依照 [frontmatter effort 規則](https://code.claude.com/docs/zh-TW/model-config.md#set-the-effort-level)套用定義的 [`effort`](https://code.claude.com/docs/zh-TW/sub-agents#supported-frontmatter-fields)。
280* **`autoCompactWindow`**:對於進程內隊友,Claude Code 會依照[該欄位的規則](https://code.claude.com/docs/zh-TW/sub-agents.md#subagent-auto-compact-window)應用定義的 [`autoCompactWindow`](https://code.claude.com/docs/zh-TW/sub-agents#supported-frontmatter-fields)。分割窗格隊友會忽略該欄位。需要 Claude Code v2.1.296 或更新版本。280* **`autoCompactWindow`**:對於 in-process 隊員,Claude Code 會依照[該欄位的規則](https://code.claude.com/docs/zh-TW/sub-agents.md#subagent-auto-compact-window)套用定義的 [`autoCompactWindow`](https://code.claude.com/docs/zh-TW/sub-agents#supported-frontmatter-fields)。split-pane 隊員會忽略此欄位。需要 Claude Code v2.1.296 或更新版本。
281* **Body**:對於進程內隊友,Claude Code 將定義的 body 附加到其預設系統提示中作為額外指示。對於分割窗格隊友,Claude Code 使用 body 代替其預設系統提示。281* **本文**:對於 in-process 隊員,Claude Code 會將定義的本文附加到其預設系統提示詞之後,作為額外指示。對於 split-pane 隊員,Claude Code 會使用本文取代其預設系統提示詞。
282* **`skills`**:Claude Code 在任一顯示模式中都不會將定義的 `skills` 應用於隊友。隊友從您的專案和使用者設定中載入 skills。282* **`skills`**:在任一顯示模式下,Claude Code 都不會將定義的 `skills` 套用到隊員。隊員會從您的專案與使用者設定載入 skill。
283* **`mcpServers`**:對於分割窗格隊友,Claude Code 在[該欄位的規則](https://code.claude.com/docs/zh-TW/sub-agents.md#scope-mcp-servers-to-a-subagent)下應用定義的 `mcpServers`,這些規則涵蓋使用 `--agent` 啟動的工作階段。進程內隊友忽略該欄位,並從您的專案和使用者設定中載入 MCP servers。283* **`mcpServers`**:對於 split-pane 隊員,Claude Code 會依照[該欄位的規則](https://code.claude.com/docs/zh-TW/sub-agents.md#scope-mcp-servers-to-a-subagent)套用定義的 `mcpServers`,這些規則也涵蓋以 `--agent` 啟動的工作階段。in-process 隊員會忽略此欄位,並從您的專案與使用者設定載入 MCP 伺服器。
284 284
285當 Claude 向不再運行的進程內隊友傳送訊息時,Claude Code 會在同一工作階段中將其恢復,復原為其保存的任何對話,並將訊息作為其下一個提示給予它。在您恢復工作階段後,隊友不會以這種方式被恢復,根據[恢復限制](#limitations)。285當 Claude 傳訊息給已不再執行的 in-process 隊員時,Claude Code 會在同一個工作階段中將其帶回,還原為其保存的任何對話,並將該訊息作為它的下一個提示詞。在您恢復工作階段之後,隊員不會以這種方式被帶回,請參閱[恢復的限制](#limitations)。
286 286
287對於它恢復的隊友,Claude Code 只有在您[信任代理檔案所在的資料夾](https://code.claude.com/docs/zh-TW/permissions.md#what-runs-before-you-trust-a-folder)時,才會重新應用來自專案的 `.claude/agents/` 目錄或 `--add-dir` 目錄的定義。信任父資料夾不算。在那之前,隊友會恢復時不帶定義的任何工具或指示,只保留 Claude Code 添加到每個進程內隊友的工具。請參閱[隊友的代理定義未被復原](https://code.claude.com/docs/zh-TW/errors.md#teammate-agent-definition-not-restored)以了解通知文本。287對於被帶回的隊員,只有在您已[信任 agent 檔案所在的資料夾](https://code.claude.com/docs/zh-TW/permissions.md#what-runs-before-you-trust-a-folder)時,Claude Code 才會重新套用來自專案 `.claude/agents/` 目錄或 `--add-dir` 目錄的定義。信任上層資料夾不算數。在此之前,隊員被帶回時不會具備定義中的任何工具或指示,只保留 Claude Code 為每個 in-process 隊員加入的工具。通知文字請參閱[隊員的 agent 定義未被還原](https://code.claude.com/docs/zh-TW/errors.md#teammate-agent-definition-not-restored)。
288 288
289### 權限289### 權限
290 290
291隊友開始時具有主管的權限模式,除了 [`dontAsk` 模式](https://code.claude.com/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode),他們不會繼承。如果主管使用 `--dangerously-skip-permissions` 運行,所有隊友也會這樣做。生成後,您可以更改個別隊友的權限模式,但在生成時無法設定每個隊友的權限模式。291若要切換執行中隊員的權限模式,請按 [`Shift+Tab`](https://code.claude.com/docs/zh-TW/permission-modes#switch-permission-modes),不過 in-process 隊員可能會改以組長的模式執行。對於 split-pane 隊員,請在其窗格中按下。對於 [in-process](#choose-a-display-mode) 隊員,請在[檢視其工作階段](#talk-to-teammates-directly)時按下,隊員會在開始下一個回合時檢查其模式。
292 292
293[程序內](#choose-a-display-mode)隊友在主管即時的允許和拒絕規則下執行,因此 [`--disallowedTools`](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags)、`--tools` 和 `--allowedTools` 都適用於它。對於分割窗格隊友,請逐一檢查每個旗標:293> [!NOTE]
294>
295> 當組長處於 [`acceptEdits`](https://code.claude.com/docs/zh-TW/permission-modes#auto-approve-file-edits-with-acceptedits-mode)、[`auto`](https://code.claude.com/docs/zh-TW/permission-modes#eliminate-prompts-with-auto-mode) 或 [`bypassPermissions`](https://code.claude.com/docs/zh-TW/permission-modes#skip-all-checks-with-bypasspermissions-mode) 模式時,未處於 [plan mode](#have-teammates-plan-before-implementing) 的 in-process 隊員會以組長的模式執行。將隊員切換為 Manual 並不會改變這一點,即使其狀態列顯示 Manual 也是如此。
296>
297> 若要讓它在編輯前先詢問,請在 agent 面板中的 `main` 列上按 Enter,並將組長也切換為 Manual 模式。此後組長也會詢問,任何其他處於 Manual 模式的隊員亦然。
298
299您無法在產生隊員時為個別隊員設定權限模式。新隊員會以組長的模式啟動,包括由 `--dangerously-skip-permissions` 開啟的 `bypassPermissions` 模式。如果組長處於 [`dontAsk` 模式](https://code.claude.com/docs/zh-TW/permission-modes#allow-only-pre-approved-tools-with-dontask-mode),隊員則會改以 [Manual 模式](https://code.claude.com/docs/zh-TW/permission-modes.md#available-modes)啟動。
300
301[in-process](#choose-a-display-mode) 隊員會在組長即時的允許與拒絕規則下執行,因此 [`--disallowedTools`](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags)、`--tools` 與 `--allowedTools` 都會套用到它。對於 split-pane 隊員,請逐一確認每個旗標:
294 302
295* **`--disallowedTools` 和 `--tools`**:隊友啟動時帶有主管的命令列拒絕規則和工具列表。需要 Claude Code v2.1.309 或更新版本。303* **`--disallowedTools` 與 `--tools`**:隊員會以組長的命令列拒絕規則與工具清單啟動。需要 Claude Code v2.1.309 或更新版本。
296* **`--allowedTools`**:Claude Code 不會將此旗標傳遞給分割窗格隊友,因此僅透過此旗標允許的操作在那裡不會被預先核准。若要事先核准這些操作,請在啟動主管時將規則放在 [`--settings`](https://code.claude.com/docs/zh-TW/settings#change-a-setting-for-one-session) 的 `permissions.allow` 下。例如,在您的 shell 中執行 `claude --settings '{"permissions":{"allow":["Bash(npm *)"]}}'`。這些規則適用於該工作階段的主管和每個分割窗格隊友。304* **`--allowedTools`**:Claude Code 不會將此旗標傳遞給 split-pane 隊員,因此僅透過它允許的動作在該處不會被預先核准。若要事先核准這些動作,請在啟動組長時,將規則放在 [`--settings`](https://code.claude.com/docs/zh-TW/settings#change-a-setting-for-one-session) 的 `permissions.allow` 下。例如,在您的 shell 中執行 `claude --settings '{"permissions":{"allow":["Bash(npm *)"]}}'`。這些規則會套用到該工作階段的組長以及每個 split-pane 隊員。
297 305
298隊友權限提示會出現在主管工作階段中,因此請在那裡自己核准它們。您不需要核准[隊友的計畫](#have-teammates-plan-before-implementing)。306隊員的權限提示會出現在組長工作階段中,因此請您親自在那裡核准。您不需要核准[隊員的計畫](#have-teammates-plan-before-implementing)。
299 307
300#### 代理之間的訊息308#### Agent 之間的訊息
301 309
302當一個代理透過 `SendMessage` 向另一個代理發送訊息時,Claude Code 會告訴接收代理該訊息來自另一個 Claude 工作階段,而不是來自您。隊友無法批准權限提示或代表您提供同意,被拒絕某項操作的隊友無法將其轉發給另一個隊友以繞過檢查。相同的規則適用於來自[您其他 Claude Code 工作階段](https://code.claude.com/docs/zh-TW/cross-session-messaging.md#how-a-session-treats-an-incoming-message)的訊息,完全在團隊之外。310當一個 agent 透過 `SendMessage` 傳訊息給另一個 agent 時,Claude Code 會告知接收端 agent 該訊息來自另一個 Claude 工作階段,而非來自您。隊員無法代表您核准權限提示或提供同意,而被拒絕執行某動作的隊員也無法將其轉交給另一名隊員來繞過檢查。相同的規則也適用於來自[您的其他 Claude Code 工作階段之一](https://code.claude.com/docs/zh-TW/cross-session-messaging.md#how-a-session-treats-an-incoming-message)、完全位於團隊之外的訊息。
303 311
304在 [auto mode](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode) 中,分類器對代理之間的訊息應用兩項檢查:312在[自動模式](https://code.claude.com/docs/zh-TW/permission-modes.md#eliminate-prompts-with-auto-mode)中,分類器會對 agent 之間的訊息套用兩項檢查:
305 313
306* 它將從另一個代理轉發的批准聲明視為不受信任的輸入,而不是來自您的確認。314* 它會將從另一個 agent 轉達的核准聲明視為不受信任的輸入,而非來自您的確認。
307* 它在 Claude Code 傳遞訊息之前審查每條訊息,無論是純訊息還是結構化協議訊息(例如關閉請求或計畫批准回應)。它阻止的訊息永遠不會到達收件人。315* 它會在 Claude Code 傳遞每則訊息之前進行審查,無論是純文字訊息,還是關閉請求或計畫核准回應等結構化協定訊息。被它封鎖的訊息永遠不會送達收件者。
308 316
309### Context 和通訊317### 上下文與溝通
310 318
311每個隊友都有自己的 context window。生成時,隊友載入與常規工作階段相同的專案 context:CLAUDE.md、MCP servers 和 skills。如果您使用 [`--setting-sources`](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags) 啟動主管,隊友會從相同的受限來源列表載入。在 v2.1.281 之前,[分割窗格](#choose-a-display-mode)隊友載入每個設定來源。319每位隊員都有自己的上下文視窗。產生時,隊員會載入與一般工作階段相同的專案上下文:CLAUDE.md、MCP 伺服器與 skill。如果您以 [`--setting-sources`](https://code.claude.com/docs/zh-TW/cli-reference#cli-flags) 啟動組長,隊員會從相同的受限來源清單載入。在 v2.1.281 之前,[split-pane](#choose-a-display-mode) 隊員會載入所有設定來源。
312 320
313隊友也接收來自主管的生成提示。主管的對話歷史不會延續。321隊員也會收到來自組長的產生提示詞。組長的對話歷程不會延續過去。
314 322
315**隊友如何分享資訊:**323**隊員如何共享資訊:**
316 324
317* **自動訊息傳遞**:當隊友發送訊息時,它們會自動傳遞給收件人。主管不需要輪詢更新。325* **自動訊息傳遞**:當隊員傳送訊息時,訊息會自動傳遞給收件者。組長不需要輪詢更新。
318* **閒置通知**:當隊友完成並停止時,它會自動通知主管並在通知中包含其最終答案。隊友的回合因 API 錯誤而結束時會通知主管它失敗並包含錯誤文本。326* **閒置通知**:當隊員完成並停止時,會自動通知組長,並在通知中附上其最終答案。回合因 API 錯誤而結束的隊員會通知組長它已失敗,並附上錯誤文字。
319* **共享任務列表**:[具有 Task tools 的代理](https://code.claude.com/docs/zh-TW/tools-reference.md#task-tool-availability)可以看到任務狀態並認領可用工作。327* **共用任務清單**:[具備 Task 工具的 agent](https://code.claude.com/docs/zh-TW/tools-reference.md#task-tool-availability) 可以查看任務狀態並認領可用的工作。
320* **隊友訊息傳遞**:按名稱向一個特定隊友發送訊息。若要聯繫所有人,請為每個收件人發送一條訊息。328* **隊員訊息**:依名稱傳送訊息給某一位特定隊員。若要通知所有人,請為每位收件者各傳送一則訊息。
321 329
322主管在生成隊友時為其分配名稱,任何隊友都可以按該名稱向任何其他隊友傳送訊息。若要獲得可在稍後提示中參考的可預測名稱,請在您的生成指示中告訴主管如何稱呼每個隊友。330組長在產生每位隊員時都會為其指定名稱,任何隊員都可以依該名稱傳訊息給其他任何隊員。若要取得可在之後的提示詞中參照的可預期名稱,請在產生指示中告訴組長每位隊員該如何命名。
323 331
324### Token 使用332### Token 使用量
325 333
326Agent teams 使用的 tokens 遠多於單個工作階段。每個隊友都有自己的 context window,token 使用量隨活躍隊友數量而增加。對於研究、審查和新功能工作,額外的 tokens 通常是值得的。對於日常任務,單個工作階段更具成本效益。請參閱 [agent team token 成本](https://code.claude.com/docs/zh-TW/costs.md#agent-team-token-costs)以了解使用指南。334Agent teams 使用的 token 明顯多於單一工作階段。每位隊員都有自己的上下文視窗,token 使用量會隨著作用中隊員的數量而增加。對於研究、審查與新功能開發,額外的 token 通常是值得的。對於例行任務,單一工作階段更具成本效益。使用指引請參閱 [agent team token 成本](https://code.claude.com/docs/zh-TW/costs.md#agent-team-token-costs)。
327 335
328進程內隊友的請求落在主對話的 [cache TTL bucket](https://code.claude.com/docs/zh-TW/prompt-caching.md#which-ttl-each-request-gets) 之外,因此其快取在 Claude 訂閱上預設保留五分鐘。若要將其保留一小時,請將 [`subagentPromptCacheTtl`](https://code.claude.com/docs/zh-TW/settings-reference#subagentpromptcachettl) 設定為 `1h`。API 以更高的費率計費 1 小時快取寫入。336in-process 隊員的請求不屬於主要對話的[快取 TTL 分組](https://code.claude.com/docs/zh-TW/prompt-caching.md#which-ttl-each-request-gets),因此其快取預設保留五分鐘,即使在 Claude 訂閱方案中也是如此。若要保留一小時,請將 [`subagentPromptCacheTtl`](https://code.claude.com/docs/zh-TW/settings-reference#subagentpromptcachettl) 設為 `1h`。API 會以較高的費率計費 1 小時快取寫入。
329 337
330## 使用案例範例338## 使用案例範例
331 339
488* **沒有嵌套團隊**:隊友無法生成自己的隊友。只有主管可以管理團隊。496* **沒有嵌套團隊**:隊友無法生成自己的隊友。只有主管可以管理團隊。
489* **沒有來自 in-process 隊友的背景 subagent**:in-process 隊友自己的 subagent 在前景中執行,因為隊友的背景工作無法超越主管的程序。Claude Code 在隊友生成定義設定 `background: true` 的 subagent 時會傳回錯誤。隊友的 `run_in_background: true` 請求也會失敗,可能傳回錯誤或在前景中無聲執行。從主要對話啟動的 subagent 遵循[背景預設](https://code.claude.com/docs/zh-TW/sub-agents.md#run-subagents-in-foreground-or-background)。497* **沒有來自 in-process 隊友的背景 subagent**:in-process 隊友自己的 subagent 在前景中執行,因為隊友的背景工作無法超越主管的程序。Claude Code 在隊友生成定義設定 `background: true` 的 subagent 時會傳回錯誤。隊友的 `run_in_background: true` 請求也會失敗,可能傳回錯誤或在前景中無聲執行。從主要對話啟動的 subagent 遵循[背景預設](https://code.claude.com/docs/zh-TW/sub-agents.md#run-subagents-in-foreground-or-background)。
490* **主管是固定的**:主要工作階段在其生命週期內是主管。您無法將隊友提升為主管或轉移領導權。498* **主管是固定的**:主要工作階段在其生命週期內是主管。您無法將隊友提升為主管或轉移領導權。
491* **權限在生成時設定**:隊友開始時具有 [權限](#permissions) 下所述的權限模式。您可以在生成後更改個別隊友的權限模式,但在生成時無法設定每個隊友的權限模式。499* **生成時無法為每個隊友設定權限模式**:隊友開始時具有 [權限](#permissions) 下所述的權限模式。
492* **分割窗格需要 tmux 或 iTerm2**:預設 in-process 模式在任何終端中工作。VS Code 的整合終端、Windows Terminal 或 Ghostty 不支援分割窗格模式。500* **分割窗格需要 tmux 或 iTerm2**:預設 in-process 模式在任何終端中工作。VS Code 的整合終端、Windows Terminal 或 Ghostty 不支援分割窗格模式。
493 501
494## 後續步驟502## 後續步驟