エージェント機能

Claude CodeとCodexの違いを同じ制作依頼で比べる

Claude CodeとCodexの違いを同じ制作依頼で比べる
記事の手順を整理したオリジナル図解

Claude CodeとCodexに、架空の制作依頼8件と同じ判定規則を渡して1回ずつ実行しました。照合結果はどちらも8件すべて一致です。この記事では、配布教材を使って同じ条件で比べる手順、結果の読み方、確認文の違い、費用と時間を比べるときの注意をまとめ、どちらを使うかを自社の条件で判断する軸を示します。

この比較で分かることと実行条件

Claude CodeとCodexのどちらを仕事に使うかは、評判を読むより、同じ入力と同じ判定基準で両方を動かした方が判断しやすくなります。この記事では、架空の広告制作依頼8件(requests.json)と判定規則(judging-rules.md)を両方のCLIに渡し、それぞれ独立に1回ずつ実行しました。その結果をもとに、比較の手順と結果の読み方を説明します。

横にスクロールして比較できます

項目Claude CodeCodex
実行日時(UTC)2026-10-14 09:252026-10-14 09:35
CLIバージョン2.1.285codex-cli 0.145.0
モデルclaude-opus-5-5gpt-5.6-terra(reasoning effort medium)
実行モードprint、読み取り専用ツール、MCPサーバーなし、新規セッション新規CLIセッション、読み取り専用、config.toml を読まない
認証Claudeサブスクリプション記録なし
結果の保存CLIが返したJSONをホスト側のスクリプトが保存同じ
実行回数1回1回
入力のSHA-256f1c65d57…f8faf8f30同じ
規則のSHA-256d16a1c22…b1822b85同じ

両CLIとも、プロンプトでは結果を返すよう指示しただけで、ファイルへの書き込みは依頼していません。そのため、AIがファイルを保存する動作は今回測っていません。入力と規則が同じことはハッシュ値で確かめていますが、モデルと設定は製品ごとに違います。ここから言えるのは「この8件をこの条件で1回処理した結果」だけで、製品全体の優劣は判断できません。

同じ入力で両方を動かす手順

教材の 練習セット を使います。ZIPを展開すると production-review-practice/ という最上位フォルダができます。その中の exercise/ に入力3ファイル(requests.json、judging-rules.md、prompt.txt)、answer-key/ に期待結果と照合スクリプトが入っています。

AIに期待結果を見せないため、exercise/ の3ファイルだけを練習フォルダへコピーします。2つのCLIの出力が混ざらないように、CLIごとに別のフォルダを作ります。

cd production-review-practice   # ZIPを展開してできた最上位フォルダ
for d in claude codex; do
  mkdir -p ~/cc-practice/request-check-$d
  cp exercise/requests.json exercise/judging-rules.md exercise/prompt.txt ~/cc-practice/request-check-$d/
done

コピーしたファイルが今回の比較と同じものかを確かめます。

cd ~/cc-practice/request-check-claude
shasum -a 256 requests.json judging-rules.md
# requests.json    f1c65d572da7aac4ac4894d185663bff7d6e9154f8babc8b89176b3e1faf8f30
# judging-rules.md d16a1c22230e222e3ad6d20b00322fe2f0197f9c53fd4874a2a39176a1822b85

Claude Codeは、コピー先のフォルダで次のように起動します。設定の読み込み元を project だけにしたうえで、--strict-mcp-config と空の --mcp-config を指定し、MCPサーバーを使わない状態で実行します。なお、組み込みツールを絞る --tools はMCPツールには効きません。MCPを外すには上の2つのフラグが必要です。

cd ~/cc-practice/request-check-claude
claude -p --tools Read --allowedTools Read --setting-sources project \
  --strict-mcp-config --mcp-config '{"mcpServers":{}}' \
  "$(cat prompt.txt)" > claude-output.txt

Codexは codex exec で実行します。codex exec は標準で読み取り専用のサンドボックスで動き、標準出力には最後の応答だけが出ます。--ignore-user-config は config.toml を読まないための指定です。execpolicyの .rules ファイルを外す指定は別にあり(--ignore-rules)、今回の実行では使っていません。そのため、.rules が外れた条件だとは言えません。また、CodexはGitリポジトリの中で実行することが前提なので、Codex用のフォルダでは先に git init します。

cd ~/cc-practice/request-check-codex
git init
codex exec --sandbox read-only --ignore-user-config "$(cat prompt.txt)" > codex-output.txt

モデルとreasoning effortは実行環境の設定で指定しました。指定方法はこの記事では扱いません。自分で試すときは、使ったモデル名を必ず記録してください。

今回の実測では、ホスト側のスクリプトが各CLIの出力JSONを actual-results.json として保存しました。読者が試すときは、出力ファイルからJSON部分を同じ名前で保存します。前後に説明文やコードフェンスが付いていて手で取り除いた場合は、その作業も修正として記録します。

保存できたら、教材の最上位フォルダに戻って照合します。

cd /path/to/production-review-practice
python3 answer-key/check_result.py ~/cc-practice/request-check-claude/actual-results.json
python3 answer-key/check_result.py ~/cc-practice/request-check-codex/actual-results.json

結果の正確さ 8件の照合

照合の結果は、どちらも8件中8件一致でした。IDの重複や欠落もありません。照合スクリプトが比べるのは id、decision、issue_codes の3項目だけです。規則は11条あり、記録するissue codeは10種類です。8件の中に10種類が1回ずつ出てくる構成になっています。

