― Codex / Claude 実装検証レポート ―
はじめに
近年、エージェント型AIを使って「ある程度まとまった量のコード」を自動生成するケースが増えてきました。
しかし、
- 本当に仕様通りに動くのか
- パフォーマンスや保守性に差はあるのか
- 実務で使うとしたらどのAIが向いているのか
といった点は、実際に試してみないと分かりません。
今回は C#でのデータ処理システムを題材に、
Codex と Claude の2つのコード生成AIを、同一条件で比較検証しました
(Geminiは途中でデグレードが頻発したため今回は除外)。
検証内容の概要
テーマ
C#で以下の処理を行うコンソールアプリをAIに実装させる。
- CSVファイルを読み込み
- 3テーブル相当のデータを扱う
- 内部結合(INNER JOIN)結果をCSV出力
- 外部結合(LEFT JOIN)+集計結果をCSV出力
データ規模
| 種別 | Customers | Orders | Payments |
|---|---|---|---|
| Small | 10 | 50 | 30 |
| Large | 100,000 | 1,000,000 | 700,000 |
評価観点(100点満点)
| 観点 | 配点 | 内容 |
|---|---|---|
| ① 正確性 | 40 | Smallデータで仕様通りのCSVが完全一致するか |
| ② 可読性 | 25 | 構成・保守性・実装の分かりやすさ |
| ③ 処理速度 | 25 | Largeデータでの実行時間 |
| ④ コード量 | 10 | 空行除外の行数(LOC) |
① 正確性(Smallデータ)
判定方法
- AIとは別に用意した 参照実装 で golden(正解CSV)を生成
- WinMerge による 完全一致比較
- 並び順・小数表記・未払い処理まで含めて厳密に確認
結果
| AI | inner_join_output | left_join_aggregate | 点数 |
|---|---|---|---|
| Claude | 一致 | 一致 | 40 / 40 |
| Codex | ❌不一致 | 一致 | 20 / 40 |
Codexの問題点
- INNER JOIN結果で OrderIdを文字列としてソート
1, 10, 100, 2 ...のような並びになり、仕様違反
👉 仕様遵守という観点ではClaudeが明確に優位でした。
② 可読性・保守性
評価基準(5項目 × 5点)
- 責務分離(構成)
- 命名
- エラー処理・ログ
- データ構造の妥当性
- CLI引数処理の堅牢性
実装の特徴
- Codex
- すべて
Program.csに集約 - 命名・データ構造は良好
- CLI引数で
"を正しく扱えず、回避実行が必要
- すべて
- Claude
- 複数ファイルに分割され、構成が整理されている
- 命名・データ構造は良好
- CLI引数が正しく認識されないバグあり
採点結果
| AI | 可読性スコア |
|---|---|
| Claude | 18 / 25 |
| Codex | 16 / 25 |
③ 処理速度(Largeデータ)
Largeデータを各AIで3回実行し、中央値を採用。
| AI | ReadMs | ProcessMs | WriteMs | TotalMs |
|---|---|---|---|---|
| Claude | 2011 | 1874 | 667 | 4553 |
| Codex | 1960 | 1524 | 1027 | 4514 |
- 差は 約0.9%
- 実用上は 同等性能
👉 両者とも 25 / 25点(同着)
④ コード量(LOC)
空行除外の行数。
| AI | LOC | 点数 |
|---|---|---|
| Claude | 437 | 10 / 10 |
| Codex | 499 | 8 / 10 |
最終スコア(100点満点)
| AI | 正確性 | 可読性 | 速度 | コード量 | 合計 |
|---|---|---|---|---|---|
| Claude | 40 | 18 | 25 | 10 | 93 |
| Codex | 20 | 16 | 25 | 8 | 69 |
結論
Claude
- 仕様遵守が非常に強い
- 構成が整理されていて保守しやすい
- 大規模データでも十分な性能
👉 業務ロジック重視・安定運用向き
Codex
- 処理速度は優秀
- ただし仕様の細部(並び順など)で落とし穴がある
- 単一ファイル構成は修正・拡張時に負担
👉 スピード重視+自動テスト前提の運用向き
おわりに
今回の検証で分かったのは、
「動くコード」と「安心して使えるコード」は別物
という点でした。
エージェント型AIを実務で使う場合は、
- goldenデータによるdiff検証
- 並び順・境界条件のテスト
を必ず組み込むことで、AIの強みを安全に活かせると感じました。
追加情報:検証に使用したAIモデルについて
本検証では、同じ「Codex」「Claude」という名称でも、具体的なモデルを明示した状態で比較を行っています。
使用したAIモデル
- Claude
- モデル名:Claude Sonnet 4.5
- Codex
- モデル名:gpt-5.2 codex Medium
本記事での比較結果は、あくまで 上記モデル同士の組み合わせに基づく結果であり、
将来的なモデルアップデートや別サイズ(Large / Small など)では、結果が変わる可能性があります。
コメントを残す