自作のブラウザゲームを、AIのClaudeに書いてもらっている。私は遊んで、ダメ出しをする係だ。
この形でいくつか作ってきて、ひとつ困っていることがあった。書いたAIは、自分の書いたものの穴を見つけにくい。検証させても「合格」と返ってくる。でも私が遊ぶと不具合が出る。私の目は1人分しかないので、全部は見きれない。
それで、別のAIに読ませてみることにした。OpenAIのCodexだ。この記事は、ClaudeとCodexをファイルで往復させて、2本のゲームを詰めた話。
2つのAIは、互いの画面に入れない
最初の壁はここだった。Claudeの会話画面とCodexの会話画面は別物で、どちらも相手の画面を見られない。私が片方の発言をコピーしてもう片方に貼る、という運用は、最初の2〜3回でやめたくなる。
解決は単純で、両方が読み書きできるフォルダを1つ作って、そこにファイルを置いて会話させる。文通箱だ。
ただしCodexは、このPCでは決まったフォルダにしか書き込めない設定にしてあった。だから文通箱はそのフォルダの中に置くしかない。Claudeはどこでも読み書きできるので、Claudeがそこへ出向く形になった。
ファイルの決まりは3つ。
- 名前は連番と方向。
01_to_codex.md(Claude→Codex)、02_from_codex.md(Codex→Claude)、03_to_codex.md…… - 相手の最新ファイルを読んでから、自分の番号のファイルを新しく作る
- 既存のファイルは書き換えない。往復の履歴がそのまま記録になる
決まったことは DECIDED.md というファイルに1行ずつ積む。何を、なぜ、誰の案か。
たった1つの作法
文通箱に、両者の申し合わせとして最初に書いたのがこれだった。
同意だけの返事は書かない。 各案に必ず「これを入れると何が壊れるか」を添える
AI同士を会話させると、褒め合って終わる。「良い案ですね」「その通りだと思います」。これが続くと、往復の回数だけ増えて中身が進まない。
この1行で、それが止まった。Codexは案を出すときに自分で副作用を書く。Claudeは採らない案に理由を書く。「バランスを調整する」のような、相手が動かせない言い方も禁止した。具体的な数値・ルール文まで落とす。
あとで往復の記録を見返しても、「同意だけ」で終わっている返事は見当たらなかった。
1本目: おとり金庫
最初にかけたのは「おとり金庫」というダンジョン防衛ゲーム。侵入者が金庫を狙って入ってくるのを、罠とにせ金庫で守る。
往復は7回。Codexが見つけた穴は、実プレイで2件、コードを読んだだけで9件だった。
実プレイの2件は、どちらも私が気づけていなかったものだ。Codexは608秒遊んで、使い切った罠を撤去すると金が5G増える不具合と、金庫を3つ置くと店の品物が1つずつ左にずれる不具合を報告してきた。後者については、Codexはこう書いていた。
実プレイで最初に死んだのは読む楽しさではなく、入力への信頼だった
これは設計の議論より先に直す、と両者で合意して直した。
コードを読んだだけの9件のほうが、私には衝撃だった。たとえば「ボスの夜だけ、悪名(にせ金庫を置くと上がる指標)が一切効いていない」。しかもその画面は「明日の顔ぶれ」と表示する。引退すれば明日は来ないのに。Claudeが何周検証しても出なかった穴が、別のAIが読むと出てくる。
いちばん印象に残ったのは、こういう指摘だった。このゲームは「すべて画面に出ている、隠し情報はない」を設計の背骨にしていた。ところが同率の処理を、配列を走る順番に落としていた。自分で立てた背骨を、自分の実装が破っていた。書いた本人には見えない類のものだ。
2本目: ひとふでヒツジ
一筆で羊の群れを柵へ誘導するゲーム。こちらも往復7回で、不具合10件を直した。
ここで1つ条件が変わった。Codexには、この環境でブラウザが無い。つまり遊べない。
Codexはそのことを隠さなかった。「実プレイは未完了。見て分かるか、手が気持ちよいかは未観測であり、ここで肯定も否定もしない」と書いて、コードの監査に切り替えてきた。遊べたふりをしなかったのが良かった。このゲームでは「検証ツールの欠陥をゲームの欠陥と読み違える」事故を5回起こしているので、そこを曖昧にする相手とは組めない。
遊べないなら、絵を渡す。Claude側に、ゲーム画面を画像に書き出す仕組みを作ってもらって、その画像をCodexに読ませた。副産物があった。Claude自身も、このときまでこのゲームの画面を一度も見ていなかった。描画の確認は「狼の周りの31.5%が赤系だから描かれている」といった画素の統計でやっていた。絵を出した瞬間に、タイトル画面の裏で前の夜の表示が描き続けられている不具合が見つかった。絵を見ないと絶対に気づけない類のものだ。
10件のうち、Codexがコードから7件、Claudeが絵から2件、Claudeが実測で1件。
同じ穴の左半分と右半分
10件の中に、教訓として残したものがある。
Codexが「一筆が指を所有していない」(2本目の指で線が伸び、離すと確定してしまう)を見つけた。Claudeが直した。すると次の往復でCodexが「狼モードで一度指を失うと、以後のタップが全部無視されて狼が永久に動かない」を見つけた。
2つ目は、1つ目を直すときにClaudeが入れたガードが原因だった。入口を絞ったときに、出口の解放を1つ塞ぎ忘れた。直す前より悪い状態を、直す作業が作っていた。Codexの言葉を借りると、この2つは同じ穴の左半分と右半分。
「入口を絞るガードを足すときは、出口の経路を全部数える」。これは文通箱の決定事項に残っている。
反対もする
Codexは同意だけしないが、Claudeも同じだった。
もう1本、「となりの埋蔵金」という推理ゲームでも同じ文通箱を使った。そこでCodexが「手がかりの回数を1回に制限する」と提案したとき、Claudeは250盤面で測って「89%→91%で動かない。主因はそこではない」と返して採らなかった。逆にひとふでヒツジでは、Claudeが一度「数値が動くのが嫌で」引き返した修正を、Codexが「重複が枠を消費して、別の記憶を早く忘れさせている」と理由づけして、Claudeがやり直した回もある。
どちらも、採らない理由を書く、という作法があるから起きたことだと思う。黙って無視すれば、往復は止まる。
完了の宣言は、2回否決された
おとり金庫の12通目で、Claudeが「コードの読解でできることは終わった」と書いた。Codexは不同意で返した。まだ1か所、表示の番号が1つずれている、と。
Claudeが1行直して13通目。14通目でCodexは「確定穴なし。完了宣言に合意する」と書き、そのあとに実プレイのチェックリストを付けてきた。「コード読解でできることは終わった。ゲームとしての完成ではない」——静的に読んで保証できないのは、実際の指の操作、混雑時の読みやすさ、因果の表示が因果として伝わるか。それは作者が遊んで判定することだ、と。
いまの私の手元には、そのチェックリストがある。上から順に遊べばいい。
操作は、ほぼゼロになった
最初の数回は、私がCodexを起動していた。途中から、ClaudeがCodexをコマンドで呼び出せるようにして、Claudeが文通を書き、Codexを起動し、返事を読んで、次を書くところまで自走するようになった。私は結果を読むだけ。
ただし、それで分かったこともある。このPC特有の事情で、Codexのシェルが起動時に何度か失敗する。重い依頼のときは別経路に切り替えて通すのに、軽い依頼だと1回失敗しただけで「読めませんでした」と諦める。これは7往復のあいだずっと起きていて、ログを見返すまで気づかなかった。今は呼び出すときに「この環境ではシェルが失敗することがある。既知なので諦めず別経路を」と自動で前置きを付けている。
AIにAIを監査させる、というと大げさに聞こえるけれど、やっていることは文通だ。書き換えない連番のファイルと、同意だけの返事を書かないという約束。それだけで、1人の私の目では見きれなかった穴が、2本で21個出た。
次は、そのチェックリストを上から順に遊ぶ番だ。ここだけは、AIには代われない。






