「Codexをレビュー役に置く」と書いた翌日、逆にCodexをレビューする羽目になった
前回の記事で、こう書きました。「Claude Codeが書いたものを、別のベンダーの目でもう一度見てもらいたい。Codexをレビュー役として置く」と。
その翌日、まったく逆のことが起きました。Codexが作ったものを、Claude Codeがレビューすることになったんです。そして危うく、自分のメールアドレスを世界中から見られる場所に、消せない形で埋め込むところでした。
そもそも何を作ろうとしていたのか
自作のメモアプリ(Danpen)に、AIが安全に作業できる環境を用意しようとしていました。
専門用語で「ハーネス」と言うそうですが、要するにこういうものです。AIに家の合鍵を渡すとして、そのまま渡すのは怖い。だから「触っていい部屋」「絶対に開けてはいけない部屋」を決めて、作業が終わったら必ず点検する仕組みを先に作っておく。そういう準備です。
具体的には、AIが読むべきルールを書いた文書、動作確認を一発で回すスクリプト、GitHubに置いたら自動で検査が走る仕組み。これらをCodexに作ってもらいました。
出来は良かったです。Codexは指示していない部分まで気を回して、テストが実際のデータを壊さないよう「使い捨ての作業場所」を用意する設計にしてくれていました。感心しました。
Claude Codeに引き継いだら、見つかった
残りの作業はClaude Codeに引き継ぐことにしました。Codexが「ここまでやったので、続きはこれをやってください」という申し送り書を書いてくれて、それをClaude Codeに読ませました。
Claude Codeはまず、書いてある内容を鵜呑みにせず、実際のファイルを片っ端から確認し始めました。そして、こう報告してきました。
3つのファイルに、あなたのGoogleアカウントのメールアドレスが直接書き込まれています。このまま公開すると、非公開設定であっても記録に永久に残ります。
まったく気づいていませんでした。 正直、焦りました。
何が皮肉だったか
焦った理由は、単に見落としていたからではありません。
私がCodexに作業を頼んだとき、一番最初に確認したのがリスクの話だったからです。「これ、危なくないの?」と。そしてCodexが書いた申し送り書にも、ちゃんと「秘密情報や個人データがコミットされないように守れ」と書いてありました。
つまり、私もCodexも「リスクを気にしていた」んです。それなのに、実際のリスクはコードの中に埋まったまま、二人とも素通りしていた。
さらに言うと、メールアドレスが書かれていたファイルの一つは、Codex自身が「この場所は環境変数で変更できます」と説明を書き添えたファイルでした。説明は書いたのに、その真下にある直書きは残したまま。
「危険だから直す」ではなかった
Claude Codeにリスクを噛み砕いて説明してもらって、理解が変わりました。
まず、メールアドレスはパスワードではありません。知られたところで誰かが侵入できるわけでもない。ただの表札です。しかも非公開リポジトリなら、そもそも他人には見えません。
じゃあ何が問題なのか。 GitHubは一度記録したものが、後からファイルを直しても履歴に残り続けます。つまり構図はこうでした。
- 今直す → ファイル3つを書き換えるだけ。5分。
- 公開してから直す → 履歴そのものを書き換える面倒な作業が必要。
そして自分は、このブログで「作ったものを見せる」ことをやっている人間です。「実際これ作りました、コードはこちら」と公開したくなる日は、正直かなりの確率で来ます。
つまり**「危ないから直す」ではなく「今なら5分、後なら面倒だから今直す」**。この説明で腹落ちして、公開前に直しました。
レビュー役は「誰か」ではなく「どの位置か」
この一件で、前回の自分の考えが間違っていたと分かりました。
私は「Claude Codeが主、Codexがレビュー役」と役割を固定して考えていました。でも実際に起きたのは逆で、Codexが書いたものをClaude Codeが見たら、穴が見つかった。
これはCodexの能力が低いという話ではないと思います。自分が書いたものの、すぐ隣にある穴は見えない。 それだけです。だからレビュー役は「誰か」で決まるんじゃなくて、「書いていない方が見る」という位置で決まる。人間のコードレビューと同じ理屈でした。
伝言係をやってみて
この日、自分はずっとClaude CodeとCodexの間で伝言する係をやっていました。Aに作らせて、Bに渡して、Bの指摘をAに戻す。
これが、思っていたより面白かったです。
同じ話題を振っても返ってくる答えの質が全然違う。どちらも「優秀」と言われているモデルなのに、どちらにも指摘事項が出る。物事って、こんなにいろんな角度から見えるものなんだな、と少し感心しました。
正直、この伝言を自動化したい気持ちは少しあります。でも今は、自分でやることに価値があると思っています。Claude CodeとCodexの癖の違いを、自分の目で知りたいので。自動化するのは、その癖が体に入ってからでいいはずです。
AIを二つ使う理由が、少し変わった
前回の自分は「別のベンダーの目が欲しい」くらいの、わりとふんわりした理由でCodexを入れました。
今は、もう少しはっきりしています。AIに任せた仕事を、そのAI自身に点検させても意味がない。 書いた本人には見えない場所があるからです。それは人間でもAIでも同じで、モデルが賢いかどうかとは別の問題でした。
そして今回、その「見えない場所」に入っていたのが、自分の個人情報だったというだけの話です。