Claude Code Agent Teams:協調多個 AI 會話進行並行開發
什麼是 Agent Teams?
Agent Teams 是 Claude Code 的一項實驗性功能,讓你可以協調多個 Claude Code 實例協同工作。想像一下,這就像擁有一個開發團隊:一個會話擔任團隊領導,負責協調工作、分配任務和整合結果,而團隊成員則在各自的上下文視窗中獨立工作。
這與 subagents(子代理)有本質區別。子代理在單一會話中運行,只能向主代理回報結果。而使用 Agent Teams 時,你可以直接與個別團隊成員互動,無需經過領導。
何時應該使用 Agent Teams?
Agent Teams 在並行探索能帶來真正價值的場景中表現出色:
研究和審查:多個團隊成員可以同時調查問題的不同方面,然後分享並挑戰彼此的發現。
新模組或功能開發:每個團隊成員可以負責獨立的程式碼區塊,互不干擾。
使用競爭假設進行除錯:並行測試不同理論,更快找到答案。
跨層協調:涉及前端、後端和測試的變更,可以由不同的團隊成員各自負責。
何時不應使用 Agent Teams
Agent Teams 會增加協調開銷,並消耗比單一會話更多的 token。以下情況不太適合:
- 有許多依賴關係的順序性任務
- 需要緊密協調的同一檔案編輯
- 不會從並行化中受益的簡單任務
這些場景下,建議使用單一會話或 subagents。
Agent Teams vs Subagents:快速比較
| 方面 | Subagents | Agent Teams |
|---|---|---|
| 上下文 | 獨立上下文視窗;結果返回給呼叫者 | 獨立上下文視窗;完全獨立 |
| 通訊 | 只向主代理回報結果 | 團隊成員可直接互相通訊 |
| 協調 | 主代理管理所有工作 | 共享任務列表,自我協調 |
| 適用場景 | 只關心結果的專注任務 | 需要討論和協作的複雜工作 |
| Token 成本 | 較低:結果摘要後返回 | 較高:每個團隊成員都是獨立的 Claude 實例 |
快速開始
啟用 Agent Teams
Agent Teams 預設是禁用的。在 settings.json 中添加以下設定來啟用:
{
"env": {
"CLAUDE_CODE_EXPERIMENTAL_AGENT_TEAMS": "1"
}
}
啟動你的第一個團隊
用自然語言描述你想要的任務和團隊結構:
我正在設計一個 CLI 工具,幫助開發者追蹤程式碼庫中的 TODO 註釋。
創建一個 agent team 從不同角度探索這個問題:
一個團隊成員負責 UX,一個負責技術架構,一個扮演魔鬼代言人。
Claude 會根據你的提示創建團隊、生成團隊成員並協調工作。
顯示模式
Agent Teams 支援兩種顯示模式:
進程內模式(In-process):所有團隊成員在你的主終端內運行。使用 Shift+Up/Down 選擇團隊成員,然後輸入訊息給他們。適用於任何終端。
分割面板模式(Split Panes):每個團隊成員都有自己的面板。可以同時查看所有人的輸出,點擊面板直接互動。需要 tmux 或 iTerm2。
在 settings.json 中配置:
{
"teammateMode": "in-process"
}
或作為命令列參數:
claude --teammate-mode in-process
核心功能
指定團隊成員和模型
你可以完全控制團隊組成:
創建一個有 4 個團隊成員的團隊來並行重構這些模組。
每個團隊成員使用 Sonnet 模型。
要求計劃審批
對於複雜或有風險的任務,要求團隊成員在實施前先制定計劃:
生成一個架構師團隊成員來重構認證模組。
在他們做任何更改之前要求計劃審批。
團隊成員會在唯讀計劃模式下工作,直到領導批准他們的方案。
委派模式(Delegate Mode)
按 Shift+Tab 進入委派模式,防止領導自己實施任務。這會將領導限制為只能使用協調工具:生成團隊成員、發送訊息、關閉團隊成員和管理任務。
直接與團隊成員對話
每個團隊成員都是完整、獨立的 Claude Code 會話。你可以直接向任何團隊成員發送訊息,給予額外指示、詢問後續問題或調整他們的方向。
底層運作原理
一個 Agent Team 由以下組件組成:
| 組件 | 角色 |
|---|---|
| 團隊領導 | 創建團隊、生成團隊成員並協調工作的主要 Claude Code 會話 |
| 團隊成員 | 各自處理分配任務的獨立 Claude Code 實例 |
| 任務列表 | 團隊成員認領和完成的共享工作項目列表 |
| 信箱 | 代理之間通訊的訊息系統 |
團隊和任務儲存在本地:
- 團隊配置:
~/.claude/teams/{team-name}/config.json - 任務列表:
~/.claude/tasks/{team-name}/
實際使用案例
並行程式碼審查
創建一個 agent team 來審查 PR #142。生成三個審查者:
- 一個專注於安全隱患
- 一個檢查效能影響
- 一個驗證測試覆蓋率
讓他們各自審查並報告發現。
每個審查者應用不同的視角。領導綜合所有三人的發現。
使用競爭假設進行調查
用戶報告應用程式在發送一條訊息後就退出,而不是保持連接。
生成 5 個 agent 團隊成員來調查不同的假設。讓他們互相交流,
試圖推翻彼此的理論,像科學辯論一樣。
用達成共識的結論更新發現文檔。
辯論結構確保存活下來的理論更可能是真正的根本原因。
最佳實踐
給團隊成員足夠的上下文:在生成提示中包含任務特定的細節,因為他們不會繼承領導的對話歷史。
適當調整任務大小:不要太小(協調開銷超過收益),也不要太大(團隊成員工作太久而沒有檢查點)。目標是能產生明確交付物的自包含單元。
避免檔案衝突:兩個團隊成員編輯同一檔案會導致覆寫。分配工作時讓每個團隊成員負責不同的檔案。
監控和引導:檢查進度,調整不起作用的方法,並隨時綜合發現。
目前的限制
作為實驗性功能,Agent Teams 有已知的限制:
- 進程內團隊成員不支援會話恢復
- 如果團隊成員未能標記任務完成,任務狀態可能滯後
- 關閉可能較慢(團隊成員會先完成當前請求)
- 每個會話只能有一個團隊
- 不支援嵌套團隊(團隊成員不能生成自己的團隊)
- 領導在團隊生命週期內固定
- 分割面板需要 tmux 或 iTerm2(不支援 VS Code 終端、Windows Terminal 或 Ghostty)
結論
Agent Teams 代表了 AI 輔助開發的一個令人興奮的演進。通過協調多個 Claude 實例,使用共享任務和代理間通訊,複雜的軟體工程工作流程變得更加可控。
雖然仍處於實驗階段,但這個功能值得在研究密集型任務、並行審查和除錯會話中探索——在這些場景中,多元視角能帶來真正的價值。建議從有明確邊界且不需要編寫程式碼的任務開始,先熟悉協調動態,然後再處理更複雜的實現。
更多詳情請查看官方文檔。