1846 字
9 分鐘

Orca CLI 怎麼管理多個 AI agent?先看 worktree 與 review queue

同一個 repository 同時交給 Claude Code、Codex 或其他 coding agent 時,真正難管理的通常不是「能不能開多個 terminal」,而是每個 run 的工作目錄、依賴順序、測試證據和 review 入口。Orca 是一個仍在積極開發中的 Go CLI,嘗試把這些協調工作放在本機:用 git worktree 隔離 run、用 SQLite 保存狀態、用 pod 把多個 run 組成 DAG,再用 review queue 交給人檢查。

直接答案是:把 Orca 當成 orchestration 與 review 層,不要把它誤當成 secrets、網路或資料庫 sandbox。先用一個不含敏感資料的 repository 建立單一 run,確認 worktree、log、diff、測試和清理流程,再考慮 pod 與 MCP;任何 agent 仍然只能拿到你另外配置的權限。

本文依 Orca 官方 GitHub repository 的 README 整理,沒有安裝或執行 Orca。README 也明確標示專案仍在 active development,v1.0 前介面可能變動。

Orca 主要管理哪三件事#

官方架構把 Orca 放在使用者與 coding agent 之間:

區塊Orca 的責任不代表什麼
Isolation每個 run 使用獨立 git worktree 與 branch不會自動隔離 .env、SSH agent、Docker volume 或外部帳號
State用本機 SQLite 保存 run 狀態與搜尋資料不等於把 agent 的所有推理、秘密或外部服務狀態都安全保存
Review handoff集中查看 diff、log、測試與 ready run,必要時 ship 成 PR不會取代人對程式碼、依賴和部署影響的 review

Pod 的概念是把一個較大的目標拆成有依賴關係的多個 run。上游完成後,下游才進入可執行狀態;這比單純開更多 terminal 多了一層順序控制,但 DAG 是否切得合理,仍是使用者要負責的設計。

這和既有的 Git worktree 多 agent 工作流 不同:那篇聚焦 Git 原生隔離與清理;Orca 則是在 worktree 之上增加 run state、pod 排程與 review 入口。兩者不能互相取代。

先熟悉 command surface,再照版本寫腳本#

README 列出的核心命令可以先按生命週期理解:

階段命令作用
建立orca runorca pod create啟動單一 run,或建立有多個 run 的 pod
觀察orca watchorca lsorca logs查看 TUI、列出狀態與串流 agent log
Revieworca revieworca diff檢查某個 run 的 diff、log、測試和 context
收斂orca retryorca kill帶回饋重試失敗 run,或取消並整理執行中的 run
交付orca ship將 ready run 送進 pull request 流程
設定orca configorca mcp serve管理 repo 設定,或以 stdio MCP server 提供 Orca 能力

這張表是概念索引,不是固定的腳本 API。實際參數和旗標要以安裝版本的 orca --help、完整文件與 release 為準;不要把 active development 專案的 README 範例直接放進 production automation。

用單一 run 做第一輪試驗#

第一次試用時,把完成條件寫成可以由人檢查的順序:

  1. 在乾淨的測試 repository 執行 git status --short,確認沒有未交接的工作。
  2. orca run 建立只修改一個小範圍的任務,禁止 agent 觸碰部署設定、production secrets 和無關目錄。
  3. orca watchorca logs 觀察狀態,記錄 run id、branch、worktree 路徑和失敗時間。
  4. run 進入 ready 後,用 orca revieworca diff 檢查實際變更,再獨立執行專案自己的 test、lint 或 build。
  5. 只有在 diff、測試與檔案清單都通過 review 後,才考慮 orca ship;不需要交付的 run 先清理,不要留下孤兒 worktree。

如果第一次 run 就需要完整 repository、任意 shell、瀏覽器登入或 production API,代表測試範圍太大。先縮小任務,比遇到問題後才猜是哪一層造成外部副作用容易得多。

MCP 設定位置是另一個安全決策#

Orca 可以透過 orca mcp serve 提供 MCP server,但「agent 能驅動 Orca」和「Orca 能啟動某個 agent」是兩種不同的連線方向。官方 README 的設定示例把 Orca server 放進各 agent 的 MCP 設定;設定時先決定要全域使用,還是只對單一 repository 開放:

