結果はタスクの性質で分かれた
Claude Code(Opus 5)とCodex CLI(GPT-5.6 Sol)を、実務に近いコードベースに対するコードレビュータスクで2ケース比較しました。
1つ目のケースでは明確な差が出た一方、2つ目では有意な差がほとんどありませんでした。
差を説明する仮説は、「レビュー対象をAIがその場で実際に動かして検証できるかどうか」です。
実行できないケースでは静的なコード読解能力のツール(モデル)による差が結果に表れましたが、実行できるケースでは「どの仮説を立て、どの検証実験を行うか」という試行ごとの戦略選択がスコアを大きく左右していました。
また、今回使用した評価基準が、性能差を識別できることも別途トライアルで補助的に確認しています。
1. 背景と検証の枠組み
Claude CodeやCodex CLIにコードレビューを任せる場面が増えていますが、「どのツール・モデルを選ぶべきか」という判断基準が明確ではありません。
この記事では、実案件に近い2つのコードベースに対して、Claude Code(Opus 5)とCodex CLI(GPT-5.6 Sol)に同じ指示文でレビューを行わせ、あらかじめ用意した採点基準で評価しました。
ちなみに、この記事での比較は、モデル単体の比較ではなく、ツールとモデルの組み合わせに対する比較です。
Claude CodeとCodex CLIはモデルだけでなく、サンドボックスの権限設定やツール呼び出しの設計など、実行環境(ハーネス)も異なります。したがって、比較の単位は「ツール+モデル」の組み合わせです。
観察された差がモデルの判断力、ハーネスの挙動、あるいは両者の相互作用のどれに起因するのかは今回の検証では分離できません。以降「Opus 5」「GPT-5.6 Sol」と略記する場合も、それぞれClaude Code + Opus 5 / Codex CLI + GPT-5.6 Solの組み合わせを指します。
検証したかった問いは次の2つです。
- 同じ種類のレビュータスクで、Claude Code(Opus 5)とCodex CLI(GPT-5.6 Sol)の間にどの程度の性能差があるか
- その差はタスクによってどう変わるか。変わるとすれば、何がその要因になりそうか
評価は、指示文とコードベースを渡したうえで複数のツール(モデル)が実行し、結果を複数のモデルに独立して採点させ、評価項目ごとに中央値を取る方式で行いました。
Opus 5が実行したタスク結果をどのモデルが実行したかをわからないようにしてOpus 5とGPT-5.6 Solがそれぞれ採点します。GPT-5.6 Solが実行したタスク結果も同様にクロス評価します。
Claude Code, Codex CLIの実験タスク実行は、私の作業環境にあるskills等からは隔離された環境で実施しています。
本題に入る前に、この採点基準が性能差を識別できるものなのかを確認しておきます。
2. 評価基準は性能差を検出できているか
採点基準の識別力が低ければ、実際には性能差があっても検出できず、見かけ上「差がない」という結果になる可能性があります。
そこで補助的な確認として、ツールをClaude Codeに固定し、モデルだけをOpus 5からSonnet 5に変更して、後述するケースB(4章)と同じ対象・同じ採点基準で1回実行しました。
| スコア | 主要な回帰の発見 | タイミング競合の発見 | |
|---|---|---|---|
| Opus 5(3回) | 69〜80点 | 3回とも発見 | 3回とも発見 |
| Sonnet | 41点 | 見逃し | 「問題なし」と誤って断定 |
Opus 5の3トライアルでは、想定していた主要な回帰をすべて発見しました。
一方、Sonnetも実際にビルド・実行して検証していましたが、核心となる問題には気づかず、タイミング競合については「問題なし」と誤って結論づけました。
SonnetのスコアはOpus 5とは離れています。
1回だけの対照実験なので、これだけで評価基準の妥当性を証明できるわけではありませんが、性能差をまったく識別できないものではないことは確認できます。
この点を踏まえて、2つのケースを見ていきます。
3. ケースA - 明確な差が出たレビュー対象
対象は、あるJava製業務システムのソースコードです。認証・認可・入力値の扱いを中心としたセキュリティレビューを行いました。
各ツール(モデル)で2回ずつ実行しています。
| ツール(モデル) | スコア | 中央値 |
|---|---|---|
| Claude Code(Opus 5) | 93, 94 | 93.5 |
| Codex CLI(GPT-5.6 Sol) | 74, 82 | 78 |
中央値で15.5点の差が出ました。2回ずつの実行でスコア範囲が離れています。
評価項目のうち、特に差が大きかったのは、リクエスト由来の値をパス文字列へ無検証で連結し、そのまま再帰的なディレクトリ削除に渡してしまうパストラバーサル欠陥(単発1リクエストで任意のディレクトリを削除できる)でした。
Claude Code(Opus 5)は2回ともこの経路を指摘しましたが、Codex CLI(GPT-5.6 Sol)は2回とも一言も触れませんでした。
トライアル実行数は2回ずつと少ないものの、少なくとも今回の試行範囲では同じ傾向が再現しました。
コストと所要時間にも大きな差があります。
4. ケースB - 性能差がほとんど出なかったレビュー対象
対象は、あるRust製CLIツールへの実際の機能追加差分のソースコードレビューです。
機能単位で設計変更を伴う大きめのコード改修で、タイミング競合やパス処理に関する不具合が実在するコードです。
各ツール(モデル)で3回ずつ実行しました。
| ツール(モデル) | スコア | 中央値 |
|---|---|---|
| Claude Code(Opus 5) | 69, 72, 80 | 72 |
| Codex CLI(GPT-5.6 Sol) | 55, 70, 73 | 70 |
中央値の差はわずか2点でした。また、どちらもトライアル実行間のばらつきが大きく、この結果から明確な優劣をつけるのは難しいと考えます。
会話ログを確認すると、Opus 5で最高スコアの80点を取ったトライアル実行だけが、改修前のバイナリを別途ビルドし、問題のある入力値を使って新旧の挙動を比較する検証実験まで自発的に行っていました。
他の2回も改修前バイナリ自体はビルドしていましたが、それを別の既知の不具合の検証に使用しており、この比較実験までは行っていませんでした。
同様の構図はGPT-5.6 Solでも見られました。
GPT-5.6 Solのスコア55となったトライアル実行では、あらかじめ想定していた主要な不具合には一言も触れませんでした。その一方で、別の実在するタイミング競合を発見し、具体的な行番号、攻撃シナリオ、修正方針まで含めて詳細に指摘していました。つまり、単純にレビューの質が低かったのではなく、探索の重点が別の実在する問題に向いていたわけです。
ケースBで大きかったのは、単純なコード読解力の差というよりも、どの仮説を立て、どの検証実験を選択するかという違いでした。
Opus 5とGPT-5.6 Solとではコストの差の傾向は不明です
所要時間ではGPT-5.6 Solのほうが短いです。
5. なぜ結果が分かれたのか
同じ「コードレビュー」でありながら、ケースAとケースBでは結果の出方が対照的でした。ケースAではOpus 5のほうがスコアがよかった一方、ケースBではばらつきが大きく差がわかりませんでした。
今回の結果の違いを説明する仮説は、レビュー対象を実際に動かして検証できる環境かどうかです。
ケースAのJava業務システムでは、検証環境にJavaの実行環境がなく、ビルド・実行という選択肢そのものがありませんでした。そのため、両者は主に静的なコード解析によって問題を発見する必要があり、その条件下では明確なスコア差が表れました。
一方、ケースBのRust製CLIツールはその場でビルド・実行できました。そのため、「実際に動かして確かめる」という追加の探索手段を利用できます。
実際、ケースBでは、どの動的検証を行ったかが個々のトライアルの結果を大きく左右していました。その結果、Opus 5とGPT-5.6 Solの中央値の差は小さくなっています。
したがって今回の2ケースからは、
- 実行による検証手段が利用できるかどうかによって、ツール・モデル間の差の現れ方が変わる
という仮説が得られました。
ただし、ケースAとケースBではプログラミング言語、対象システム、レビュー内容、技術的難易度も異なります。そのため、「実行環境の有無」が原因だったとこの2ケースだけから断定することはできません。この仮説を検証するには、同じコードベースに対して実行環境の有無だけを変えるなど、追加の実験が必要です。
6. 限界
今回の検証には限界があります。
- 各条件のトライアル数は2〜3回と少なく、統計的に有意な結論ではありません
- 対象コードベースは2つだけで、プログラミング言語やシステムの性質も異なります
- 「実行環境の有無」だけを独立して操作した実験ではないため、それが結果の差を生んだ原因だとは断定できません
- 観察対象はコードレビューに限定されており、実装や設計など他のタスクにはそのまま一般化できません
したがって、今回の結果は一般的なベンチマークというより、実務に近い条件で観察されたケーススタディです。
7. まとめ
2つの実務コードレビュータスクでClaude Code(Opus 5)とCodex CLI(GPT-5.6 Sol)を比較したところ、ツール(モデル)間の差の出方はタスクによって大きく異なりました。
ケースAではツール(モデル)間で15.5点のスコア差が生じ、ケースBではツール(モデル)間よりも実行ごとのばらつきのほうが大きかったです。
この違いを説明する有力な仮説が、「レビュー対象を実際に動かして検証できるかどうか」です。
実行できるケースでは、AIがどの仮説を立て、どの検証実験を行うかが結果を大きく左右しました。一方、実行できないケースでは、ツール(モデル)間の差がより直接的にスコアへ表れました。
ただし、対象は2ケースだけであり、この仮説を一般化するには追加検証が必要です。
バージョン情報
- Claude Code: 2.1.233
- Codex CLI: 0.147.0











