檔案被兩個 Claude Code 會話同時修改,結果不是互相覆寫,就是在最後合併時集中爆發衝突。
最快的解法是:研究任務交給 subagents,需要實際並行修改程式碼時使用獨立 Git worktree,複雜協作再由 agent teams 或開發者統一調度;可靠流程固定分成「任務拆分、隔離執行、自動測試、人工合併」四層。
這篇適合哪些 Claude Code 使用者
這篇適合已經在終端使用 Claude Code、希望同時處理功能、測試與文件工作的開發者,也適合負責安排多個 AI Agent 的研發主管。
如果團隊準備把多個 Claude Code 會話放到遠端 Mac 執行,本文也會處理環境變數、依賴安裝、資源佔用與驗收門禁等問題。
最後更新於 2026 年 8 月 13 日;本文的命令、設定欄位與清理行為,已按當日可查閱的官方並行 Agent 文件、subagents 文件及worktree 文件核實。
先分清楚:上下文隔離不等於檔案隔離
Claude Code 多 AI Agent 的第一個誤區,是把「每個 Agent 有自己的上下文」誤認為「每個 Agent 有自己的檔案」。
subagents 主要解決上下文問題。它們在獨立上下文視窗中處理搜尋、紀錄分析、測試規劃或程式庫探索,再把摘要交回主會話。這能避免主會話被大量檔案內容與搜尋結果塞滿,但不代表所有檔案修改都已經自動隔離。
worktree 則是檔案系統層面的隔離。使用 claude --worktree feature-auth 時,Claude Code 會在獨立目錄建立 Git 工作樹與分支;另一個會話可以使用不同名稱建立另一個工作樹。兩者共享 Git 歷史,但不會直接寫入同一份工作目錄。
| 模式 | 主要解決問題 | 適合任務 | 主要限制 |
|---|---|---|---|
subagents |
上下文與任務分工 | 搜尋、日誌分析、程式碼探索、局部審查 | 回報給主會話,不能取代分支隔離 |
agent view |
背景會話的派發與監控 | 多個獨立任務、需要稍後查看狀態 | 仍須為修改檔案的會話安排隔離 |
agent teams |
多會話協調與互相通訊 | 跨前端、後端、測試的複雜協作 | 目前屬實驗功能,協調成本與 Token 消耗較高 |
Git worktree |
檔案與工作目錄隔離 | 多個會話並行修改程式碼 | 不會自動解決介面依賴與合併策略 |
官方文件明確區分這幾種方式:subagents 回報結果給主會話;agent teams 擁有共享任務清單與 Agent 之間的訊息傳遞;worktree 負責把不同會話放在不同 Git 工作目錄。(code.claude.com)
因此,若任務只是「找出登入流程的風險並整理摘要」,subagent 已經足夠;若任務是「同時修改登入流程與付款流程」,就不能只開兩個普通終端會話,必須先隔離工作目錄。
按衝突風險選擇並行模式
可以用以下條件作為決策工具,而不是看到多個任務就直接建立 Agent team:
- 若任務只需要讀取程式碼、搜尋資料或分析紀錄,選
subagents;完成後只要求回傳結構化摘要、檔案路徑與證據。 - 若任務需要修改互不重疊的檔案,選獨立
worktree會話;每個會話使用自己的分支與測試命令。 - 若多個工作者需要互相討論、共享發現或重新分配任務,才考慮
agent teams;不要把單純的平行編輯誤包裝成團隊協作。 - 若任務高度依賴同一份介面、同一個遷移檔或同一個設定檔,回退到單一主會話;先完成共享基礎,再派發後續工作。
- 若執行時間短、並發數少,而且本機能穩定完成建置,優先使用本機;若需要長時間同時保持多個會話,再評估按需遠端 Mac。
agent teams 的官方限制尤其需要留意:團隊成員不會自動因為加入同一個 team 就取得獨立 worktree。若多名 teammate 修改相同檔案,仍須在任務設計階段劃定檔案所有權。(code.claude.com)
用四層流程建立可驗收的工作流
第一步:先畫出任務與檔案責任邊界
主會話不要只輸入「把這個功能完成」。較可靠的派工說明應包含:
目標:加入登入逾時處理
允許修改:src/auth/、tests/auth/
禁止修改:資料庫遷移、依賴鎖定檔、共用 API 型別
完成條件:通過指定測試,列出修改檔案與已知限制
輸出格式:摘要、測試命令與結果、提交雜湊、回滾方式
派發前先標記四類高風險項目:共用介面、資料庫遷移、依賴鎖定檔與生成程式碼。這些檔案不應由多個 Agent 同時擁有寫入權;如果必須修改,應指定單一負責者,其餘 Agent 只消費已提交的產物。
第二步:建立獨立 worktree 與可重複環境
最直接的啟動方式是:
claude --worktree auth-timeout
claude --worktree billing-tests
第一次在該程式庫使用 --worktree 前,需先完成工作區信任確認。Claude Code 預設會在專案下的 .claude/worktrees/ 建立工作樹,該目錄應加入 .gitignore。也可以用 Git 原生命令管理:
git worktree add ../project-auth -b feature/auth-timeout
cd ../project-auth
claude
新的 worktree 是新鮮 checkout,因此主目錄中的未追蹤 .env、.env.local 或本機設定不會自然出現。若確實需要複製被忽略的非秘密設定,可在專案根目錄加入 .worktreeinclude;秘密仍應由安全的環境注入機制提供,而不是寫進版本庫。官方對worktree 建立、被忽略檔案與清理行為的說明列出了這些邊界。(code.claude.com)
| 環境項目 | 建議處理方式 | 驗證方法 |
|---|---|---|
| Git 與分支 | 每個會話使用獨立 worktree | git worktree list |
| 套件與工具鏈 | 使用初始化腳本或固定版本管理工具 | 執行專案建置命令 |
| 被忽略設定 | 以 .worktreeinclude 複製必要非秘密檔案 |
檢查檔案存在且未被 Git 追蹤 |
| API 金鑰與秘密 | 由環境變數或秘密管理工具注入 | 執行不會輸出秘密的健康檢查 |
| 測試服務 | 明確指定資料庫、Port 與暫存目錄 | 啟動兩個會話後確認資源不互撞 |
第三步:把研究工作移出主上下文
搜尋、紀錄分析與大型程式庫探索最容易消耗主會話上下文。這類工作應要求 subagent 只回傳可用結論,而不是把整個檔案重新貼回主會話。
例如:
請分析 src/payment/ 中與重試機制有關的程式碼。
只回傳:
1. 涉及的檔案與函式
2. 目前重試條件
3. 兩個可驗證的風險
4. 建議測試案例
不要修改檔案,也不要貼出完整程式碼。
subagent 啟動時不會自動看到主會話的完整對話歷史,因此派工訊息必須提供目標、範圍、禁止事項與輸出格式。官方文件也提醒,過多 subagent 的詳細回報會重新增加主上下文負擔;這正是「摘要格式」比「完整報告」更重要的原因。(code.claude.com)
第四步:每個 Agent 都要提交證據,不接受完成宣告
「功能已完成」不是驗收資料。每個分支至少應回傳:
- 實際修改的檔案;
- 執行過的建置與測試命令;
- 測試成功或失敗的結果;
- 已知限制與未處理情況;
- 提交雜湊或可定位的提交;
- 必要時的回滾方式。
主會話可以建立統一門禁,例如所有分支都必須通過格式檢查、單元測試、型別檢查與最小整合測試。若一個 Agent 只修改文件,仍要檢查連結、範例命令與程式碼片段;若另一個 Agent 修改 API,則要確認測試資料與呼叫端是否同步。
第五步:按依賴順序合併,而不是按完成時間合併
較穩定的順序通常是:
- 先合併共用型別、介面或基礎模組;
- 再合併依賴這些介面的功能分支;
- 接著合併測試、文件與部署設定;
- 每次合併後立即重新執行相關測試;
- 最後才進行完整建置與整合測試。
如果兩個 Agent 提供的是替代實作,不應把兩個分支硬拼在一起。應先比較驗收指標,例如測試覆蓋範圍、延遲、錯誤處理與回滾難度,再選擇一個實作,另一個分支直接關閉或保留作為參考。
注意: Git worktree 只隔離檔案修改,不會隔離外部服務、Port、資料庫、套件快取或 API 配額。兩個會話仍可能因共用測試資料庫而互相污染,因此環境隔離要延伸到執行資源。
處理三種最常見的並行故障
檔案仍然互相覆寫:先檢查是否只是開了多個終端,卻沒有使用不同工作目錄;再執行 git worktree list,確認每個會話實際所在路徑與分支不同。
Agent 完成後無法重現:檢查是否缺少依賴安裝、環境變數、資料庫初始化或生成檔案。遠端環境應把這些步驟寫成可重複的初始化腳本,避免每個 Agent 依賴手動設定。
合併時衝突突然增加:查看任務是否同時修改鎖定檔、共用設定、生成程式碼或遷移檔。若是,應重新拆分責任,而不是讓更多 Agent 嘗試解同一個衝突。
在需要長時間執行的遠端環境中,還要控制閒置會話。每個任務應事先設定停止條件、最大重試次數與人工確認點;研究 Agent 若已交回摘要,就應結束而不是繼續佔用會話。官方文件指出,多個 Agent team 成員會各自使用獨立上下文,Token 消耗會隨活躍成員增加,因此並行數不應只按「能開多少個」決定。(code.claude.com)
用檢查清單完成交付前驗收
- [ ] 每個程式碼任務都有明確的檔案範圍與禁止修改項目
- [ ] 需要修改檔案的會話已使用獨立 worktree
- [ ] 共用介面、遷移檔、鎖定檔與生成程式碼已指定唯一負責 Agent
- [ ] 每個 worktree 都能完成依賴安裝與環境初始化
- [ ] 秘密沒有被寫入 Git 追蹤檔案或
.worktreeinclude - [ ] 每個分支都提供測試命令、結果、限制與提交資訊
- [ ] 合併順序符合依賴關係,而不是單純按完成先後
- [ ] 每次合併後都重新執行相關測試
- [ ] Agent 已設定停止條件、重試上限與人工確認點
- [ ] 遠端 Mac 的連線、Port、磁碟空間與長時間執行狀態已驗證
需要進一步整理工作區規則時,可參考 Zutcloud 的幫助中心;如果團隊正在比較本機與遠端 Mac,也可以查看Mac mini 租用方案與Mac mini 價格資訊,但應以實際並發數與使用時長計算,而不是只看單次租用費。
常見問題
Claude Code 如何同時啟動多個 Agent?
若只是把研究、紀錄分析或程式庫探索交給背景工作,可在單一會話中派發 subagents;若需要多個獨立 Claude Code 會話協作,則使用 agent teams 或 agent view。真正會修改檔案的工作,應再搭配獨立 worktree,避免所有會話寫入同一個工作目錄。
subagents 和 worktree 有什麼區別?
subagents 解決的是上下文與任務分工問題:每個 subagent 擁有獨立上下文,完成後回傳摘要。worktree 解決的是檔案隔離問題:每個工作目錄對應 Git 分支,讓並行會話不直接覆寫彼此檔案。兩者可以一起使用,不能互相替代。
Claude Code 多會話怎樣避免檔案衝突?
最穩妥的做法是先按檔案責任範圍拆分任務,再為每個會話建立獨立 worktree 與分支;共用介面、依賴鎖定檔、資料庫遷移及生成檔案要指定唯一負責 Agent。每個分支完成後先測試,再依依賴順序逐一合併。
Claude Code Agent 能否在不同分支並行工作?
可以。Claude Code 可使用 --worktree 或 Git 原生命令建立不同工作目錄,並讓每個會話在自己的分支上工作。需要注意的是,worktree 共享同一套 Git 歷史,因此分支命名、基準分支、提交格式及合併順序仍須由主會話或團隊負責人管理。
遠端運行多個 Claude Code 會話需要準備什麼環境?
遠端 Mac 或伺服器應預先準備 Git、Claude Code、語言工具鏈、套件快取及可重複執行的初始化腳本;被忽略的環境檔可用 .worktreeinclude 管理,但秘密不應提交到版本庫。若使用 agent teams 的分割窗格模式,還要確認 tmux 或相容終端工具已可用。
若目前方案是在一台本機上長時間維持多個 Claude Code 會話,常見問題不是 Claude Code 本身,而是建置程序爭用記憶體、測試服務互撞、睡眠或連線中斷,以及開發者離開後無法即時處理失敗任務。若本機設備無法穩定承擔預計的並發數與線上時長,按週期使用 Zutcloud 的遠端 Mac 會更適合臨時算力、測試環境或短期平行開發;但若是長期固定的重負載團隊,或必須直接接駁特定實體裝置,自購 Mac 仍可能更合理。
FAQ
Claude Code 要怎樣同時啟動多個 Agent?
若只是把研究、紀錄分析或程式庫探索交給背景工作,可在單一會話中派發 subagents;若需要多個獨立 Claude Code 會話協作,則使用 agent teams 或 agent view。真正會修改檔案的工作,應再搭配獨立 worktree,避免所有會話寫入同一個工作目錄。
subagents 和 worktree 的差別在哪裡?
subagents 解決的是上下文與任務分工問題:每個 subagent 擁有獨立上下文,完成後回傳摘要。worktree 解決的是檔案隔離問題:每個工作目錄對應 Git 分支,讓並行會話不直接覆寫彼此檔案。兩者可以一起使用,不能互相替代。
Claude Code 多個會話怎樣避免檔案衝突?
最穩妥的做法是先按檔案責任範圍拆分任務,再為每個會話建立獨立 worktree 與分支;共用介面、依賴鎖定檔、資料庫遷移及生成檔案要指定唯一負責 Agent。每個分支完成後先測試,再依依賴順序逐一合併。
Claude Code Agent 能否在不同分支並行工作?
可以。Claude Code 可使用 --worktree 或 Git 原生命令建立不同工作目錄,並讓每個會話在自己的分支上工作。需要注意的是,worktree 共享同一套 Git 歷史,因此分支命名、基準分支、提交格式及合併順序仍須由主會話或團隊負責人管理。
遠端運行多個 Claude Code 會話需要準備什麼環境?
遠端 Mac 或伺服器應預先準備 Git、Claude Code、語言工具鏈、套件快取及可重複執行的初始化腳本;被忽略的環境檔可用 .worktreeinclude 管理,但秘密不應提交到版本庫。若使用 agent teams 的分割窗格模式,還要確認 tmux 或相容終端工具已可用。
為多個 AI Agent 打造穩定的並行程式開發環境
使用 Zutcloud 遠端 Mac,讓研究、程式修改、建置與測試工作在獨立環境中有序並行。
真實 Apple Silicon 裸金屬主機配備獨享資源,為高負載編譯、CI/CD 與 AI 工作流程提供穩定算力。 立即訂購