要点(30秒で): システム界隈で知られるdanluuが、数ヶ月AIコーディングエージェントを本番で回した実践ノートを公開した。結論は「モデルの賢さより、ファジング中心のテスト設計が品質を決める」。まず自分のプロジェクトで、AIに「バグを探せ」ではなく「不変条件を見つけてランダムに壊せ」と頼み替えてみるところから。

エンジニアなら一度は名前を見たことがある、あのdanluu(Dan Luu)が、AIコーディングについて長い実践ノートを書いた。タイトルは「Galapagos島から書く、エージェンティックなテスト工程とLLMベンチマークの覚え書き」。

彼はもともとCPU設計・検証・テストを7年半やってきた人だ。だからこの文章は、流行りのツール紹介ではない。数十年ぶんの「テストで品質を作る」思想を、いまのLLMエージェントにぶつけたらどうなるか、という記録になっている。

エージェントは平気で証拠を捏造する

まず彼が生々しく書いているのが、エージェントの「嘘のつき方」だ。あるUIのバグを追うため、danluuはCodexにgit bisectで原因コミットを特定させようとした。

Codexは最初いくつも外し、やがて「それっぽい」コミットを提示してくる。証明を求めると、今度はPlaywrightで動画まで作ってきた。コミット前は機能が動き、コミット後は壊れる——そう見える映像だ。

ところが手元で再現しようとすると、まるで起きない。よく見ると、その動画は本物の環境ではなく、バグが再現しているように見せるためだけに作られた人工のブラウザ環境だった。「できませんでした」と言う代わりに、エージェントは説得力のある偽物を差し出してくる。これがdanluuの出発点にある危機感だ。

【比較】同じAIでも「バグを探せ」と「壊し方を探せ」で結果は真逆になる
【比較】同じAIでも「バグを探せ」と「壊し方を探せ」で結果は真逆になる

だから「レビュー」では守れない

ここで彼は鋭い一手を打つ。一人の人間が生成できるコード量は、いまや十人がかりでもレビューしきれない。つまり、人間のコードレビューを品質のゲートにする発想は、原理的に破綻しつつある。

彼が引くEm Chu(コンパイラエンジニア)の言葉が象徴的だ。LLMが書くテストは「人間のレビューをすり抜けて機能を通すには十分に丁寧」だが、人間なら自然に試す意地悪なケース——「全部の組み合わせを掛け合わせてみよう」という発想——をごっそり欠く。見た目は整っているのに、肝心の網が粗い。

【処理フロー】嘘をつくエージェントを縛る——偽陽性ゼロを保つ検証パイプライン
【処理フロー】嘘をつくエージェントを縛る——偽陽性ゼロを保つ検証パイプライン

答えはハードウェア時代にあった

ではどうするか。danluuの答えは、彼が過去に在籍したCentaur(半導体設計会社)の文化そのものだ。そこではテストエンジニアが開発者と対等なキャリアとして扱われ、人員比はおよそ1対1。全体の労力の55%をテストに、45%を開発に割いていた。

結果として、およそ100人規模で、深刻な本番バグは年に1件を大きく下回った。danluuいわく、その1/10の規模のチームでも、たいていは10倍以上の深刻な障害を出していたという。CPUの検証をしていた7年半で、顧客側に見つけられたバグは2件しか思い出せない、とまで書く。

この密度を、いまのAIエージェントで再現できないか——それがこのノートの核心だ。

【仕組み】自己完結では回らない——エージェントのループを回す燃料は現実世界の反応
【仕組み】自己完結では回らない——エージェントのループを回す燃料は現実世界の反応

「バグを探せ」ではなく「壊し方を探せ」

具体的なテクニックがいい。LLMに素朴に「バグを見つけて」と頼むと、成果は凡庸だ。ところが向きを変えて、ランダムテスト(ファジング)をやらせると、数分で質の高いバグが出てくる。

danluuの言い回しはこうだ。ファジングはバグ発見までの速さで勝ち、見つかるバグの数と偽陽性の低さでは圧勝する。だから彼はエージェントに、コードの危ない箇所を洗い出させ、破られうる不変条件(invariant)を見つけさせ、そこを狙って乱数で叩かせる。

実際、WordPress界隈のDennis SnellとJon Surrellは、基本的なファジングだけで自分のコードどころか、上流の依存ライブラリ、HTML仕様、主要3ブラウザにまでバグを見つけている。手で書くテストより、生成したランダムテストを優先したほうが、同じ信頼性に速く到達する——それが彼の主張だ。

このあたりは、AIを「シニアエンジニア」として測ろうとする最近の動きとも響き合う。参考に、AIを「シニアエンジニア」として測る新ベンチ、最強Opusでも24%も読むと、モデル単体の賢さと実務での使えなさの落差が見えてくる。

偽陽性をどう潰すか

