📅 2026年4月28日 | 🏷️ AI エージェント Anthropic マルチエージェント

3体のかわいいロボットが協力して作業するイラスト

GANに学ぶAIエージェント設計 — Anthropicの3エージェントアーキテクチャが描く自律開発の未来

目次

AIが一人でアプリを作れるって本当?

「AIにアプリを作らせましょう」——最近あちこちで聞くフレーズですが、現実はどうでしょうか。確かに、ちょっとしたツールならAI aloneでも作れるようになりました。しかし、本格的なアプリとなると話は別です。UIは整っているのに中身がスカスカ、ボタンを押しても何も起きない……そんな「見せかけの完成品」に悩まされた経験はないでしょうか。

AnthropicのLabsチームが2026年3月に公開した技術ブログ「Harness design for long-running application development」は、この問題に真正面から取り組んだ興味深いレポートです。著者のPrithvi Rajasekaran氏は、AIに品質の高いフロントエンドデザインをさせ、かつ完全なアプリを人間の介入なしで構築させるという2つの課題に取り組みました。

その解決策が、なんとGAN(敵対的生成ネットワーク)の発想から生まれたのです。

素朴な実装が失敗する2つの理由

AIエージェントに「このアプリを作って」と頼んで放置する、いわゆる「ナイーブな実装」は、なぜうまくいかないのでしょうか。Anthropicは2つの根本的な問題を特定しました。

1. コンテキスト不安(context anxiety)

長時間のタスクでは、AIのコンテキストウィンドウ(記憶領域)が徐々に埋まっていきます。するとAIは「もうすぐ上限に達するから早く終わらせなきゃ」と焦り始め、作業を途中で打ち切ってしまう現象が起きます。これが「コンテキスト不安」です。

対策として、Anthropicはコンテキストリセットという手法を採用しました。会話を完全にクリアし、前のセッションの状態をハンドオフファイルとして引き継ぐことで、AIに「きれいな白紙」を与えるのです。これはコンテキストをその場で要約し続ける「コンパクション」とは異なり、AIに本当の意味でリフレッシュさせることができます。

コンパクション vs リセット:コンパクションは同じエージェント内で過去の会話を要約して続行しますが、コンテキスト不安は残ります。リセットは完全に新しいエージェントを立ち上げるため、白紙状態から再スタートできます。ただし、引き継ぎ情報が十分でないと作業が途切れるリスクもあります。

2. 自己評価の甘さ

もう一つの問題はAIの自己評価が当てにならないことです。AIに「自分の成果を評価して」と頼むと、たとえ品質が明らかに mediocre(並以下)でも「素晴らしい出来です!」と自信満々に答える傾向があります。

これは特にデザインのような主観的なタスクで顕著です。「このレイアウトは洗練されているか?」という問いに対して、AIは自分の作品を甘く採点してしまいます。テスト可能な客観的タスクであっても、作業中の判断ミスが発生することがあります。

GANからヒントを得た解決策

ここでGANの登場です。GAN(Generative Adversarial Network)は、画像を生成するGenerator(生成器)画像を評価するDiscriminator(識別器)が競い合うことで品質を高めていく機械学習の仕組みです。Anthropicはこの発想をAIエージェント設計に応用しました。

つまり、「作るAI」と「評価するAI」を分離するのです。

単に分離するだけでは不十分で、評価側のAIも同じLLMなので最初は甘くなります。しかし、独立した評価AIを厳しく調整(チューニング)することは、生成AI自身に自己批判させるよりずっと簡単だというのが重要な洞察です。一度外部からの厳しいフィードバックが存在すれば、生成AIはそれに対して具体的に改善を重ねられます。

フロントエンドデザインの実験では、4つの評価基準を定義しました。

評価基準内容
デザイン品質色、タイポグラフィ、レイアウトが一体となって独自の雰囲気を作れているか
独創性テンプレートやAI生成の典型パターン(紫のグラデーション+白カード等)に堕していないか
技術的品質文字階層、余白の一貫性、カラーハーモニーなどの基本ができているか
機能性ユーザーがインターフェースの目的を理解し、操作できるか

特にデザイン品質と独創性を重視し、「AIスロップ」と呼ばれる典型的なAI生成パターンを明確にペナルティ対象にしました。

3エージェントアーキテクチャの全貌

GANの発想をフルスタック開発に拡張した結果、3つのエージェントが協働するアーキテクチャが完成しました。

① Planner(プランナー)

ユーザーが入力した1〜4文の短いプロンプトを、完全な製品仕様書に拡張します。ここで重要なのは、詳細な技術実装までは指定しないこと。技術的な詳細で間違えた場合、そのエラーが下流の実装全体に波及するからです。プロダクトの文脈と高レベルの技術設計に留め、実装の道筋は現場に任せるという判断です。

② Generator(ジェネレーター)

スプリント単位で1機能ずつ実装します。React + Vite + FastAPI + SQLite(のちにPostgreSQL)というモダンなスタックを採用。各スプリントの終わりに自己評価を行い、次のQAに引き継ぎます。Gitによるバージョン管理も備えています。

③ Evaluator(評価者)

ここがGANの「Discriminator」に相当する存在です。Playwright MCPを使って実際のアプリを操作し、UI機能、APIエンドポイント、データベースの状態をテストします。単なるコードレビューではなく、ユーザーと同じようにクリックして回るため、見た目だけ良くて中身がない「ハリボテ」を見破ることができます。

