Claude Code 與 Codex CLI:Harness 開發能力與工作流比較

文章摘要:從專案指示、Skills/Hooks、MCP、子代理、權限控制到 Agent SDK 與開源程式碼,整理兩款 coding CLI 的 Harness 客製方式與適用情境。

AI coding CLI 已經不只是「幫我補一行程式碼」,而是能讀取專案、修改檔案、執行指令並驗證結果的開發代理。本文聚焦 Anthropic 的 Claude Code 與 OpenAI 的 Codex CLI 如何打造和客製自己的 Agent Harness,也就是圍繞模型的專案指示、記憶、工具、權限、工作流程與驗證機制。重點不是哪個模型單次寫得更好,而是哪一套更適合你的工程工作流與治理需求。

Claude Code 與 Codex CLI 的 Harness 工作環境示意圖

圖 1:Harness 把模型、專案指示、工具與權限組成可工作的開發環境。

先說結論:兩者都具備「理解程式碼 → 修改 → 執行驗證」的核心循環,也都能擴充 Skills、MCP 和子代理。Harness 的差異主要在擴充入口:Claude Code 提供生命週期 Hooks,並有可用 Python/TypeScript 程式化建置代理的 Agent SDK;Codex CLI 則把沙箱與核准控制、codex exec 自動化入口,以及可檢視與 fork 的開源 CLI 放在明顯位置。選擇要看你想客製流程、建置自己的 Agent 應用,還是直接掌握執行環境與程式碼。

本文範圍:「Codex」指 OpenAI 的終端機工具 Codex CLI,不包含 Codex Web 或其他 IDE 產品。CLI 功能與計費方案會更新,細節請以文末官方文件為準。

一、Claude Code:適合多步驟、多檔案工作

Claude Code 是 Anthropic 的 agentic coding tool。在專案目錄中啟動後,可以請它先了解程式結構,再規劃變更、編輯檔案、執行測試,並依照結果繼續修正。工程師可以查看它使用的工具、執行的指令和檔案差異,並透過權限設定決定哪些操作需要確認。

主要特色

  • 跨檔案完成開發任務:不只修改目前開啟的檔案,也能搜尋整個 repository,連動更新程式、測試和相關文件。
  • 專案指示與記憶:CLAUDE.md 可記錄架構、coding style、測試命令等團隊規範;Auto Memory 則可保留工作中累積的偏好或專案資訊。重要規則仍建議明確寫在專案文件或權限設定中。
  • Skills 與 Hooks:Skills 將常用流程整理成可重複使用的指引;Hooks 可在特定工作階段事件前後執行命令,例如格式檢查或通知。
  • Subagents 與 MCP:Subagents 可分擔研究或檢查工作;MCP 可連接外部工具和資料來源,依需求擴充工作流程。
  • 多種使用介面:除終端機外,也提供 IDE、桌面與網頁等工作介面;相同專案指示和部分設定可在不同介面使用。

對工程師來說,Claude Code 的優勢不只是「能改很多檔案」,而是可以把團隊慣例、重複流程和外部工具組合在一起。若要長期在大型專案使用,這些擴充點有助於減少每次重新說明背景的時間。

AI coding agent 在多個程式檔案與測試之間執行重構

圖 3:透過 Harness,Agent 可以依序處理多個檔案並把測試結果納入工作流程。

二、Codex CLI:適合重視控制與自動化的工作

Codex CLI 是 OpenAI 的終端機 coding agent,可在本機 repository 中檢查程式碼、編輯檔案並執行已安裝的開發工具。互動使用時,可以查看操作並在過程中補充指示;也能用非互動命令接到 script 或 CI。

主要特色

  • 沙箱與核准控制:Sandbox 決定工具能操作哪些檔案或資源;Approval policy 決定哪些操作要先詢問。預設安全設定會限制工作目錄外的寫入,並關閉網路存取;可依任務需要調整。
  • 本機開發循環:可以在終端機探索程式碼、規劃變更、執行本機測試,並檢查 diff。
  • Script 與 CI 整合:codex exec 可用非互動方式執行任務,方便放入重複性工作流程。
  • Review 與工作延續:可針對變更做 code review,並用 codex resume 回到先前的對話。CLI 也提供圖片輸入、即時網路搜尋、Subagents、MCP 和雲端工作流程等功能。
  • Skills 與 AGENTS.md:Skills 可封裝可重複使用的任務指引;AGENTS.md 用來提供全域或專案層級的工作規範。Codex CLI 本身則以 Apache-2.0 授權公開在 GitHub。