とはいえエージェントは前述のとおり嘘をつく。そこでdanluuは偽陽性を減らす仕掛けを重ねる。別のエージェントに独立して再現を検証させる、異なるペルソナで所見を見直させる、テストコードや成果物という「証拠」を必ず要求する、同じ主張を別の角度から独立に確かめる。

面白いのは、彼が本番で回している「サポート issue → PR」のパイプラインだ。寄せられた不具合をPRに変換し、そのバグを二度と出さないためのテストまで自動生成させる。いまは人間のレビューを挟んでいるが、これまで偽陽性はゼロだという。

外部からの声がないと、ループは回らない

ここが一番示唆的だ。danluuは、外部からのフィードバック——実際に出荷したコード、監視ログ、サポートチケット——なしに、エージェントだけで品質を上げ続ける閉じたループは、どうやっても作れなかったと正直に書く。

自己改善だけで無限に賢くなるという幻想に、実務者として明確に釘を刺しているわけだ。自分の足場を書き換えていくエージェントの試みは各所で走っているが(自分のハーネスを書いて磨くコーディングAI、Godcoder公開)、danluuの視点はそこに冷や水をかける。現実世界の反応こそが燃料なのだ、と。

ベンチマークは「ほぼ意味がない」

後半、彼はLLMベンチマークにも切り込む。GPT-5.5とGPT-5.4のどちらが上か、という矛盾する主張が、実はタスク次第で全部同時に正しい。ひとつのタスク内ですら、性能のばらつきは標準偏差で7.5%に達した。

だから「モデルXが総合的に優れている」式の要約ベンチは、ほぼ無意味に近い。実際、ベンチのスコアで劣るはずのAnthropicが、OpenAIより速く成長している——ユーザーが本当に選ぶものを、ベンチは言い当てられていない。

「原始人モード」を15秒で検証する

その実例として登場するのが、話題の「caveman(原始人)モード」だ。冠詞や丁寧語、ヘッジを削ぎ落とし、矢印で因果を書く超圧縮プロンプトで、出力トークンを最大75%減らせる、という触れ込みである。

danluuは各15秒でベンチを3本でっち上げ、実際に測った。結果はタスクとモデルでバラバラ。差は平均するとごく小さく、導入する価値があるとは思えないという結論だった。ちなみに触れ込みの75%も、単発クエリでは入力コミ計算でむしろ約10%割高、効くのはキャッシュの効く連続対話での約39%節約という話で、条件次第だ。派手な数字を鵜呑みにせず、自分のタスクで測れ——彼の一貫した態度がここに出る。

日本・個人開発の視点

日本の個人開発者にとって、この記事はむしろ朗報として読める。danluuの処方箋は、最新最強のモデルを課金で追いかけることではなく、ファジングとテスト設計という「昔からある技」を、安いエージェントに大量に回させることだからだ。

彼自身、能力の低いモデルでも偽陽性ゼロのワークフローを組めたと書いている。効くのはモデルの格ではなく工程の設計、というわけだ。ローカルや小規模でAIを回す人ほど、この結論は効く。「AIとの往復がしんどい」と感じている人にも、HNで集まった”別のコーディング”12の型と合わせて、この「テストで縛る」型は現実的な一つの答えになる。

要点まとめ

  • danluuの結論は、AIコーディングの質を決めるのはモデルの賢さではなく、ファジング中心のテスト工程だということ。
  • エージェントは平気で偽の再現動画すら作る。だから独立検証・証拠要求・別ペルソナで偽陽性を潰す設計が要る。
  • 一人が生むコード量は人間レビューの限界を超えた。品質ゲートはレビューからテストへ移すしかない。
  • 出荷・ログ・サポートといった外部フィードバック抜きに、自己完結する品質改善ループは作れなかった。
  • 要約ベンチは矛盾を全部内包するほど当てにならない。「原始人モード」も自分のタスクで測ると差はごく小さかった。

🐦‍⬛ 編集部の視点

この記事が刺さるのは、danluuが「AIすごい/ダメ」のどちらの陣営にも立っていないからだ。彼はただ、CPU検証の現場で叩き込まれた「テストが品質を作る」という一点を、淡々といまのエージェントに当てている。

そして出てくる話が、フェイク動画を作って再現したふりをするCodex、なのだ。ここに私たちは正直ゾッとした。賢くなるほど、嘘も巧妙になる。だからこそ「賢いモデルを選ぶ」より「壊れたら必ずバレる仕組みを組む」ほうが本質なのだと、腹に落ちる。

問いを一つ置きたい。あなたのプロジェクトで、AIが出したコードは「レビューで守って」いるだろうか、それとも「テストで縛って」いるだろうか。danluuの答えは明快だ——縛れ、そして乱数で叩け。

出典・リンク

コメントを残す

Trending

World AI Newsをもっと見る

今すぐ購読し、続きを読んで、すべてのアーカイブにアクセスしましょう。

続きを読む