跳至主要內容
技術

Claude Code vs Codex:一張不容易過期的功能對照表

Claude Code vs Codex:一張不容易過期的功能對照表
Updated: 2026-07-14
Codex 和 Claude Code 雙修 第 2 / 7 篇 ,前往系列總覽

本篇是「Codex 和 Claude Code 雙修」系列的第 2 / 7 篇。你可以從系列總覽開始閱讀,也可以直接接著看本文。

把 Claude Code 換成 Codex 時,我最早做的是整理一張「這個功能在另一邊叫什麼」的表。很快就發現,逐一抄旗標不是好方法:CLI 更新後,最先過期的就是模型名稱、預設模式和實驗功能。

這篇改用比較耐久的方式,對照兩邊的能力與責任邊界。指令只保留穩定入口;實際使用前,仍應跑一次 claude --helpcodex --help

這是系列第 2 篇,內容查核日期為 2026-07-14。上一篇先談如何依權限、環境與工作流分工

先看總表

工作Claude CodeCodex是否可直接對照
互動式 codingclaudecodex大致可以
非互動執行claude -pcodex exec可以,但輸出與 session 行為不同
專案規則CLAUDE.mdAGENTS.md概念相近,載入規則不同
專案設定.claude/settings.json.codex/config.toml不可共用格式
權限控制permission modes + rulesapproval policy只能部分對照
執行隔離sandboxsandbox mode概念相近,實作依平台而異
可重用工作流SkillsSkills共用核心格式
外部工具MCPMCPserver 可共用,client 設定分開
次級 agentsubagents / agent teamssubagents能力相近,協作模型不同
檢查變更自訂 review 工作流codex reviewCodex 有明確入口;兩邊都可用 prompt review

這張表最重要的欄位是最後一欄。看到概念相近,不代表能把設定原封不動搬過去。

互動模式與非互動執行

兩邊最基本的入口很接近:

claude
codex

要放進腳本或 CI,則分別使用:

claude -p "Explain the current diff"
codex exec "Explain the current diff"

兩邊都能輸出機器可讀結果,但參數名稱與 session 行為不同。Claude Code 可搭配 --output-format--json-schema,Codex 可用 --json--output-schema--output-last-message。自動化時要把 schema、exit code、逾時和空輸出都當成介面的一部分,不要只解析自然語言。

如果腳本要可重現,還要固定:

  • 工作目錄;
  • 權限與沙箱設定;
  • 可用工具;
  • 是否保留 session;
  • 允許讀取哪些 repo instructions。

模型名稱反而不適合寫死在通用教學裡。帳號方案、CLI 版本與可用模型都會變,應從當下的模型選擇介面或官方文件確認。

權限:不要只背「危險模式」的對照

最容易被抄進筆記的對照通常是:

claude --dangerously-skip-permissions
codex --yolo

兩者都會跳過重要護欄,但不是安全模型的完整描述,也不該成為預設設定。

Claude Code 使用 permission mode 搭配 allow/deny rules,並可用 sandbox 限制 Bash 指令。Codex 則把 approval policy 與 sandbox mode 分成兩個維度。以 Codex 為例:

codex -a on-request -s workspace-write
codex exec -a never -s read-only "Review the current diff"

第一行允許在工作區寫入,必要時詢問;第二行不等待批准,但程序只有讀取權限。never 不是「什麼都能做」,它只表示不會詢問,實際能力仍受 sandbox 限制。

反過來說,--yolo 會同時放寬重要限制。只有在容器、VM 或隔離 runner 已經把檔案、網路與 credentials 關好時,才考慮使用。

官方參考:Claude Code permission modesCodex approvals and securityCodex sandboxing

專案規則與設定檔要分成兩層

我會把檔案分成「告訴 agent 怎麼工作」和「控制 client 怎麼執行」兩類:

專案規則

Claude Code  CLAUDE.md
Codex        AGENTS.md

內容適合放架構、指令、測試要求、命名慣例與禁止事項。Claude Code 可以從 CLAUDE.md 匯入 AGENTS.md,所以共用核心不必複製兩份。

