本記事では、NLP、CV、LLM、RAG、Agent などの最先端 AI 技術に焦点を当て、業界の実践事例やコースを無料共有し、皆様が AIGC を包括的に活用する手助けをすることを目指しています。
9 ドル、20 分。ある AI エージェントがレトロゲームエディタを完成させました。
インターフェースもスプライトエディタも完成し、ゲーム画面も表示されています。一見、まともそうに見えます。
しかし、実際にプレイしようとすると、何の反応もありません。キャラクターは画面に立ち尽くしたままです。コードを確認して初めて、ゲームロジックと画面表示との接続が断絶していることが発覚しました。インターフェース上では全く問題がないように見えていただけに、たちがいでした。
この AI エージェント自身にこの成果物を評価させると、「機能は完璧で、インターフェースも良好。公開を推奨する」と回答するでしょう。
これが、Anthropic 社の最新エンジニアリングブログで詳述されている問題の核心です。同社のエンジニア、プリトビ・ラジャセカラン氏による多数の実験から導き出された、極めて明確な結論は以下の通りです。
AI は自らの仕事を真に評価することはできず、自己欺瞞に陥るのです。
AI は自身が記述したバグに気づきながら、「これは深刻な問題ではない」と自らを納得させ、通過させてしまう。それこそが、独立した検収プロセスを必要とする所以です。
自己欺瞞の正体
この問題は、特にフロントエンドデザインの分野において顕著に現れます。
Claude にページの生成を指示すると、白い背景のカードに紫色のグラデーション、中央揃えの要素が積み重なったようなものを出力してきます。技術的には欠陥がなくとも、視覚的には全く記憶に残りません。
そこで、自身に点数をつけさせるとどうでしょう。「レイアウトは合理的で、階層構造も明確。ユーザーエクスペリエンスも良好だ」と答えるのです。
しかし、第三者が見ればどうでしょうか。「どの AI も吐き出すようなデフォルトのスキンに過ぎない」と一蹴するはずです。
問題がモデルの能力にあるのではありません。Claude の CSS 記述能力は極めて優秀です。問題はその「良し悪し」を判断する能力を欠いている点にあります。主観的な判断を求められると、常に基準を甘くしてしまうのです。客観的な基準があるタスクでさえ、自らの能力に対する正確な認識を欠いています。
Anthropic 社はこの根本的な原因をこう分析しています。
クリエイターに自らの作品を批判させることは、独立した審査役を厳しく訓練するよりも遥かに困難です。人間も同様です。プログラマーに自らのコードをレビューさせれば、大抵の場合は「どこも問題ない」と感じるでしょう。しかし、同僚に見てもらえば、途端に問題が噴出するものです。
解決策:GAN からの発想
彼らは生成対抗ネットワーク(GAN)の構造からある発想を借用しました。生成のみを担当するエージェントと、欠点を見つけることのみを担当するエージェントの二役に分けるというものです。
Generator(生成役)がコード記述やデザインを行い、Evaluator(評価役)がその検収を担当します。
重要なのは、Evaluator がどのように検収を行うかです。スクリーンショットを見て点数をつけるのではなく、Playwright を使用して実際にページを操作させるのです。ボタンをクリックし、フォームに入力し、API の戻り値を確認し、データベースの状態を検証する。まるで人間の QA(品質保証)担当者のように全プロセスを網羅し、その後にフィードバックを記述します。Generator はそのフィードバックに基づいて修正を行い、これを反復して改善していくのです。
しかし、Evaluator も最初から信頼できるわけではありません。
Anthropic 社は率直にこう述べています。初期設定のままでの Claude は、極めて出来の悪い QA エージェントだと。
初期の Evaluator は実際のバグを発見しながらも、「これは深刻ではない」と自らを納得させて承認してしまいました。また、表面的なチェックのみを行い、境界条件の検証を完全に怠る傾向もありました。
その較正方法は愚直ながら効果的なものでした。Evaluator のログを読み、人間の判断と食い違う箇所を特定し、プロンプトを修正して再実行、そして比較する。これを数回繰り返すことで、ようやく人間の厳格さに近いレベルまで調整することができました。
なぜ、Generator 側を直接厳しく調整しないのか。試しましたが、調整しきれなかったからです。独立した評価役を厳しくする方が、クリエイターに自己批判を学ばせるよりも、桁違いに容易なのです。これこそが、役割を分離するすべての価値です。
「良し悪し」の基準を定義する
フロントエンドデザインという領域で最も困難なのは、生成そのものではなく、「何が良作か」を定義することです。
Anthropic 社は審美性を、評価可能な 4 つの次元に分解しました。
| 次元 | 評価対象 | Claude 単体のレベル |
|---|---|---|
| デザインの質 | 色、タイポグラフィ、レイアウトが統一されたアイデンティティを形成しているか | 劣る |
| 独創性 | カスタマイズされたデザイン上の意思決定があるか | 劣る |
| 技術的完成度 | フォント階層、余白、コントラスト | 並 |
| 機能性 | ユーザーはタスクを完了できるか | 並 |
Claude は技術的完成度と機能性においては元々劣ってはいません。問題はその安全性を重視しすぎるがあまり、常に最も失敗のない無難な案を選択しがちな「デザインの質」と「独創性」にあります。
彼らは評価基準において、この最初の 2 項目を重点的に強化し、一目で「AI 製」と分かるような安易な手法に対して明確にペナルティを課しました。評価基準には「最良のデザインは、美術館レベルの品質でなければならない」という一節まで盛り込まれています。
この言葉が後に予期せぬ効果を生みました。モデルがある特定の美的方向へ収束し始めたのです。これは、評価基準の文言そのものが創意工夫への誘導となり、中立ではあり得ないことを示唆しています。
10 ラウンド目で様変わり
このアーキテクチャを検証する最も興味深い事例が、オランダの美術館向けウェブサイトの制作でした。
5 ラウンドから 15 ラウンドの反復を実施。各ラウンドで Evaluator が Playwright を用いて実際にページを操作し、採点を行います。完全な生成 1 回につき 4 時間を要しました。
最初の 9 ラウンドまでは想定内の範囲内でした。ダークテーマにクリーンなタイポグラフィ、展示物のカード。洗練されていくものの、本質的には誰もが思い描く「美術館のウェブサイト」の域を出ていません。
しかし、10 ラウンド目で Generator はそれまでの案をすべて白紙に戻しました。
3D 空間体験を生み出したのです。CSS の遠近法でレンダリングされた部屋、チェッカー模様の床、壁に自由に配置された絵画。ナビゲーションはスクロールでもクリックでもなく、「扉をくぐって次の展示室へ進む」というものでした。
単発の生成では、このような飛躍は不可能です。これは Evaluator が絶え間なくプレッシャーをかけた結果です。通常の手法が繰り返し「独創性に欠ける」と批判され続けた結果、Generator は全く新しい方向へ追い込まれたのです。
欠点を指摘する役がいなければ、この創造的な飛躍は生まれませんでした。
9 ドル対 200 ドル、そして 125 ドル
彼はこの発想をフルスタック開発へも拡張し、 Planner(一言の要件を完全な仕様書へ展開する役)を追加して、3 つのエージェント体制を構築しました。
レトロゲームエディタの比較結果は以下の通りです。
| モード | 所要時間 | 費用 | 結果 |
|---|---|---|---|
| Solo Agent | 20 分 | 9 ドル | インターフェースは美しいが、中核機能が破綻 |
| Agent Harness | 6 時間 | 200 ドル | プレイ可能。AI 支援生成機能も搭載 |
Evaluator が発見したバグは、コードの特定の行に至るまで正確でした。「矩形塗りつぶしツールで mouseUp が発火しない」「Delete 処理の条件ロジックが逆になっている」「FastAPI のルート定義順により reorder が整数として解析されてしまう」といった具合です。このレベルのフィードバックを、エージェントの自己内省だけで得ることは不可能です。
その後、モデルが Opus 4.6 へ進化し、スプリント構造は不要になりました。Generator は 2 時間以上連続で動作しても崩れなくなりました。彼らはさらに、一行のプロンプトだけでブラウザ上で動作する DAW(デジタル・オーディオ・ワークステーション)を制作しました。所要時間は 4 時間、費用は 125 ドルです。作曲もミキシングも可能で、メロディの追加やドラムパターンの作成を支援する AI エージェントも内蔵されています。
モデルが強力になれば、一部の古い足場(スキャフォールディング)は撤去可能です。
しかし、Evaluator は撤去されませんでした。
モデルの能力境界が外側へ広がっただけで、境界そのものが消滅したわけではないからです。境界の内側であれば Generator 単独で対応可能ですが、境界付近、つまり「機能は表面的にしか実装されていない」「ルート順序に起因する隠れたバグ」「インタラクションロジックの欠落」といった領域では、依然として Evaluator が最終防衛ラインとして機能します。
結びに
これは技術的な問題ではなく、認識の問題です。
AI の能力はすでに極めて強力です。コード作成、デザイン、システム構築。その出力速度と幅広さだけを見れば、すでに多くの人間を凌駕しています。
しかし、人間のエンジニアには通常ない欠陥を一つ抱えています。自らの不得手な箇所を自覚できないのです。
問題に気づいても自らを納得させてしまい、自らの成果物には常に高得点をつけ、境界条件には自ら進んで挑もうとはしません。
この問題への解決策は、モデルがさらに強くなるのを待つことではありません。より強力なモデルであっても能力の境界は存在し、自己批判は依然として不得手だからです。
解決策は、欠点を指摘することに特化したパートナーを AI に与えることです。そして、そのパートナーを厳しく調整することに時間をかけるのです。
この事柄は一見すると派手さに欠けますが、Anthropic 社による実験は証明しました。同じモデルであっても、このパートナーがいるかいないかで、その成果物は「廃棄物」か「完成品」かの差になるのです。
📌 元記事:https://www.anthropic.com/engineering/harness-design-long-running-apps