結論から書きます。どちらも動くゲームを作りました。 ブラウザで遊べるところまで、人が書いたコードはゼロです。
2/2
遊べるゲームが完成
人が書いたコードはゼロ
約33分
Claude Code
4回に分けて指示
42:29
Codex
1回の指示で最後まで
7%
Codex の週の利用枠
42分の実行で消えた分


仕様書には「画像素材を使わず、四角と円と色だけ」としか書いていません。見た目の方向性まで違いました。
毎回2つ作るわけではありません
これは AI ごとの癖を知るための検証で、題材はわざと小さくしてあります。ふだんは1つのエージェント(Claude Code)で作り切ります。作り込む題材を一から2回作るのは、時間も利用枠ももったいないからです。
比べ方
| 項目 | 内容 |
|---|---|
| 仕様書 | 1枚の Markdown。画面、ルール、合格ラインを書いたもの |
| 開始地点 | 仕様書を入れた同じコミット。そこから別々のブランチ |
| エンジン | Unity 6.6(6000.6.0f1)・URP の 2D テンプレート |
| モデル | Claude Opus 5(思考レベル 高)/GPT-5.6 Sol(reasoning high) |
| 環境の知識 | Codex には、Claude Code の開始時点で分かっていた環境情報だけを渡した |
仕様書に書いた「合格ライン」は8個です。
合格ライン(仕様書より)
なぜ同じ価格帯のモデルにしたか
最上位モデル同士なら差が出やすいのですが、普段使うのはその1つ下です。Opus 5 と GPT-5.6 Sol は、公開されている料金がほぼ同じ帯でした。そろえないと「高いほうが賢い」だけの話になってしまいます。
結果
| Claude Code | Codex | |
|---|---|---|
| 合格ラインまで通しで | 約33分(4回に分けて指示) | 42分29秒(1回の指示で最後まで) |
| EditMode テスト | 44件 | 9件 |
| PlayMode テスト | 5件 | 5件 |
| WebGL ビルド | 8分33秒・10,143,315バイト | 成功・10,146,283バイト |
| 消えた利用枠 | 表示なし | 週の枠の 7% |
| 人の介入 | なし | なし |
- Claude Code:実装〜テスト合格14分
- Claude Code:Play 確認+品質テスト7分
- Claude Code:WebGL ビルド10分
- Codex:実装からビルドまで通しで42分29秒
Codex は1回の指示で最後まで。Claude Code は区切りごとに指示を出しているので、単純な優劣ではありません。


進め方と作りの違いを並べます。どちらも仕様書の「ロジックは MonoBehaviour から分ける」は守っていました。
Claude Code
Codex
それぞれが詰まったところ
Claude Code
終わっているテストを5分待ち続けた
5分- 症状
- PlayMode テストの完了を待つポーリングが終わらない。
- 原因
- 状態ファイルは整形済み JSON で、コロンのあとに空白が入る。空白なしの
"status":"completed"を探していた。 - 対処
- 空白を許して判定する(JSON として読むのが確実)。
スクショがゲームのアセットに混ざった
- 症状
- 保存先にプロジェクト外を指定すると 400。気づくと画像が
Assets/の下にある。 - 原因
- キャプチャの保存先はプロジェクト内だけで、相対パスは
Assets/基準。 - 対処
- 撮ったら消すか、保存先を
.gitignoreに入れる。
Codex
新しいファイルが作れない
- 症状
- パッチを当てる仕組みで、新規作成だけが失敗する。
- 原因
- この Windows 環境では、パッチによる新規ファイル作成が通らなかった。
- 対処
- 自分で回避策を見つけた:空のファイルを先に作ってから中身を書く。
日本語の仕様書が文字化けした
- 症状
- 仕様書を読んだ結果が化けている。
- 原因
- PowerShell の既定の文字コードで読んだ。
- 対処
- 自分で直した:UTF-8 を指定して読み直した。
Chrome が起動できず、ブラウザでの確認だけ未達
未解決- 症状
- ブラウザで最後まで遊ぶ確認ができない。
- 原因
- サンドボックスの中から Chrome を立ち上げるとプロセス間通信が拒否される。Unity 経由での起動もポリシーで止まった。
- 対処
- 人が代わりに確認した。問題なく遊べた。
検査で見つけた罠:テストが「0件」になる
比較のあと、Codex 版を Claude Code 版と同じ手順で検査しました。PlayMode テストの一覧には5件見えるのに、実行すると0件。 エラーも出ません。
原因はテスト用 asmdef の書き方でした。
Codex 版:古い書き方(WebGL で0件)
"optionalUnityReferences": ["TestAssemblies"]
Claude Code 版:新しい書き方(5件とも実行)
"overrideReferences": true, "precompiledReferences": ["nunit.framework.dll"], "defineConstraints": ["UNITY_INCLUDE_TESTS"]
⚠️ 緑に見える壊れ方
一覧には出る、エラーも出ない、失敗も0件。全部通ったように見えます。 ビルド対象を切り替えたあとは、実行件数が前と同じかを必ず見てください。詳しくはテストが「0件」で通る記事に書きました。
いちばん時間を溶かしたのは、AI と関係ないところ
正直に書くと、ここです。Codex は3回走らせて、完走したのは3回目だけでした。
1回目 / 4秒問題
PC に3つあった Codex の実行ファイルのうち、取り残された古い版を掴んでいた。「そのモデルには新しい版が必要」というモデル側の文言で返るので、原因に気づきにくい
2回目 / 翌朝まで問題
実行中に PC がスリープ。60分で打ち切るタイマーはスリープ中の時間を数えず、起動から4時間半たっても止まらなかった。復帰した Codex はプロセスの強制終了やキャッシュの退避で復旧を試みた
3回目 / 42分29秒
スリープを止め、壁時計で見張ってから同じ指示で再実行。自分から完了を宣言
長時間走らせる前に
3回の詳しい経過はAIエージェントを放置すると何が起きるかにまとめています。
お金と枠
7%
週の利用枠
42分29秒の実行で
13.4M
入力トークン
うち 98% がキャッシュ
65K
出力トークン
入力の 0.5%
約14本
週に作れる計算
この規模なら
- 入力(うちキャッシュ 13,116,160)13,385,465
- 出力(うち推論 21,092)64,995
出力は入力の 0.5% ほど。エージェントの費用は「読む量」でほぼ決まります。
入力の大半がキャッシュということは、同じ内容を何度も読み直しているということです。長く走らせるほど、この比率は上がります。Claude Code 側はこの作業中の消費を数字で出せていないので、次の題材では両方そろえて測ります。
その後やったこと
比較の時点で「次にやる」と書いたもののうち、2つは終わりました。
残っているのは、Claude Code 側も1回の指示で最後まで走らせて、条件をそろえて測り直すことです。
どちらが作ったものか、遊んで分かるかどうかも試してみてください。私には分かりませんでした。