Codex CLI 最容易辨識的優點,是「能做什麼」和「需要先問什麼」可以分開設定。對需要在受控環境工作、希望保留清楚核准流程,或要把 agent 接進自動化管線的團隊,這點特別實用。

工程師在安全沙箱和核准邊界內檢查 coding agent 的操作

圖 4:沙箱和核准設定能把 Agent 的操作限制在明確範圍內。

三、差異比較

比較面向 Claude Code Codex CLI
產品定位 Anthropic 的 coding agent,支援多種工作介面 OpenAI 的本機終端機 coding agent
核心工作 讀取專案、編輯檔案、執行命令與測試 檢查 repository、編輯檔案、執行本機工具
專案指示 CLAUDE.md;另有 Auto Memory AGENTS.md;可用 codex resume 接續 session
可重複流程 Skills、Hooks、Subagents、MCP、Plugins Skills、Plugins、Subagents、MCP、codex exec
安全設定 Permission modes 與 permission rules 控制工具使用 Sandbox 與 approval policy 分開控制;預設限制工作目錄寫入與網路
自動化 Print mode、Agent SDK 與 CI/CD 整合 codex exec 適合 script 和 CI 任務
程式碼公開狀態 官方 CLI 原始碼未以開源專案發布 CLI repository 以 Apache-2.0 授權公開
使用模型與費用 依 Anthropic 支援的模型和方案/API 計費 依 OpenAI 支援的模型和方案/API 計費

Harness 開發能力:如何客製 Agent 的工作方式?

可以把 Harness 想成模型外面的「工作環境與規則層」。它負責告訴 Agent 專案怎麼運作、有哪些工具可用、什麼操作需要核准、如何拆分任務,以及用什麼方式驗證成果。就算底層模型不變,Harness 設計不同,Agent 的行為、安全性和可維護性也會很不一樣。

把專案規範、Skills、工具和驗證流程連在一起的 Harness 示意圖

圖 2:Harness 的各個部分共同決定 Agent 如何接收指示、呼叫工具與檢查結果。

Harness 面向 Claude Code Codex CLI
專案指示與脈絡 CLAUDE.md、路徑規則與 Auto Memory;可把長期規範和工作中累積的資訊分開管理。 AGENTS.md 會依全域、專案和目錄層級組成指示鏈;config.toml 管理模型、權限等 CLI 設定。
可重複工作流程與 Hooks Skills、命令與 Plugins 封裝慣例;Hooks 可在 session、prompt 或工具呼叫等生命週期事件執行 command、HTTP、MCP 或其他處理。 Skills、Plugins 與 MCP 可重用指引和工具;也支援透過 hooks.json 或 config.toml 設定 lifecycle hooks,並可用 codex exec 接 script 或 CI。
外部工具與任務分工 MCP 連接外部服務,Subagents 分擔研究或專項工作;Agent SDK 可把這些能力帶進自建應用。 MCP 連接工具,Subagents 協助拆分任務,也可搭配 Codex cloud 工作流程。
權限與安全 Permission modes 和 permission rules 決定哪些工具能使用、哪些操作要先確認。 Sandbox 決定可碰觸的資源,approval policy 決定何時詢問;本機預設限制 workspace 寫入並關閉網路存取。
程式碼層級客製 官方 Agent SDK 提供 Python/TypeScript 介面,可程式化使用 Claude Code 的 agent loop、工具、權限、sessions、hooks 和 context management。 Codex CLI 原始碼以 Apache-2.0 公開,可檢視與 fork CLI 本身;配置與自動化則可從 config.toml、Skills、MCP 和 codex exec 開始。

實務上怎麼判斷:兩者都已有生命週期 Hooks、Skills、MCP 和子代理,不應把「有沒有這項功能」當成唯一差異。更值得比較的是設定與整合方式:Claude Code 的 Hooks 可接 command、HTTP、MCP 等處理,Agent SDK 也提供程式化建置入口;Codex CLI 可用 hooks.json/config.toml 設定 hooks,並以開源程式碼、沙箱設定和 codex exec 掌握 runtime 與自動化。

