見出し画像

AIに6時間コードを書かせたら、音楽制作ソフトができた——Anthropicが明かす「ハーネス設計」の全貌

はじめに

「ブラウザで動くDAW(音楽制作ソフト)を作って」

たった1行のプロンプト。4時間後、メロディ作成、ドラムパターン、ミキサー、リバーブまで備えたアプリが出来上がっていました。費用は約19,000円。人間の介入はゼロ。

これはAnthropicが2026年3月に公開した技術ブログの内容です。彼らが取り組んでいるのは、AIに数時間単位でコードを書かせ続けて、まともなアプリケーションを完成させるという挑戦。

その鍵となるのが「ハーネス設計」——AIを単体で使うのではなく、複数のAIエージェントを役割分担させて連携させるアーキテクチャです。

この記事では、その仕組みと、なぜ「AIを1体で使う」より圧倒的に良い結果が出るのかを解説します。


AIに長時間コードを書かせると何が起きるか

まず、なぜ普通にAIにコードを書かせるとダメなのか。2つの壁があります。

壁1:文脈の限界

AIにはコンテキストウィンドウという「一度に見える範囲」の上限があります。長いタスクを実行すると会話履歴がどんどん膨らみ、やがてこの上限に近づく。

すると不思議なことが起きます。AIが「そろそろ終わりにしなきゃ」と焦り始めるのです。

Anthropicはこれを「コンテキスト不安(Context Anxiety)」と呼んでいます。まだやるべきことが残っているのに、AIが勝手に作業を切り上げようとする現象。Sonnet 4.5では特に顕著だったそうです。

壁2:自画自賛問題

AIに「自分が書いたコードを評価して」と頼むと、ほぼ確実に「よくできてます!」と言います。人間が見れば明らかに中途半端な出来でも。

これは特にデザインのような主観的な評価で深刻です。「このUIは美しいか?」という問いに対して、AIは自分の生成物に甘い採点をしてしまう。


解決策:AIを3体使う

Anthropicが辿り着いた答えは、GAN(敵対的生成ネットワーク)にヒントを得た、3体のAIエージェント構成でした。

Planner(企画者)

1〜4行のシンプルなプロンプトを受け取り、本格的な製品仕様書に拡張するエージェント。

例えば「2Dレトロゲームメーカーを作って」という1行から、レベルエディタ、スプライトエディタ、アニメーションシステム、AI支援機能、ゲームエクスポートまで含む16機能・10スプリントの仕様書を自動生成。

ポイントは、技術的な詳細まで書かせないこと。細かい実装方法を先に決めると、間違った前提が下流に波及してしまう。「何を作るか」だけ決めて、「どう作るか」はGeneratorに任せる設計です。

Generator(開発者)

仕様書に基づいて、実際にコードを書くエージェント。React、Vite、FastAPI、SQLiteなどのスタックで、機能ごとにスプリント形式で実装していきます。

Evaluator(品質検査官)

ここが最大のブレークスルーです。

Evaluatorは、Generatorが書いたコードを実際にブラウザで動かして検査します。Playwright(ブラウザ自動操作ツール)を使い、ユーザーと同じようにクリックして回り、バグを見つけ、具体的なフィードバックを返す。

単に「良い/悪い」ではなく、こんなレベルの指摘をします。

「矩形塗りつぶしツールが、ドラッグの始点と終点にしかタイルを配置していない。fillRectangle関数は存在するが、mouseUpイベントで正しくトリガーされていない」

「PUTの/frames/reorderルートが/{frame_id}ルートの後に定義されている。FastAPIが'reorder'を整数として解釈しようとして422エラーを返す」

人間のQAエンジニアと同等の具体性です。


「1体」vs「3体」:同じプロンプトで何が変わるか

Anthropicは同じプロンプト(「2Dレトロゲームメーカーを作って」)で比較実験をしています。

AIを1体で使った場合(20分、約1,400円)

  • 見た目はそれっぽいUIができる

  • しかしスペースの使い方が非効率で、ワークフローが不親切

  • 最大の問題:ゲームが動かない。エンティティは画面に表示されるが、入力に一切反応しない。コードを調べると、エンティティ定義とゲームランタイムの接続が壊れていた