執行設定

Claude Code  .claude/settings.json
Codex        .codex/config.toml

這裡才放權限規則、hooks、MCP 或 client 行為。Codex 也支援受信任專案內的 .codex/config.toml,不是只能改使用者層級的 ~/.codex/config.toml

兩邊都有多層設定與覆寫規則。不要因為檔名看起來相近,就假設 precedence 也一樣。第三篇會整理一個可維護的 repo 結構。

Skills:共同語言,但不是完全相同的 runtime

Claude Code 與 Codex 都支援 Agent Skills 規格,核心是一個含 frontmatter 的 SKILL.md。因此,任務步驟、參考資料與腳本通常可以共用。

差別在掃描位置和工具專屬欄位:

Claude Code  .claude/skills/<name>/SKILL.md
Codex        .agents/skills/<name>/SKILL.md

格式相容不代表執行結果相同。Skill 如果依賴某個 client 才有的工具、hook、subagent 類型或權限模式,就要加上相容性說明,或拆出薄薄的工具專屬 adapter。

另外,Codex 的 custom prompts 已標記為 deprecated,新的可重用流程應優先寫成 Skills;Claude Code 的舊式 commands 也已併入 Skills 的使用方式。不要再把 ~/.codex/prompts.claude/commands 當成長期共用方案。

MCP:共用 server,不共用設定格式

兩邊都是 MCP client,所以同一個 filesystem、資料庫或內部 API server 可以各自註冊:

claude mcp list
codex mcp list

但 client 設定、環境變數轉交與 OAuth token 仍各自管理。Claude Code 常用 .mcp.json 保存 project scope;Codex 則放在 config.tomlmcp_servers。第五篇會提供不把 secret 寫進 repo 的範例。

Subagents:都有,但不要把名稱當成相同架構

Claude Code 有 subagents,也提供實驗性的 agent teams;Codex 支援 subagents,互動介面可檢視或切換 agent。兩邊都能把研究、實作、測試或 review 拆給次級 agent,但上下文傳遞、工具限制與結果彙整方式並不相同。

實務上先定義任務邊界,比先追求最多 agent 更重要:

  • 每個 agent 只負責一個可驗證輸出;
  • 說清楚能否改檔;
  • 指定回報格式;
  • 避免多個 agent 同時改同一段程式;
  • 最後由單一 owner 整合和跑測試。

Review、checkpoint 與 session:這些最不適合硬配對

Codex 有 codex review,可針對未提交變更、base branch 或特定 commit 檢查。Claude Code 沒有完全相同的 shell 子指令,但可以在唯讀/plan 工作流中 review diff。

Claude Code 的 checkpointing 與 /rewind,和 Codex 的 resume、fork 也不是同一件事:一邊偏向回復對話中的程式狀態,一邊偏向延續或分岔 session。選擇時先問自己要的是「復原檔案」、「回到對話節點」,還是「保留原 session 開新分支」。

一張實際選擇表

情境建議起點
邊讀邊問、逐步探索選你較熟悉的互動 CLI,先用唯讀/plan 模式
CI 產生結構化結果claude -pcodex exec,加 schema 與明確 exit policy
高風險 repo先縮小 sandbox、network 和 secrets,再談自動化
跨工具共用規則AGENTS.md 做核心,CLAUDE.md 匯入並補充
跨工具共用流程寫成標準 Skill,分別放到兩邊的 discovery 路徑
第二意見author 完成 diff 後,讓另一個工具唯讀 review,再跑測試

最耐用的對照不是「A 旗標等於 B 旗標」,而是知道每個設定到底控制哪一層。CLI 更新時,只要重新查該層的入口,不用推翻整套工作流。

上一篇:Claude Code 和 Codex 怎麼分工? · 下一篇:共用專案規則:CLAUDE.md、AGENTS.md 與設定檔

留言討論

esc
輸入關鍵字搜尋文章...
查看收藏 →