需要特別注意,Agent SDK 和 CLI 原始碼客製是兩種不同路線:前者是在 Python/TypeScript 應用中使用官方 Agent 能力,後者是閱讀或 fork CLI 專案。若你的目標只是讓團隊工作方式一致,通常先從 CLAUDE.md/AGENTS.md、Skills 和權限設定開始,不必一開始就自行維護整套 Harness。

四、Skills、專案指示與 Memory

兩邊都能使用 SKILL.md 格式,把特定任務的步驟和參考資料整理成可重複使用的 Skill。Claude Code 的專案 Skills 常放在 .claude/skills/;Codex 的 repository Skills 常放在 .agents/skills/。基本概念相近,但目錄、額外設定和呼叫方式不完全相同,跨工具共用前要分別測試。

專案長期規則方面,Claude Code 使用 CLAUDE.md,並提供 Auto Memory;Codex 使用 AGENTS.md 逐層提供指示,也能接續既有 session。兩者的自動記憶與 session 功能不是完全相同的東西。團隊的重要決策、架構說明和不可違反的規範,最好放在可審查的 repository 文件、測試或權限規則裡,不要只依賴 agent 自己記住。

五、各自適合的情境

Claude Code 的優勢

  • 要跨多個模組重構,並希望 agent 自己依序探索、修改和驗證。
  • 團隊有固定的 review、測試、部署等流程,想用 Skills 和 Hooks 穩定重複執行。
  • 需要連接外部工具,或希望用 Subagents 分拆調查工作。
  • 希望在終端機、IDE、桌面或網頁介面間切換。

Codex CLI 的優勢

  • 安全邊界和操作核准是首要考量,想清楚控制工作目錄與網路存取。
  • 希望 agent 的程式碼能被檢視、稽核或依開源授權客製化。
  • 有重複性的 CLI 工作,需要以 codex exec 整合到 script 或 CI。
  • 工作內容範圍明確,想在本機終端機中快速完成檢查、修改和 review。

六、Token 消耗和費用怎麼比?

目前不適合直接說哪一個 CLI 一定比較省。實際用量與費用會受到所選模型、輸入與輸出長度、程式碼脈絡、推理設定、工具呼叫次數、快取和訂閱方案影響。相同任務在不同 repository 上也可能差很多;官方文件沒有提供兩者在完全相同條件下的通用 token 消耗結論。

比較務實的做法是選一個手邊真實任務,固定需求、檔案範圍和驗收條件,各跑一次,再一起比較完成品質、花費時間和實際用量。減少不相關的 context、保持 CLAUDE.md/AGENTS.md 精簡、關掉不需要的 MCP,通常比追逐單一「省 token」排名更有幫助。費率和方案也會調整,請以官方定價及用量頁面為準。

七、怎麼選?

你的主要需求 可以先試
大型、多步驟的跨檔案工作,以及可客製的團隊流程 Claude Code
清楚的本機沙箱與核准控制 Codex CLI
重複任務要接到 script 或 CI Codex CLI;也可評估 Claude Code 的自動化介面
需要 Skills、MCP 或子代理工作流 兩者皆可,依現有設定與團隊熟悉度選擇
第一次使用 terminal coding agent 先從你已經使用的模型與工具生態系開始

兩種工具也可以並用,按任務挑選即可。建議先在小範圍任務上試用,檢查它提出的 diff、測試結果與權限要求,再逐步交付較大的工作。無論使用哪一個,最後的程式碼審查和測試仍應由工程師負責。

兩位工程師一起檢視 coding agent 產生的程式差異與測試結果

圖 5:Harness 能加速開發,但最後仍要由工程師檢查變更和測試結果。

總結

Claude Code 和 Codex CLI 都能處理終端機裡的程式理解、修改和驗證工作。Claude Code 的優勢在專案脈絡與流程擴充;Codex CLI 的優勢在沙箱/核准控制、開源透明度和腳本整合。選擇時先看你的工作流程、安全需求和現有工具,而不是單看宣傳或未經控制的 benchmark。

官方參考資料

Facebook 分享 Threads 分享 LINE 分享
Copyright © 2025 - 崽崽貓 zaizaicat