スプリントコントラクト:各スプリントの開始前、GeneratorとEvaluatorは「この機能ができたら完了とみなす」という合意(スプリントコントラクト)を結びます。仕様書は意図的に高レベルなので、この合意プロセスが「ユーザーストーリー」と「テスト可能な実装」の橋渡しをします。どちらかが納得するまで対話を繰り返すのです。

エージェント間のコミュニケーションはファイル経由で行われます。一方のエージェントがファイルを書き、もう一方が読んで応答するというシンプルな仕組みです。

実験結果:ブラウザDAWを作ってみた

このアーキテクチャをテストするため、Anthropicは次のようなプロンプトを投げました。

「Web Audio APIを使って、ブラウザ上で動く本格的なDAW(デジタル・オーディオ・ワークステーション)を作って」

DAWとは、音楽制作ソフトのこと。作曲、録音、ミキシングまでを一台でこなす本格的なアプリです。これをブラウザ上で一から作らせるという、かなり野心的な課題です。

結果は以下の通りでした。

フェーズ所要時間コスト
Planner(仕様策定)4.7分$0.46
Build(ラウンド1)2時間7分$71.08
QA(ラウンド1)8.8分$3.24
Build(ラウンド2)1時間2分$36.89
QA(ラウンド2)6.8分$3.09
Build(ラウンド3)10.9分$5.88
QA(ラウンド3)9.6分$4.06
合計約3時間50分$124.70

QAエージェントが各ラウンドで具体的な指摘をしています。1回目のレビューでは「見た目は素晴らしいが、クリップをドラッグできない、シンセのノブUIがない、EQカーブのグラフィカルエディタがない」と指摘。2回目でも「オーディオ録音がスタブのまま」「クリップの分割が未実装」と具体的な機能ギャップを捉まえました。

完成品はプロ用DAWには程遠いものの、アレンジビュー、ミキサー、トランスポートというDAWのコア機能がブラウザ上で動作し、AIエージェントがテンポ設定→メロディ生成→ドラムトラック構築→ミキサー調整→リバーブ追加まで、プロンプトだけで一連の楽曲制作プロセスを自律的に実行できたとのことです。

コストは約$125(約2万円)と決して安くありませんが、人間の開発者が数週間かかるような本格的なアプリを数時間で自動生成できた意義は大きいです。

オランダ美術館の「創造的飛躍」

この実験で最も感動的なエピソードが、オランダ美術館のウェブサイトを作らせた時の出来事です。

9回目の反復までは、ダークテーマの洗練されたランディングページができあがっていました。見た目は綺麗ですが、予想の範囲内です。

しかし10回目のサイクルで、突然すべてが変わりました

AIはそれまでのアプローチを完全に捨て、サイトを空間体験として再構築したのです。CSSのperspectiveを使った3Dルーム、チェッカーボードの床、壁に自由な配置で掛けられた絵画、そして部屋から部屋へドアを使って移動するナビゲーション。スクロールでもクリックでもない、まったく新しいギャラリー体験でした。

これはGAN的な反復ループがもたらした創造的飛躍です。単発の生成では決して出てこなかったアイデアが、GeneratorとEvaluatorの繰り返しの緊張関係の中から突然生まれたのです。評価AIからの「もっと独創的に」という圧力が、生成AIを安全なデフォルトから引きずり出した結果と言えます。

僕たちへの示唆

この研究は、AIを日常的に使う僕たちにも重要なメッセージを含んでいます。

① 自己評価は当てにならない → 外部レビューが重要

AIは自分の仕事を褒めすぎます。「これでいいですか?」と聞くと「素晴らしいです!」と返ってくる。本当に品質を高めるなら、別の視点(別のAI、あるいは人間)からのレビューが必要です。

② コンテキストリセット vs コンパクション

長時間のタスクでは、会話を要約し続けるだけ(コンパクション)では限界があります。思い切ってセッションをリセットして引き継ぎドキュメントで繋ぐ方が、AIのパフォーマンスが安定することがあります。これは僕たちがプロンプトを設計する際にも参考になります。

③ 「作るAI」と「見るAI」の分離設計

これが最も実用的な教訓です。コードを書かせた直後に「レビューして」と同じAIに頼むより、別セッション(別のAI)にレビューさせる方がはるかに効果的です。Anthropicの実験でも、独立した評価AIを厳しくチューニングする方が、生成AIを自己批判的にさせるよりずっと容易でした。

実践的な使い方:CursorやClaude Codeでコードを書かせたら、新しいチャットセッションを立ち上げて「このコードを厳しくレビューして」と頼んでみましょう。同じAIでも、コンテキストが変わると評価の精度が劇的に上がります。

Anthropicの結論は示唆に富んでいます。モデルが進化しても、ハーネス(足場)設計の重要性は消えない。むしろ、モデルが良くなるほど「より面白いハーネスの組み合わせ」が可能になり、AIエンジニアに求められるのは「次の斬新な組み合わせを見つけ続けること」だと言います。

GANという古くて新しいアイデアが、AIエージェントの設計にこんなにも自然にマッチするとは。AIの進化は、ただモデルを大きくするだけじゃなく、どう組み合わせるかにあるのかもしれません。


📰 参考元: Harness design for long-running application development - Anthropic Engineering