Codex vs Claude Code:兩套 Subagent 機制怎麼選

比較 Codex 和 Claude Code 在 Subagent 機制上的不同取向:Codex 更強調顯式派工和主會話控制,Claude Code 更像可配置、可記憶、可隔離、可背景執行的 Agent 工位系統。

現在的 AI 編程工具越來越重視 Subagent。這不是功能跟風,而是單個 Agent 處理真實工程任務時,很快會碰到邊界。

如果一個 Agent 同時負責讀程式碼、查日誌、改實作、跑測試、分析錯誤、總結結果,主上下文很快會變髒。搜尋結果、命令輸出、測試日誌和中間推理混在一起,後續判斷就會被噪音干擾。任務也很難並行:探索、實作、驗證和審查都塞在同一條主線上。

Subagent 的本質,是替 Agent 減壓。主會話不再從頭到尾做完所有事,而是更像協調者:判斷目標、安排任務、接收結果,再把結果合成最終答案。子 Agent 處理某一段局部工作,例如探索、實作、驗證或審查,最後只帶回壓縮後的結論。

所以 Subagent 不是「再開一個同款自己」,而是把原本糊成一團的工程工作拆成邊界更清楚的角色。

底層共識

成熟的 Subagent 系統通常繞不開四件事:

  • 上下文隔離。
  • 角色專用化。
  • 專案和使用者級配置。
  • 工具與權限邊界。

上下文隔離是前提。真實倉庫裡的中間結果很多:搜尋結果、測試日誌、命令輸出都可能很吵。如果全部塞進主會話,主線很快會混亂。Subagent 的價值之一,就是讓局部過程先在局部被消化,主會話只看到有決策價值的結論。

角色專用化也很重要。多 Agent 不是多開幾個一樣的模型。探索型角色要擅長搜尋、閱讀和總結;實作型角色要專注改碼;驗證型角色要跑檢查、識別風險,並清楚回報。

工具和權限邊界決定系統能否安全落地。子 Agent 不應預設擁有主會話的全部能力。探索角色未必需要寫檔案,驗證角色未必需要改實作,背景任務和 worktree 隔離也應保持可見。

在這些共識之上,Codex 和 Claude Code 走出了不同路線。

Codex:顯式派工

Codex 的 Subagent 設計更克制。

它提供一套受控、輕量、圍繞當前主會話展開的分工機制。什麼時候派活、派給誰、什麼時候收結果,都由主會話明確決定。控制流始終留在當前任務裡。

它的特點是:

  • 主會話明確發起委託。
  • 角色集保持輕量。
  • 主會話知道哪個 Agent 在做什麼。
  • 結果回到主線後再統一判斷。
  • 協作邊界透明。

這種方式適合重視手動編排、可預期性和執行確定性的團隊。可以先派探索角色查清調用鏈,再派工作角色做小範圍修改,最後由主會話整合結果並決定是否繼續測試。

缺點是編排壓力仍在主會話身上。主會話要判斷何時拆分、怎麼拆、交給誰、怎麼合併結果。輕量協作很舒服,但長期複雜工程流可能會變累。

Claude Code:正式工位

Claude Code 的取向更平台化。

它不是只提供幾個臨時幫手,而是把 Agent 做成可描述、可選擇、可配置、可記憶、可隔離、可背景執行的正式物件。子 Agent 不只是會話裡的工具,更像工程系統裡的一個工位。

系統可以把 Agent 列表、適用場景、描述資訊和工具邊界交給模型,讓模型判斷本輪該呼叫哪個角色。這類模型驅動的委託帶來更強自動化。

它的關鍵能力包括:

第一,角色體系。探索、規劃、通用處理、驗證等角色可以帶用途說明、工具限制、預設模型和執行條件。探索型角色可以只讀,規劃型角色負責方案,驗證型角色專注檢查。

第二,繼承和覆蓋。子 Agent 預設繼承主會話的大邊界,但可在規則允許範圍內做局部調整。主會話定義大邊界,Agent 在邊界內局部裝配。

第三,記憶。記憶可以有作用域:使用者級記憶像長期偏好,專案級記憶像倉庫背景,本地級記憶像當前環境狀態。某些 Agent 不必每次從零理解專案。

第四,背景和 worktree 隔離。某些驗證任務可以在背景持續執行,主線不用原地等待。需要強隔離時,Agent 可進入獨立 worktree,同一專案內操作空間被明確隔開。

第五,插件生態。當 Agent 是正式物件時,就需要考慮分發、安裝、覆蓋、排序和安全。插件 Agent 可以進入系統,但高風險欄位如 permission mode、hooks、MCP servers 應被收口。

這讓 Claude Code 更像 Agent runtime,而不是單次會話裡的協作工具。

怎麼選

Codex 更像受控分工工具:顯式派工、角色輕量、控制流清晰、子任務圍繞當前會話,適合強調確定性和人工編排的工作方式。

Claude Code 更像工程工位系統:Agent 被正式建模,角色更體系化,記憶、背景執行、隔離和插件都屬於 runtime,適合長期專案和平台化工作流。

真正的問題不是誰功能更多,而是你希望 Subagent 是「我明確叫來的助手」,還是「系統裡長期存在的工位」。

可以問兩個問題:

  1. 你能不能接受模型自己選擇該派誰幹活?
  2. 你是否需要更完整的 Agent runtime?

如果第一個問題讓你不舒服,顯式派工更合適。若第二個答案是肯定的,平台化工位系統更值得考慮。

使用建議

不要把 Subagent 當作「多開幾個模型就更強」。更有效的做法是:

  • 給每個角色明確任務邊界。
  • 控制每個角色可用工具。
  • 讓子 Agent 回傳結論,而不是原始日誌。
  • 主會話保留最終決策權。
  • 讓背景任務和 worktree 隔離保持可見。
  • 對插件 Agent 設定清楚安全邊界。

Subagent 的價值不在數量,而在分工品質。角色越清楚,上下文越乾淨,主線判斷越穩。

小結

Codex 和 Claude Code 都在解決同一個問題:單個 Agent 很難承載真實工程任務。它們都承認上下文隔離、角色專用、權限邊界和局部匯總的重要性。

差異在於取向。Codex 更克制,強調顯式派工和主會話控制;Claude Code 更體系化,把 Agent 做成可配置、可記憶、可隔離、可背景執行、可進入插件生態的正式工位。

選哪個,不是看哪個品牌贏,而是看你的工作方式需要受控協作工具,還是完整 Agent runtime。

记录并分享
使用 Hugo 建立
主題 StackJimmy 設計