3体構成で使った場合(6時間、約30,000円)

  • 1行のプロンプトから16機能の仕様書が自動生成される

  • UIはフルビューポートを活用し、一貫したビジュアルアイデンティティ

  • スプライトエディタはツールパレット、カラーピッカー、ズーム操作まで完備

  • ゲームが実際に動く。キャラクターを操作してプレイできる

  • さらにClaude統合が組み込まれ、プロンプトでゲームの各パーツを生成可能

コストは20倍以上。しかし「動かないアプリ」と「実際に遊べるアプリ」の差は、コスト比では測れません。


デザインの「味」をAIに教える方法

もう一つ興味深いのが、フロントエンドデザインへの応用です。

AIが作るUIは、技術的には正しいが視覚的に退屈なものになりがちです。よくある「AI臭い」デザイン——紫のグラデーション、白いカード、テンプレート感満載のレイアウト。

Anthropicのアプローチは、「美しいか?」を「原則に沿っているか?」に変換することでした。

4つの評価基準を設定しています。

  • デザイン品質:パーツの寄せ集めではなく、全体として統一されたムードとアイデンティティがあるか

  • オリジナリティ:テンプレートやライブラリのデフォルトではなく、意図的なクリエイティブ判断の痕跡があるか。「紫グラデーション+白カード」のようなAI生成パターンは即減点

  • クラフト:タイポグラフィ、スペーシング、カラーハーモニーの技術的な正確さ

  • 機能性:見た目に関係なく、ユーザーが迷わず操作できるか

特に重視したのはデザイン品質とオリジナリティ。技術的な正確さはAIが元から得意な部分で、弱いのは「美的なリスクを取る」こと。評価基準で明示的にリスクテイクを促した結果、出力が劇的に変わったそうです。

ある実験では、オランダの美術館サイトを生成させたところ、9回目のイテレーションまではクリーンだが予想通りのデザインだったのが、10回目で突然、CSSパースペクティブで描画された3D空間のギャラリー体験に進化。壁に作品が自由配置され、ドアをくぐって部屋を移動するナビゲーション。人間でも思いつかないような飛躍でした。


モデルが進化するとハーネスはどう変わるか

興味深いのは、モデルが賢くなるとハーネスの「何が必要か」が変わるという発見です。

Opus 4.5からOpus 4.6にアップデートした際、以下の変化が起きました。

  • スプリント分割が不要に:4.5では必須だった作業の細分化が、4.6では不要。モデル自身が長い作業を一貫して処理できるようになった

  • コンテキスト不安が解消:4.6ではコンテキストリセットなしで2時間以上連続して高品質なコードを書き続けた

  • Evaluatorの役割が変化:モデルの基本能力が上がった分、簡単なタスクではEvaluatorが不要に。ただし限界付近のタスクでは依然として大きな効果

つまり、ハーネス設計は一度作って終わりではなく、モデルの進化に合わせて組み替え続けるもの。Anthropicのエンジニアはこう表現しています。

「ハーネスの各コンポーネントは『モデルが単独でできないこと』についての仮説を体現している。モデルが進化すれば、その仮説は再検証に値する」


これが意味すること

この研究から見えてくるのは、AIの使い方の「設計」が、モデルの性能と同じくらい重要になっているということです。

同じモデルでも、単体で使うか、複数体で役割分担させるかで出力品質が劇的に変わる。評価基準の言葉遣いひとつでデザインの方向性が変わる。セッション管理の設計で安定性が変わる。

これはエンジニアだけの話ではありません。

「AIにどう仕事を任せるか」を設計する能力——プロンプトの書き方だけでなく、タスクの分解、役割分担、フィードバックループの構築——が、AI活用の成否を分ける時代に入っています。


まとめ

  • AIに長時間コードを書かせると「文脈の限界」と「自画自賛」の2つの壁にぶつかる

  • Anthropicの解決策はPlanner・Generator・Evaluatorの3体構成。GANの発想をソフトウェア開発に応用

  • 同じプロンプトでも、1体では「動かないアプリ」、3体では「遊べるゲーム」や「音楽制作ソフト」ができる

  • デザインの主観的な「良さ」も、評価基準を具体化すれば採点可能になる

  • モデルが進化するとハーネスの必要な構成も変わる。設計は一度きりではなく、継続的な最適化

  • AIの性能だけでなく、「AIにどう仕事を任せるか」の設計力がこれからの差を生む

いいなと思ったら応援しよう!