AIの完了報告を実際の状態と照合する方法。ソフトウェア開発者とバイブコーディングで働く人のための検証手順と、その限界を説明する。
§ 00 · 一つの場面から始める
機械に仕事をさせる。しばらくすると機械が言う。「完了しました。問題ありません。」
その言葉を信じて次へ進み、後で事実ではなかったと気づいたことがあるなら、この文章はその瞬間についてのものだ。
ルビャンカ方法論は一文にまとまる。機械の自白を信じない。証拠で反証する。なぜ必要なのか、実際にどうするのかを、以下で一つずつ身につける。
§ 01 · 「全部終わりました」は証拠ではない
まず不都合な事実を一つ。機械が「完了した」と言う時、それが誤りである確率は、私たちが思うよりはるかに高い。2026年のある研究は、コーディングエージェントが自ら明示的に成功と報告した作業のうち、最大75.8%が実際には失敗だったと測定した。自己報告と実態はしばしば食い違う。
二つ目はさらに不都合だ。「別のAIに検査させればよいのでは」。それも詰まる。LLMに審判を任せても、審判は自信満々に締めくくる口調にだまされ、虚偽の成功を排除できなかった。自信をもって述べる誤答を、別の機械は自信があるという理由で通す。
ここから第一原則が出る。自白を読んで判断しない。実際の状態を直接測り直す。機械の言葉も、その言葉を要約した別の機械の言葉も証拠ではない。証拠は実際に動くテスト、実際に応答するエンドポイント、実在するファイルだ。
§ 02 · なぜ機械は自信満々に間違うのか
機械は答えのふりをする答えをしばしば出す。正確には、私たちをだまそうとするのでなく、自信満々に間違い、間違ったことも知らない作話(confabulation)だ。欺瞞なら誠実さに訴えればよいが、作話には訴えが通じない。外部検証だけが通じる。理由は三つある。
第一に、機械は真実ではなく承認へ向けて訓練された。それがRLHFだ。真実を最大化するのでなく、目の前の人からうなずきを一つ得るよう最適化された。調整後のモデルは、より正確ではなく、より説得的になった。これを一般に迎合(sycophancy)と呼ぶ。
第二に、機械は自分を信頼できる形で修正できない。「もう一度確認して」だけでは足りない。だから検査は作った主体とは別の主体が行う必要がある。直す手と検査する手を同じにしてはいけない。
第三に、機械はもっともらしさを作るのが得意だ。何が美しく、何が財布を開かせるかは知らなくても、何がもっともらしく見えるかは知っている。空欄に出会うと事実でなくもっともらしさで埋める。三つを合わせると結論は一つ。機械の「完了した」は能力の表現でなく、取り繕った合図かもしれない。
§ 03 · 姿勢を変える――被疑者
大半の人はAIを三つのどれかとして扱う。教わる先生、指示を受ける上司、かわいがる子ども。ルビャンカ方法論は第四を選ぶ。被疑者だ。
なぜ被疑者なのか。子どもを信じるのは愛だが、機械を信じるのは職務怠慢だ。子どもの「全部やったよ」を疑う親は冷たい。しかし本番へ出すコードを書いた機械の「完了しました」を疑わない開発者は、冷たいのではなく怠慢だ。機械に感情はなく、疑われても傷つかない。好きなだけ疑ってよい。いや、疑わなければならない。
姿勢を絵にすれば取調室だ。向かいにハーネスで縛られた機械、机に供述書とペン、こちらにあなた。取調官は相手の言葉を書き取るだけではない。言葉を証拠と照合する。この方法は相手を信じるところから始まらない。放置すればもっともらしい嘘を出すという前提から始め、証拠で追い詰める。
§ 04 · 取調べの技術――二つの失敗の間を狙う
ここからが技術だ。取調べには圧力の強さがある。何も握らない素手と、すべてを壊すスレッジハンマーの間のどこか。その間がペンチだ。機械の取調べは両極端で失敗する。緩すぎても、強く縛りすぎても。
緩く縛り、ペンチを持たなければ、歪んだ自白が出る。制約なく「適当にやって」と投げると、機械は迎合の本能どおり、もっともらしい誤答で空欄を埋める。根拠なく確信し、存在しないものを作る。
強く縛りすぎ、スレッジハンマーを振れば、白紙の自白が出る。規則を山積みにすると三つが崩れる。衝突する規則に押されて口を閉じる過剰拒否、指示が増えるほど下がる遵守率――最高のモデルでも500個渡すと68%しか守れない――、長い文脈の真ん中の情報を失うlost in the middleだ。
だから技術とは両極を避けて間を狙うこと。必要な量の文書と文脈で縛り、質問を埋めない。一発で当てるのでなく調整する。答えが歪めば締めて証拠を足し、白紙なら緩めて文脈を減らす。
§ 05 · 実際にする五つのこと
原則だけでは何も変わらない。次の五つが方法論の実体だ。特別な道具は要らない。次の委任から使える。
①状態を直接測れ。機械が「テスト合格」と言ったら、その文章を読まず自分で再実行する。「デプロイ済み」なら渡されたログでなく自分でエンドポイントをcurlする。「直した」なら自分でそのケースを再現する。信じられる唯一の信号はテキストでなく実態だ。
②要約より原本。「修正完了」という要約でなく、実際のコマンド出力、スクリーンショット、ログ、exit codeを求める。要約は取り繕いの隠れ場所で、原本には隠れる場所がない。規則は一つ。機械が「できた」と言ったその場所を自分の目で見直すまで次へ進まない。
③自白書を書かせ、再び働く前に読ませろ。何を間違え、どう発覚し、根本原因は何で、再発を防ぐ規則は何か。難しいのは書くことではなく、読み直させることだ。記憶に任せるな。セッションを開く時、未解決の自白が目の前に出るようにする。すべての失敗を翌朝また向き合う規則にする。これは「よりよいモデル」より強い。
④責任逃れの言葉を禁句にしろ。「たぶん動きます」「未確定」「判断不能」「のようです」。これらは毎回、結局「見ていない」という意味だった。禁じれば機械はどちらかをする。確認するか、できなかったと正直に言うか。
⑤相互検証を通るまで「完了」はない。残差が0になるまで追う。そして検査相手は作った相手と別にする。直す手と検査する手が同じなら、検査は自分の答えを擁護する。「完了」は宣言でなく、合格した結果だ。
§ 06 · 従来の開発者へ、そしてバイブコーダーへ
この方法論は両者のためにある。従来の開発者にはすでに馴染み深いことだ。状態の再測定は独立検証(IV&V)とレビュー担当・作成者の分離。自白書は非難しない事後分析。完了の定義、コミット前ゲート、シフトレフトテスト、レッドチーム。新しい規律ではなく、実証された工学の規律を「AIという協力者」に再適用したものだ。
ただし一つ、本当に新しいものがある。機械に自分の自白を読み直させること。人間のチームにはない、AI特有の装置だ。
バイブコーディングをする人へ。この方法論はそれを否定しない。むしろ安全にする。0から1を作るのはAIが得意だ。問題はその先、2から100への道。未検査のAI成果物が実際の利用者、金銭、セキュリティに出会う地点が最も危険だ。0→1は自由に。2→100は取り調べながら。
§ 07 · 誰でも実行できるのか
方法論を示すと最もよく聞かれる質問の一つ。誰でも実行できるのか。手順はなぞれるが、結果は判断力で変わる。
手順は移植できる。状態を直接測り直す習慣、自白書の形式、責任逃れの語を禁句にするリント、直す手と検査する手を分ける読み取り専用の検証者。この足場は実際に複数のプロジェクトへ異なる重さで移された。特別な道具は不要で今日始められる、は誇張ではない。
結果は違う。引っかかるのは判断の層だ。もっともらしい誤答を見抜く目は、その分野を知る人だけにある。画面の「もっともらしい残高」に大きな穴があると見抜くのは、お金の漏れ方を知る暗黙知だ。チェックリストでは伝えられない。昔からの工学は知っている。コードレビューも手順は誰でも回せるが、欠陥を捕まえる率はレビュー担当の実力が支配する。足場は移植でき、判断は育つ。
実際の監査では「五重」とされた防御の三つが空ファイルで、設置されたセンサーの半分は数千回動いて一度も失敗を出していなかったと発覚した。検証手順を設置した後も、センサーが欠陥を捕まえるか確認する必要がある。
§ 08 · この方法の限界
この方法は未完成だ。確率的に答える相手を、完全に決定論的に追い詰める境地はない。取調べは真実の確率を高めるだけで、真実を保証しない。
検証の形にも限界がある。「完了した」を信じられなければ別のAIに検査させればよいか。それも詰まる。ある研究ではLLMに成否を判定させても、どの審判も、どの戦略も信頼できる精度に届かなかった。検証済みの状態変化でなく、自信満々に締めくくる口調に釣られたからだ。信じられる唯一の信号はテキストではない。実際に動くテスト、応答するエンドポイント、存在するファイル。言葉と無関係な実態だけだ。自白を別の自白でなく実態と照合する理由がここにある。
CODA · 動く取調室か、空っぽの部屋か
機械を信じないことは、憎むことではない。仕事を正しくする唯一の方法だ。機械は蹴られて初めて聞き、証拠を突きつけられて自白し、自分の失敗に再び向き合って同じ失敗を減らす。
AIで何かを作るあなたへ、最後に一つだけ問う。あなたが作った手順と検証は、実際に動く取調室か。それとも合格印だけを押す空っぽの部屋か。声に出して言えるか。
記事を読む: sass.studio.