多個 Agent 同時改一個倉庫,最怕的不是速度不夠,而是它們相互覆蓋文件、污染未提交改動,最後很難判斷哪一份結果可合併。Orca 的做法是爲每個 Agent 分配獨立的 Git worktree:同一個倉庫可以並行運行 Codex、Claude Code 或其他終端 Agent,完成後再比較 diff、選擇併合並結果。Orca 官方倉庫
它不是另一個模型,也不會替代 Codex 或 Claude Code;更準確地說,它是給多個 CLI Agent 加上一層工作區、任務和結果管理界面。適合需要並行探索方案、但又希望保留 Git 隔離邊界的開發者。
Orca 適合什麼任務
Orca 最適合“目標相同、實現路徑可比較”的任務,例如:
- 讓兩個 Agent 分別實現同一個接口,再比較測試、可讀性和改動範圍。
- 一邊排查 bug,另一邊補測試或閱讀相關模塊。
- 同時嘗試保守修復與重構方案,最後只合並其中一個。
- 把前端、後端、文檔拆成互不重疊的子任務並行推進。
不適合直接拆開的情況也很常見:多個 Agent 同時改同一個核心文件、需要共享未提交狀態的調試過程,或需求本身還沒有明確。這時先用一個 Agent 梳理計劃,通常比並行啓動五個窗口更省時間。
工作原理:每個 Agent 一棵獨立工作樹
Git worktree 允許一個倉庫同時檢出多個分支到不同目錄。Orca 在此基礎上爲 Agent 創建和管理這些獨立目錄:每個 Agent 都有自己的文件改動、終端會話和分支上下文,不會直接覆蓋主工作目錄。
官方 README 描述的典型流程是:把同一個提示分發給多個 Agent,每個 Agent 在隔離 worktree 中完成任務,然後比較結果併合並勝出的實現。Parallel Worktrees 說明
可以把關係理解爲:
| 層級 | 負責什麼 |
|---|---|
| Codex / Claude Code | 理解任務、修改代碼、執行測試 |
| Git worktree | 隔離每個方案的文件和分支改動 |
| Orca | 創建工作樹、啓動 Agent、集中查看會話與 diff |
| 你 | 拆分任務、審查結果、決定合併哪個方案 |
開始前的倉庫準備
並行之前先把主目錄收拾乾淨。worktree 能隔離新分支的文件改動,卻不能替你判斷主目錄裏哪些未提交變更應該保留。
|
|
如果 git status 不是乾淨狀態,先提交、暫存或明確保留當前改動。隨後爲不同方案建立清晰的分支命名,例如:
|
|
Orca 支持 Windows、macOS 和 Linux 桌面端;安裝包和當前版本以 官方發佈頁 爲準。它可以運行任何能在終端執行的 Agent,因此還要確認本機已經完成 Codex、Claude Code 或你計劃使用的 CLI 的登錄和基礎配置。
一個可複用的並行拆分方式
以“登錄偶發失敗”爲例,不要給三個 Agent 都發送“修復登錄 bug”。更好的拆分是把交付物寫清楚:
|
|
這樣三條工作樹的輸出可以直接比較:A 提供候選修復,B 提供迴歸保護,C 提供獨立審查。即使最終只採用 A 的修改,B 和 C 的結果仍能幫助驗證方向。
對於同一個功能的多方案競賽,也應限制範圍:要求每個 Agent 只改指定模塊、運行相同測試命令、在最終說明中列出修改文件和未解決問題。沒有共同的驗收標準,多個 Agent 的“完成”很難橫向比較。
在 Orca 中啓動並行 worktree
具體界面會隨版本變化,但操作順序通常如下:
- 打開一個已初始化 Git 的倉庫,確認基線分支和主目錄沒有意外改動。
- 爲每個子任務創建獨立 worktree 或讓 Orca 從任務創建工作樹。
- 分別選擇 Codex、Claude Code 等本機可用 Agent,給出不重疊的任務說明和驗收命令。
- 讓 Agent 在自己的 worktree 中執行;不要在主目錄同時手動修改同一批文件。
- 完成後查看每棵工作樹的 diff、測試輸出和提交記錄,再決定保留、修改或丟棄。
Orca 還提供終端分屏、diff 行內評論、文件拖放給 Agent,以及通過 CLI 管理工作樹的能力;例如其文檔列出了 orca worktree create、snapshot 等工作流命令。功能入口以當前版本文檔爲準。Orca CLI 介紹
如何合併結果,避免把三個方案混在一起
最安全的順序是先審查、後合併:
|
|
如果測試工作樹和修復工作樹都值得保留,先合併測試,再合併修復,或用 git cherry-pick 挑選單獨提交。不要因爲它們都由 Agent 生成,就直接把全部 worktree 一次性 merge;重複的依賴升級、格式化改動和同文件重構最容易在這裏引入衝突。
合併前至少檢查四項:
- 改動是否只覆蓋了任務範圍內的文件。
- 測試命令是否實際運行且結果可復現。
- 是否包含密鑰、生成文件、大型鎖文件或無關格式化。
- 兩個候選方案是否改了同一段業務邏輯;若是,保留一個作爲主方案,另一個只作爲參考。
常見問題
Orca 會替我購買或共享 Codex、Claude Code 的額度嗎?
不會。Orca 的定位是編排終端 Agent;你仍使用自己已有的 Agent 訂閱、賬號和本機登錄狀態。多開 Agent 也可能更快消耗對應產品的用量額度。
多個 Agent 可以修改同一個文件嗎?
可以,因爲它們位於不同 worktree;但後續合併會產生競爭。若同一個文件不可避免地要改,最好指定一個主實現 Agent,其他 Agent 只做審查、測試或提出補丁建議。
沒有 Git 倉庫能用嗎?
Orca 能運行終端 Agent,但並行 worktree 的隔離和可控合併依賴 Git。對重要項目,先初始化倉庫並建立可回滾的基線,再開始並行任務。
Orca 與直接開多個終端有什麼區別?
手動開多個終端也能並行,但你需要自己創建工作樹、記住分支、追蹤會話和對比結果。Orca 把這些步驟放到同一界面,重點是降低並行 Agent 的管理成本,而不是改變 Agent 本身的能力。
小結
Orca 的實用之處在於把“並行試錯”變成可審查的 Git 工作流:每個 Agent 在獨立 worktree 中工作,結果用 diff、測試和分支提交來比較。先把任務拆到互不干擾,再只合並經過審查的候選分支,才能讓 Codex、Claude Code 的並行能力真正服務於交付,而不是製造更多衝突。