Git worktree:讓多個 AI agent 並行工作而不互相沖突的基礎
並行執行時,你的 agent 會互相覆蓋對方的工作。Git worktree 用兩條命令就能解決。這篇文章告訴你怎麼用。
你在同一個儲存庫上啟動了兩個 agent。一個在改 package.json,另一個也在改。三十秒後,你的程式碼變成了誰都沒法合併的狀態。
這不是 agent 的 bug,而是因為它們都在同一個資料夾裡幹活。
解決辦法是一個 Git 已經支援多年、卻幾乎沒人用的工具:git worktree。
問題所在:3 個 agent,1 個儲存庫,根本沒法合併
一個普通的 Git 儲存庫就是一個資料夾,同一時間只能簽出一個分支。你在 main 上工作,切換分支時整個資料夾都會跟著變。
現在往這個資料夾裡塞進三個自主 agent。它們會同時寫檔案。Agent A 建立了一個檔案,agent B 跑了個 git checkout 想從乾淨狀態開始,結果把 A 正在做的工作全沖掉了。最後你得到的是一堆寫了一半的檔案、被搞亂的索引,以及一堆衝突,解起來比你自己寫程式碼還費勁。
只有 agent 之間互不干擾,並行才能真正幫你省時間。
git worktree 是什麼
worktree 就是掛在同一個儲存庫上的第二個工作資料夾。
歷史相同、遠端相同,但每個 worktree 都簽出自己的分支,磁碟上也有自己的一套檔案。你可以同時擺五個,每個在不同的分支上,互不打擾。
一個 .git,多個工作區。就這麼簡單。
實戰:每個 agent 一個 worktree
下面是具體做法。在你的儲存庫裡執行:
git worktree add ../project-auth -b feature/auth
git worktree add ../project-billing -b feature/billing
git worktree add ../project-export -b feature/export
你剛剛建立了三個資料夾,每個都在自己的分支上。然後在每個裡啟動一個 agent:
cd ../project-auth && claude
cd ../project-billing && codex
每個 agent 都有自己的資料夾、自己的分支、自己的檔案。auth agent 永遠看不到 billing agent 在幹什麼。不可能撞車。
某個功能做好後,你審查它的分支然後合併。接著清理:
git worktree remove ../project-auth
資料夾沒了,分支還留在你的歷史裡。乾淨利落。
需要知道的 3 個坑
第一個坑:共享的中心檔案。如果兩個功能都得動同一個 routes.ts 或同一個資料庫 schema,worktree 救不了你,合併的時候照樣衝突。一旦某個 agent 碰了大家共用的檔案,其他 agent 就得等,或者繞著走。
第二個坑:分支跑偏。你的 agent 在幹活的同時,main 也在往前走。三天後你的分支已經落後一截,合併起來就很痛苦。要麼趁早、勤快地 rebase,要麼把每次會話控制得短一點。
第三個坑:忘了清理。每個 worktree 都是磁碟上真實存在的資料夾。一天開十個又不清理,你的父目錄很快就亂得沒法看了。git worktree list 能列出還留著哪些,git worktree prune 能清掉已經失效的。
真正的問題:誰來盯著這五個資料夾?
worktree 解決的是檔案衝突,但解決不了你的心智負擔。
你有五個資料夾、五個 agent、五個終端。哪個在等你審查?哪個十分鐘前就跑完了、而你當時正看著別處?哪個崩了?
如果你一直待在終端裡,這就是"每個 agent 一個 worktree"這套做法的天花板。技術上的衝突你解決了,但要盯的視窗也翻了好幾倍。
AgentsRoom 把每個 agent 放到一塊獨立的卡片上,帶著它的狀態和顏色,不管它跑在哪個 worktree 裡。某個 agent 一旦在等你,它就會變紅並提醒你。想了解疊加在 worktree 之上的完整方法,讀一讀如何並行執行 3 到 8 個 agent 而不手忙腳亂。
核心要點
一個 agent,一個 worktree,一個分支。這就是認真做多 agent 工作的基本規則。
命令三行就寫完,好處立竿見影:你的 agent 不再互相覆蓋。再加上一個能告訴你哪個 agent 需要你的檢視,你就真的能同時扛住五件事,而不至於把自己逼瘋。
繼續閱讀
如何在開發團隊中擴充套件 AI 編碼代理
一個開發者與編碼代理的故事是生產力的故事。五個開發者與二十個代理則是協調問題。當團隊擴充套件時,首先會出現什麼問題,以及保持的設定:承諾的上下文檔案、清晰的檔案所有權、按爆炸半徑進行審查,以及你可以實際看到的成本。
讀文章AgentsRoom 現已支援 Kimi Code
Moonshot AI 的終端編碼代理 Kimi Code 已成為 AgentsRoom 的一級提供方。把它和 Claude、Codex、Antigravity CLI、OpenCode、Aider、Grok Build、Mistral Vibe 一起執行,並在對話中途隨時切換。
讀文章Claude Code 與 Codex CLI 對比:2026 年該選哪個(以及為什麼我兩個都用)
一份關於 Claude Code 和 Codex CLI 的誠實對比:價格、速度、MCP、可控性。還有為什麼幾周之後,我不再二選一。
讀文章
下載 AgentsRoom
在一個視窗中執行你所有專案的 AI 代理(Claude、Codex、Antigravity CLI、OpenCode、Aider、Grok Build、Mistral Vibe、Kimi Code)。
配套應用:隨時隨地監控你的 Agent
使用 Claude、Codex、Antigravity CLI 或其他 AI 提供商。
把 Bug 和需求直接傳送到您的公開待辦清單。
AgentsRoom 實際執行一瞥。