Agent常見設定位置建議範圍
Claude Code~/.claude/settings.json 或 repository 的 .mcp.json優先使用 repo scope,避免所有專案都看見 Orca
OpenCode全域設定或 repository 根目錄的 opencode.json依專案是否共用 policy 決定
Codex~/.codex/config.json先確認本機所有 Codex 任務是否都應取得這個 MCP server
Cursor 等 client各自的 MCP 設定檔以 client 官方設定格式為準,不要直接複製另一個 agent 的路徑

若要讓 Orca 讀取 repo-level AGENTS.md、skills、policies 或 templates,先 review 這些檔案是否含有會擴大權限的規則。設定檔是能力入口,不是安全證明;真正的 shell、檔案、網路與外部服務權限仍由 agent host 和作業系統決定。

worktree 之外要自己隔離的資源#

Orca 的 worktree 只解決 Git checkout 和檔案變更互相覆蓋的問題。多個 run 同時執行時,仍要為下面資源設計隔離:

  • Secrets.env、SSH agent、cloud credential 與 shell environment 可能在不同 worktree 共用。測試用 secret 要與 production 分開,且不要把它放入 run log。
  • Port:兩個 agent 都啟動 localhost:3000 時,失敗可能被誤認成程式 bug。用 run-specific port 或由測試 runner 分配。
  • 資料庫與 volume:Docker Compose project name、named volume、測試資料庫和 queue 可能仍指向同一份資料。先建立隔離的 namespace 或明確禁止寫入。
  • 外部服務:瀏覽器 session、第三方 API、部署平台和通知頻道不會因為 Git branch 改變。將 agent 的外部寫入權限設成 default deny。

在這些邊界沒有定義前,不要把「每個 run 有自己的 worktree」寫成「多 agent 已經安全隔離」。

Active development 的採用條件#

Orca 目前的吸引力在於本機、agent-agnostic、worktree 和 review queue 的組合;但官方 repository 只有很早期的版本歷史,README 也說介面在 v1.0 前可能變動。採用前至少確認:

  1. 是否能固定 binary 版本並保存 checksum。
  2. ~/.orca/orca.db 的備份、權限與清理政策是否清楚。
  3. run state 損壞或 worktree 遺失時,是否仍能用 Git 原生命令取回 diff。
  4. pod 失敗、retry、kill 和 ship 是否都有人工 review gate。
  5. 團隊的 agent config、MCP server 與 policy 是否能在 CI 或新工作站重建。

只要其中一項沒有答案,就先把 Orca 用在可丟棄的試驗 repo,不要直接接入重要 monorepo 或 production deploy pipeline。

常見問題#

Q: Orca 和 Git worktree 是競爭關係嗎?#

A: 不是。Orca 依賴 worktree 做 run 隔離,再加上狀態、pod 和 review workflow;Git worktree 仍是你在 Orca 失效時可以獨立驗證與清理的基礎。

Q: 每個 agent 有獨立 worktree,就不會讀到別人的 secret 嗎?#

A: 不會。shell environment、.env、SSH agent、Docker volume、資料庫和外部 API 可能共用。要處理 secrets 或網路,請另外使用專用帳號、容器、sandbox 或最小權限 policy。

Q: 可以用 orca ship 取代 code review 嗎?#

A: 不行。ship 是交付流程的命令,不代表 diff、測試、依賴或資料庫 migration 已通過你的 review。先用 orca revieworca diff 和專案自己的驗證命令留下證據。

Q: 現在適合直接在團隊全面採用嗎?#

A: README 將 Orca 標為 active development,介面可能在 v1.0 前變動。先用小型、可回復、無敏感資料的 repository 做 pilot,固定版本並記錄失敗回復方式,再決定是否擴大。

參考資料:

Orca 官方 GitHub repository

Git 官方文件:git-worktree

Orca CLI 怎麼管理多個 AI agent?先看 worktree 與 review queue
https://laplusda.com/posts/orca-multi-agent-worktree-review/
作者
Zero
發佈於
2026-09-18
許可協議
CC BY-NC-SA 4.0
這篇文章有幫助嗎?

回報錯字、失效連結,或告訴我你想看的延伸主題。