4 4
5# 並行運行代理5# 並行運行代理
6 6
7> 比較 Claude Code 同時處理多個任務的方式:子代理、代理視圖、代理團隊和隔離的 worktree 會話。7> 比較 Claude Code 同時處理多個任務的方式:子代理、代理視圖、代理團隊和動態工作流。
8 8
9[子代理](/zh-TW/sub-agents)、[代理視圖](/zh-TW/agent-view)、[代理團隊](/zh-TW/agent-teams) 和 [worktrees](/zh-TW/worktrees) 各自以不同的方式並行化工作。正確的選擇取決於您是否想要自己留在每個對話中、交付任務並稍後檢查,或讓 Claude 為您協調一組工作人員。9[子代理](/zh-TW/sub-agents)、[代理視圖](/zh-TW/agent-view)、[代理團隊](/zh-TW/agent-teams) 和 [動態工作流](/zh-TW/workflows) 各自以不同的方式並行化工作。正確的選擇取決於您是否想要自己留在每個對話中、交付任務並稍後檢查,或讓 Claude 為您協調一組工作人員。
10 10
11| 方法 | 它提供什麼 | 何時使用 |11| 方法 | 它提供什麼 | 何時使用 |
12| :---------------------------- | :----------------------------------------------- | :---------------------------------- |12| :------------------------- | :-------------------------------------------- | :------------------------------------------------- |
13| [子代理](/zh-TW/sub-agents) | 在一個會話內的委派工作人員,在自己的上下文中執行側任務並返回摘要 | 側任務會用搜尋結果、日誌或您不會再次參考的文件內容淹沒您的主要對話 |13| [子代理](/zh-TW/sub-agents) | 在一個會話內的委派工作人員,在自己的上下文中執行側任務並返回摘要 | 側任務會用搜尋結果、日誌或您不會再次參考的文件內容淹沒您的主要對話 |
14| [代理視圖](/zh-TW/agent-view) | 一個屏幕來調度和監控在後台運行的會話,使用 `claude agents` 打開。研究預覽 | 您有多個獨立任務,想要交付它們,一目了然地檢查狀態,並且只在需要時介入 |14| [代理視圖](/zh-TW/agent-view) | 一個屏幕來調度和監控在後台運行的會話,使用 `claude agents` 打開。研究預覽 | 您有多個獨立任務,想要交付它們,一目了然地檢查狀態,並且只在需要時介入 |
15| [代理團隊](/zh-TW/agent-teams) | 多個協調的會話,具有共享任務列表和代理間消息傳遞,由領導者管理。實驗性功能,默認禁用 | 您希望 Claude 將項目分成多個部分、分配它們並保持工作人員同步 |15| [代理團隊](/zh-TW/agent-teams) | 多個協調的會話,具有共享任務列表和代理間消息傳遞,由領導者管理。實驗性功能,默認禁用 | 您希望 Claude 將項目分成多個部分、分配它們並保持工作人員同步 |
16| [Worktrees](/zh-TW/worktrees) | 單獨的 git 檢出,以便並行會話永遠不會接觸彼此的文件 | 您正在自己運行多個會話,或您的子代理編輯重疊的文件 |16| [動態工作流](/zh-TW/workflows) | 一個運行許多子代理並檢查其結果的腳本,用於一個太大而無法一次協調的工作。研究預覽 | 一個任務對於少數子代理來說太大了:一個代碼庫範圍的審計、一個 500 文件遷移或需要對抗性驗證的研究 |
17| [`/batch`](/zh-TW/commands) | 將一個大型更改計劃分成 5 到 30 個 worktree 隔離的子代理,每個都打開一個拉取請求 | 您可以在一個指令中描述的存儲庫範圍遷移或機械重構 |
18 17
19在每種方法中,工作人員都是 Claude 會話。要涉及不同的工具,請將其作為 [MCP server](/zh-TW/mcp) 公開給 Claude。18在每種方法中,工作人員都是 Claude 會話。要涉及不同的工具,請將其作為 [MCP server](/zh-TW/mcp) 公開給 Claude。
20 19
21您可以組合這些方法。代理視圖在需要編輯文件時自動將每個調度的會話移動到自己的 worktree 中,而您正在處理的會話可以生成子代理,每個都獲得自己的 worktree。20還有兩個工具支持這項工作,但它們本身不是運行代理的方式:
21
22* [Worktrees](/zh-TW/worktrees) 為每個會話提供單獨的 git 檢出,因此並行會話永遠不會編輯相同的文件。將它們用於您自己運行的會話。代理視圖會自動將每個調度的會話移動到自己的 worktree 中,您生成的子代理也可以各自獲得一個。
23* [`/batch`](/zh-TW/commands) 是一個 [skill](/zh-TW/skills),它讓 Claude 將一個大型更改分成 5 到 30 個 worktree 隔離的子代理,每個都打開一個拉取請求。它是子代理和 worktrees 的打包使用,不是一個單獨的協調風格。
24
25還有一些其他功能在沒有您驅動每一步的情況下運行 Claude,但它們解決的問題與在代理之間分割工作不同:
26
27* 一個 [background bash command](/zh-TW/interactive-mode#background-bash-commands) 運行一個 shell 命令而不阻止對話。它不會生成一個代理。
28* 一個 [forked subagent](/zh-TW/sub-agents#fork-the-current-conversation) 是一個繼承您完整對話上下文而不是從頭開始的子代理。它是一種生成子代理的方式,不是一個單獨的表面。
29* 一個 [routine](/zh-TW/routines) 在 Anthropic 的雲中按計劃運行一個會話,而不是在您的機器上並行運行。
22 30
23<Note>31<Note>
24 同時運行多個會話或子代理會增加令牌使用量。有關使用情況和速率限制詳細信息,請參閱 [Costs](/zh-TW/costs)。32 同時運行多個會話或子代理會增加令牌使用量。有關使用情況和速率限制詳細信息,請參閱 [Costs](/zh-TW/costs)。
25</Note>33</Note>
26 34
27## 選擇一種方法35<h2 id="choose-an-approach">
36 選擇一種方法
37</h2>
28 38
29正確的方法取決於誰協調工作、工作人員是否需要通信以及他們是否編輯相同的文件:39正確的方法取決於誰協調工作、工作人員是否需要通信以及他們是否編輯相同的文件:
30 40
31* **誰協調工作?** 如果您希望 Claude 在一個對話中委派和收集結果,請使用 [子代理](/zh-TW/sub-agents)。如果您正在交付獨立任務並檢查它們,請使用 [代理視圖](/zh-TW/agent-view)。如果您希望 Claude 計劃、分配和監督一組工作人員,請使用 [代理團隊](/zh-TW/agent-teams),這是實驗性的且默認禁用。41* **誰協調工作?**
32* **工作人員需要相互交談嗎?** 子代理將結果報告回生成它們的對話,代理視圖會話只向您報告。代理團隊中的隊友共享任務列表並直接相互發送消息。42 * Claude 在一個對話中委派和收集結果:[subagents](/zh-TW/sub-agents)
33* **任務是否涉及相同的文件?** 使用 [worktrees](/zh-TW/worktrees) 隔離工作。子代理和您自己運行的會話可以各自使用單獨的 worktree。代理團隊不會在 worktrees 中隔離隊友,因此 [分區工作](/zh-TW/agent-teams#avoid-file-conflicts),以便每個隊友擁有不同的文件集。43 * 您交付獨立任務並稍後檢查:[agent view](/zh-TW/agent-view)
44 * Claude 計劃、分配和監督一組工作人員:[agent teams](/zh-TW/agent-teams),實驗性且默認禁用
45 * 一個腳本而不是 Claude 的逐輪判斷來保持協調:[dynamic workflows](/zh-TW/workflows)。請參閱 [workflows 與 subagents 和 skills 的比較方式](/zh-TW/workflows#when-to-use-a-workflow)
46* **工作人員需要相互交談嗎?** Subagents 將結果報告回生成它們的對話,agent view 會話只向您報告。agent team 中的隊友共享任務列表並直接相互發送消息。
47* **任務是否涉及相同的文件?** 使用 [worktrees](/zh-TW/worktrees) 隔離工作。Subagents 和您自己運行的會話可以各自使用單獨的 worktree。Agent teams 不會在 worktrees 中隔離隊友,因此 [分區工作](/zh-TW/agent-teams#avoid-file-conflicts),以便每個隊友擁有不同的文件集。
34 48
35## 檢查運行中的工作49<h2 id="check-on-running-work">
50 檢查運行中的工作
51</h2>
36 52
37檢查運行中工作的命令取決於您使用的方法:53檢查運行中工作的命令取決於您使用的方法:
38 54
39* 對於後台會話,`claude agents` 打開 [代理視圖](/zh-TW/agent-view):一個屏幕顯示每個會話、其狀態以及哪些需要您的輸入。55* 對於後台會話,`claude agents` 打開 [代理視圖](/zh-TW/agent-view):一個屏幕顯示每個會話、其狀態以及哪些需要您的輸入。
40* 對於當前會話中的子代理,`/agents` 打開一個面板,其中 **Running** 選項卡列出實時子代理,**Library** 選項卡是您 [創建和編輯自定義子代理](/zh-TW/sub-agents#use-the-%2Fagents-command) 的地方。儘管名稱相似,但這與 `claude agents` 分開。56* 對於當前會話中的子代理,`/agents` 打開一個面板,其中 **Running** 選項卡列出實時子代理,**Library** 選項卡是您 [創建和編輯自定義子代理](/zh-TW/sub-agents#use-the-%2Fagents-command) 的地方。儘管名稱相似,但這與 `claude agents` 分開。
41* 對於當前會話後台運行的任何內容,`/tasks` 列出每個項目,並讓您檢查、附加到或停止它。57* 對於當前會話後台運行的任何內容,`/tasks` 列出每個項目,並讓您檢查、附加到或停止它。
58* 對於動態工作流程,`/workflows` 列出運行和已完成的運行、每個運行所處的階段,以及有多少代理已完成。
42 59
43有關所有會話的桌面視圖,請參閱 [桌面應用中的並行會話](/zh-TW/desktop#work-in-parallel-with-sessions)。60有關所有會話的桌面視圖,請參閱 [桌面應用中的並行會話](/zh-TW/desktop#work-in-parallel-with-sessions)。
44 61
45## 了解更多62<h2 id="learn-more">
63 了解更多
64</h2>
46 65
47下面的每個指南涵蓋一種方法的設置和配置:66下面的每個指南涵蓋一種方法的設置和配置:
48 67
49* [創建自定義子代理](/zh-TW/sub-agents):定義可重用的專家並控制他們可以使用的工具。68* [創建自定義子代理](/zh-TW/sub-agents):定義可重用的專家並控制他們可以使用的工具。
50* [使用代理視圖管理代理](/zh-TW/agent-view):調度會話、監視其狀態並在需要時附加。69* [使用代理視圖管理代理](/zh-TW/agent-view):調度會話、監視其狀態並在需要時附加。
51* [協調代理團隊](/zh-TW/agent-teams):設置領導者和隊友、分配任務並審查他們的工作。70* [協調代理團隊](/zh-TW/agent-teams):設置領導者和隊友、分配任務並審查他們的工作。
71* [協調動態工作流](/zh-TW/workflows):運行捆綁的工作流或讓 Claude 編寫一個運行許多子代理並驗證其發現相互對比的工作流。
52* [使用 worktrees 運行並行會話](/zh-TW/worktrees):在隔離的檢出中啟動 Claude、控制複製的內容並在之後進行清理。72* [使用 worktrees 運行並行會話](/zh-TW/worktrees):在隔離的檢出中啟動 Claude、控制複製的內容並在之後進行清理。