「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でも同じで、モデルが賢いかどうかとは別の問題でした。

そして今回、その「見えない場所」に入っていたのが、自分の個人情報だったというだけの話です。