2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt2> Fetch the complete documentation index at: https://code.claude.com/docs/llms.txt
3> Use this file to discover all available pages before exploring further.3> Use this file to discover all available pages before exploring further.
4 4
5# 並行運行代理5# 平行執行代理
6 6
7> 比較 Claude Code 同時處理多個任務的方式:子代理、代理視圖、代理團隊和動態工作流。7> 比較 Claude Code 同時執行多項任務的方式:子代理、代理檢視、代理團隊和動態工作流程。
8 8
9[子代理](/docs/zh-TW/sub-agents)、[代理視圖](/docs/zh-TW/agent-view)、[代理團隊](/docs/zh-TW/agent-teams) 和 [動態工作流](/docs/zh-TW/workflows) 各自以不同的方式並行化工作。正確的選擇取決於您是否想要自己留在每個對話中、交付任務並稍後檢查,或讓 Claude 為您協調一組工作人員。9[子代理](/docs/zh-TW/sub-agents)、[代理檢視](/docs/zh-TW/agent-view)、[代理團隊](/docs/zh-TW/agent-teams) 和 [動態工作流程](/docs/zh-TW/workflows) 各自以不同的方式並行化工作。選擇哪一種取決於您是否想要自己留在每個對話中、交付任務並稍後檢查,或讓 Claude 為您協調一組工作人員。
10 10
11| 方法 | 它提供什麼 | 何時使用 |11| 方法 | 提供的功能 | 使用時機 |
12| :------------------------- | :----------------------------------------------- | :----------------------------------------------------------------------- |12| :------------------------- | :----------------------------------------------- | :---------------------------------------------------------------- |
13| [子代理](/docs/zh-TW/sub-agents) | 在一個會話內的委派工作人員,在自己的上下文中執行側任務並返回摘要 | 側任務會用搜尋結果、日誌或您不會再次參考的文件內容淹沒您的主要對話 |13| [子代理](/docs/zh-TW/sub-agents) | 在一個工作階段內的委派工作人員,在自己的上下文中執行側邊任務並返回摘要 | 側邊任務會用搜尋結果、日誌或檔案內容淹沒您的主要對話,而您不會再次參考這些內容 |
14| [代理視圖](/docs/zh-TW/agent-view) | 一個屏幕來調度和監控在後台運行的會話,使用 `claude agents` 打開。研究預覽 | 您有多個獨立任務,想要交付它們,一目了然地檢查狀態,並且只在需要時介入 |14| [代理檢視](/docs/zh-TW/agent-view) | 一個畫面可以分派和監控在背景執行的工作階段,使用 `claude agents` 開啟。研究預覽 | 您有多個獨立任務,想要交付它們,一目瞭然地檢查狀態,並且只在其中一個需要您時才介入 |
15| [代理團隊](/docs/zh-TW/agent-teams) | 多個協調的會話,具有共享任務列表和代理間消息傳遞,由領導者管理。實驗性功能,默認禁用 | 您希望 Claude 將項目分成多個部分、分配它們並保持工作人員同步 |15| [代理團隊](/docs/zh-TW/agent-teams) | 多個協調的工作階段,具有共享的任務清單和代理間訊息傳遞,由主導者管理。實驗性功能,預設停用 | 您希望 Claude 將專案分成多個部分、分配它們,並保持工作人員同步 |
16| [動態工作流](/docs/zh-TW/workflows) | 一個運行許多子代理並檢查其結果的腳本,用於一個太大而無法一次協調的工作或需要多於單一次通過的工作 | 一個任務對於少數子代理來說太大了,或您想要驗證發現相互對抗:一個代碼庫範圍的審計、一個 500 文件遷移、交叉檢查的研究,或從多個角度起草的計劃 |16| [動態工作流程](/docs/zh-TW/workflows) | 執行許多子代理並交叉檢查其結果的指令碼,適用於太大而無法一次協調或需要多次傳遞的工作 | 工作超出了少數子代理的範圍,或您希望針對彼此驗證發現:整個程式碼庫審計、500 個檔案遷移、交叉檢查的研究,或從多個角度起草的計畫 |
17 17
18在每種方法中,工作人員都是 Claude 會話。要涉及不同的工具,請將其作為 [MCP server](/docs/zh-TW/mcp) 公開給 Claude。18在每種方法中,工作人員都是 Claude 工作階段。若要涉及不同的工具,請將其作為 [MCP 伺服器](/docs/zh-TW/mcp) 公開給 Claude。
19 19
20還有兩個工具支持這項工作,但它們本身不是運行代理的方式:20還有三個工具支援此工作,但它們本身不是執行代理的方式:
21 21
22* [Worktrees](/docs/zh-TW/worktrees) 為每個會話提供單獨的 git 檢出,因此並行會話永遠不會編輯相同的文件。將它們用於您自己運行的會話。代理視圖會自動將每個調度的會話移動到自己的 worktree 中,您生成的子代理也可以各自獲得一個。22* [Worktrees](/docs/zh-TW/worktrees) 為每個工作階段提供單獨的 git 簽出,因此平行工作階段永遠不會編輯相同的檔案。將它們用於您自己執行的工作階段。代理檢視會自動將每個分派的工作階段移動到自己的 worktree 中,您生成的子代理也可以各自獲得一個。
23* [`/batch`](/docs/zh-TW/commands) 是一個 [skill](/docs/zh-TW/skills),它讓 Claude 將一個大型更改分成 5 到 30 個 worktree 隔離的子代理,每個都打開一個拉取請求。它是子代理和 worktrees 的打包使用,不是一個單獨的協調風格。23* [跨工作階段訊息傳遞](/docs/zh-TW/cross-session-messaging) 讓 Claude 列出並訊息傳遞您在此機器上、另一台機器上或 [網路上的 Claude Code](/docs/zh-TW/claude-code-on-the-web) 上的其他 Claude Code 工作階段,因此您自己執行的工作階段可以在彼此之間傳遞發現和狀態。
24* [`/batch`](/docs/zh-TW/commands) 是一個 [skill](/docs/zh-TW/skills),讓 Claude 將一個大型變更分成 5 到 30 個 worktree 隔離的子代理,每個都開啟一個拉取請求。這是子代理和 worktrees 的打包使用,不是單獨的協調風格。
24 25
25還有一些其他功能在沒有您驅動每一步的情況下運行 Claude,但它們解決的問題與在代理之間分割工作不同:26還有一些其他功能在您不驅動每個步驟的情況下執行 Claude,但它們解決的問題與跨代理分割工作不同:
26 27
27* 一個 [background bash command](/docs/zh-TW/interactive-mode#background-bash-commands) 運行一個 shell 命令而不阻止對話。它不會生成一個代理。28* [背景 bash 命令](/docs/zh-TW/interactive-mode#background-bash-commands) 執行一個 shell 命令而不阻止對話。它不會生成代理。
28* 一個 [forked subagent](/docs/zh-TW/sub-agents#fork-the-current-conversation) 是一個繼承您完整對話上下文而不是從頭開始的子代理。它是一種生成子代理的方式,不是一個單獨的表面。29* [分叉子代理](/docs/zh-TW/sub-agents#fork-the-current-conversation) 是一個繼承您完整對話上下文而不是從頭開始的子代理。這是生成子代理的一種方式,不是單獨的介面。使用 `/subtask` 啟動一個。Claude 也會在 [分叉模式](/docs/zh-TW/sub-agents#turn-fork-mode-on-or-off) 開啟時自己生成一個。若要將整個工作階段複製到與其並行執行的新 [背景工作階段](/docs/zh-TW/agent-view#from-inside-a-session),請使用 `/fork`。當 [代理檢視關閉](/docs/zh-TW/agent-view#turn-off-agent-view) 時,分叉子代理命令是 `/fork`,而 `/subtask` 不可用。
29* 一個 [routine](/docs/zh-TW/routines) 在 Anthropic 的雲中按計劃運行一個會話,而不是在您的機器上並行運行。30* [例行程序](/docs/zh-TW/routines) 在雲端按計畫執行工作階段,而不是在您的機器上平行執行。
30 31
31<Note>32<Note>
32 同時運行多個會話或子代理會增加令牌使用量。有關使用情況和速率限制詳細信息,請參閱 [Costs](/docs/zh-TW/costs)。33 同時執行多個工作階段或子代理會增加令牌使用量。有關使用量和速率限制詳細資訊,請參閱 [成本](/docs/zh-TW/costs)。
33</Note>34</Note>
34 35
35<h2 id="choose-an-approach">36<h2 id="choose-an-approach">
36 選擇一種方法37 選擇一個方法
37</h2>38</h2>
38 39
39正確的方法取決於誰協調工作、工作人員是否需要通信以及他們是否編輯相同的文件:40正確的方法取決於誰協調工作、工作人員是否需要溝通,以及他們是否編輯相同的檔案:
40 41
41* **誰協調工作?**42* **誰協調工作?**
42 * Claude 在一個對話中委派和收集結果:[subagents](/docs/zh-TW/sub-agents)43 * Claude 在一個對話中委派並收集結果:[subagents](/docs/zh-TW/sub-agents)
43 * 您交付獨立任務並稍後檢查:[agent view](/docs/zh-TW/agent-view)44 * 您交付獨立任務並稍後檢查:[agent view](/docs/zh-TW/agent-view)
44 * Claude 計劃、分配和監督一組工作人員:[agent teams](/docs/zh-TW/agent-teams),實驗性且默認禁用45 * Claude 規劃、分配並監督一組工作人員:[agent teams](/docs/zh-TW/agent-teams),實驗性功能且預設停用
45 * 一個腳本而不是 Claude 的逐輪判斷來保持協調:[dynamic workflows](/docs/zh-TW/workflows)。請參閱 [workflows 與 subagents 和 skills 的比較方式](/docs/zh-TW/workflows#when-to-use-a-workflow)46 * 指令碼保存計畫而不是 Claude 的逐輪判斷:[dynamic workflows](/docs/zh-TW/workflows)。請參閱 [workflows 與 subagents 和 skills 的比較方式](/docs/zh-TW/workflows#when-to-use-a-workflow)
46* **工作人員需要相互交談嗎?** Subagents 將結果報告回生成它們的對話,agent view 會話只向您報告。agent team 中的隊友共享任務列表並直接相互發送消息。47* **工作人員需要彼此交談嗎?** Claude 可以透過 [cross-session messaging](/docs/zh-TW/cross-session-messaging) 在您自己執行的工作階段之間傳遞發現,包括您從 agent view 分派的工作階段。Subagents 將結果報告回生成它們的對話,agent view 工作階段只向您報告結果。agent team 中的隊友彼此直接傳訊,當他們 [擁有 Task tools](/docs/zh-TW/tools-reference#task-tool-availability) 時,共享任務清單。
47* **任務是否涉及相同的文件?** 使用 [worktrees](/docs/zh-TW/worktrees) 隔離工作。Subagents 和您自己運行的會話可以各自使用單獨的 worktree。Agent teams 不會在 worktrees 中隔離隊友,因此 [分區工作](/docs/zh-TW/agent-teams#avoid-file-conflicts),以便每個隊友擁有不同的文件集。48* **任務是否涉及相同的檔案?** 使用 [worktrees](/docs/zh-TW/worktrees) 隔離工作。Subagents 和您自己執行的工作階段可以各自使用單獨的 worktree。Agent teams 不會在 worktrees 中隔離隊友,因此 [分割工作](/docs/zh-TW/agent-teams#avoid-file-conflicts),使每個隊友擁有不同的檔案集。
48 49
49<h2 id="check-on-running-work">50<h2 id="check-on-running-work">
50 檢查運行中的工作51 檢查運行中的工作