横にスクロールして比較できます

ID入力の状態判定記録されたコード両者一致
R01不足なしreadyなしはい
R02目的と対象者が空holdmissing_objective, missing_target_audienceはい
R03素材許可が unknownholdasset_permission_unconfirmedはい
R04締切と確認者が空holdmissing_deadline, missing_reviewerはい
R05尺が0秒holdinvalid_durationはい
R06尺が15秒と30秒holdconflicting_durationはい
R07訴求と根拠資料が空holdmissing_approved_claim, missing_source_refはい
R08締切が基準日の前日holdpast_deadlineはい

この結果から分かるのは、空欄・矛盾・日付を規則どおりに分類できたことです。ただし、実行はそれぞれ1回だけです。繰り返したときの安定性や、件数を増やした場合、あいまいな表現が混じる実際の依頼文での結果は測っていません。照合に通っても、あらゆる制作依頼に対応できるという意味にはなりません。

人の確認と修正で見る点

照合の対象外である confirmation(確認事項の日本語説明)は、両者で内容が違いました。

横にスクロールして比較できます

IDClaude CodeCodex
R01確認事項なし(架空の制作確認担当 Aの確認を経て進行可)確認不要
R03架空の制作確認担当 Aに素材の使用許可の有無を確認する依頼者に素材利用許可の承認状況を確認
R05架空の制作確認担当 Aに正しい動画尺(1秒以上)を確認する依頼者に1秒以上の整数の動画尺を確認
R08架空の制作確認担当 Aに締切(2026-10-13で経過済み)の再設定を確認する依頼者に基準日後の締切日を確認

Claude Codeは、入力の reviewer 欄の担当者を確認先にした回答が多く、Codexはすべて「依頼者」を確認先にしていました。判定規則には確認先の決め方が書かれていないので、どちらが正しいとは言えません。R01の「確認を経て進行可」という文面も、規則にない進め方を付け加えたものです。

実務では、次の2点を判断の材料にします。

  • 人に回す文面は照合スクリプトの対象外なので、人が読んで確かめる前提で運用する

  • 誰に確認するかが業務上重要なら、AIごとの書き方を比べる前に、判定規則へ確認先の決め方を1行加える

人が結果を確認・修正した時間は、今回どちらも測っていません。依頼の確認手順そのものはClaude Codeで制作依頼の不足を確認する記事で扱っています。

費用と所要時間の読み方

ログに残った数値は次のとおりです。どちらも参考値で、この数値で順位は付けられません。

横にスクロールして比較できます

項目Claude CodeCodex
壁時計時間21.814秒37.792秒
費用CLI報告値 0.0702274 USD(一覧価格ベース)請求額は未取得
トークン入力4、キャッシュ作成6,594、キャッシュ読み取り3,897、出力834入力53,754(うちキャッシュ33,280)、出力647、推論137

壁時計時間は、キャッシュの有無やツールの動き、ネットワークの状態で変わります。どちらのログにもキャッシュ読み取りがあるため、条件をそろえた速度測定にはなっていません。

Claude Codeの費用はCLIが報告した見積もりで、クライアント側の見積もりは請求額と異なる場合があるとされています。今回はサブスクリプション認証なので、この金額が追加で請求されるわけではありません。Codexは請求額を取得していないため、費用は比較できません。トークン数もモデルや数え方が違うので、そのまま並べて評価しません。作業1回あたりの費用の測り方はClaude Codeの作業費用を確認する記事を参照してください。

自社でどちらを使うかを決める軸

今回の8件では、正確さに差は出ませんでした。実際にどちらを使うかは、次の4つの軸で自社の運用に合う方を選びます。表の内容は、Claude CodeのCLIリファレンスとCodexの非対話モードの説明に書かれている範囲に限っています。

横にスクロールして比較できます

軸Claude CodeCodex
役割の設定--append-system-prompt-file で規則を追加し、--agents で担当別のサブエージェントを定義する役割を定義する仕組みは今回の資料で確認していない。最終応答の形は --output-schema でJSON Schemaに合わせられる
扱うフォルダ作業ディレクトリと、--add-dir で追加したフォルダ--sandbox で read-only(既定)、workspace-write、danger-full-access を選ぶ
確認と差分の扱い--permission-mode plan で計画だけを出させ、--worktree で隔離したgit worktreeを使うGitリポジトリ内での実行が前提。CIの例では、変更をパッチとして書き出し、別のジョブで適用する
組織の契約サブスクリプション、またはConsoleでのAPI課金APIキー(CODEX_API_KEY)、またはChatGPTで管理されたアカウント

ここに挙げたのは、各CLIの中での動作範囲を決める仕組みです。接続先サービスの認証や権限設計の代わりにはなりません。また、架空の課題で動作を確かめることと、法人として契約条件を審査することは別の作業です。契約や保持期間などは、法人確認票で別に確認します。

次の一歩

練習セットの8件で両方のCLIを1回ずつ実行し、比較記録用紙の run-log.csv に1行ずつ記録します。example-baseline の行は今回のClaude Code側の値で、Codexの値は入っていません。測っていない欄は、0ではなく空欄のまま残します。そのうえで、確認先の決め方など自社の規則を1行加え、同じ手順で比べ直してください。

参考情報

  1. cli reference
  2. non interactive mode

TRY THIS WORKFLOW

自分の仕事で試す

制作依頼8件の練習セットを使い、入力と確認の手順を手元で試せます。登録は不要です。

教材を使う →法人導入の相談をする →検証と編集の方針