Claude Code 與 Codex CLI:Harness 開發能力與工作流比較
文章摘要:從專案指示、Skills/Hooks、MCP、子代理、權限控制到 Agent SDK 與開源程式碼,整理兩款 coding CLI 的 Harness 客製方式與適用情境。
AI coding CLI 已經不只是「幫我補一行程式碼」,而是能讀取專案、修改檔案、執行指令並驗證結果的開發代理。本文聚焦 Anthropic 的 Claude Code 與 OpenAI 的 Codex CLI 如何打造和客製自己的 Agent 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 的優勢不只是「能改很多檔案」,而是可以把團隊慣例、重複流程和外部工具組合在一起。若要長期在大型專案使用,這些擴充點有助於減少每次重新說明背景的時間。

圖 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 接進自動化管線的團隊,這點特別實用。

圖 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 的行為、安全性和可維護性也會很不一樣。

圖 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、測試結果與權限要求,再逐步交付較大的工作。無論使用哪一個,最後的程式碼審查和測試仍應由工程師負責。

圖 5:Harness 能加速開發,但最後仍要由工程師檢查變更和測試結果。
總結
Claude Code 和 Codex CLI 都能處理終端機裡的程式理解、修改和驗證工作。Claude Code 的優勢在專案脈絡與流程擴充;Codex CLI 的優勢在沙箱/核准控制、開源透明度和腳本整合。選擇時先看你的工作流程、安全需求和現有工具,而不是單看宣傳或未經控制的 benchmark。
官方參考資料
- Claude Code:Overview
- Claude Code:CLI reference
- Claude Code:Skills
- Claude Code:Hooks
- Claude Code:Agent SDK overview
- Claude Code:Memory
- Claude Code:Costs and token usage
- OpenAI Codex:Codex CLI
- OpenAI Codex:Agent approvals and security
- OpenAI Codex:Skills
- OpenAI Codex:Configuration reference and lifecycle hooks
- OpenAI Codex:AGENTS.md
- OpenAI Codex CLI:GitHub repository











