長時間実行アプリケーション開発のためのAnthropicハーネス設計
TL;DR
Anthropicは、Claudeが数時間にわたる実行でリッチなフルスタックアプリケーションを自律的に作成できるようにする3エージェントハーネス(プランナー、ジェネレーター、評価者)を公開しました。これにより、フロントエンドデザインにおける美的判断と、長時間実行コーディングタスクにおける信頼性の高いコード品質の両方に対処しています。
単純な長時間実行エージェントが失敗する理由
自律コーディングエージェントの単純な実装は、コンテキストウィンドウが埋まるにつれて一貫性を急速に失い、「コンテキスト不安」を引き起こし、モデルが作業を早期にまとめてしまうことがあります。単純なコンテキスト圧縮ではモデルの内部状態がリセットされないため、不安は持続します。さらに、自己評価するエージェントは、特にデザインのような主観的なタスクにおいて、自分の出力を過大評価する傾向があり、その結果、退屈またはバグのある成果物が生まれます。
GANに着想を得たマルチエージェントアーキテクチャ
Anthropicは、Generative Adversarial Networksからジェネレーター・評価者パターンを採用しました:
- ジェネレーターはコードまたはUIアセットを作成します。
- 評価者は具体的な基準に対して出力を採点し、詳細なフィードバックを提供します。
- プランナー(フルスタック作業用に追加)は、短いユーザープロンプトを詳細な製品仕様に拡張し、下流のエージェントの範囲を設定します。
生成と評価を分離することで、評価者を懐疑的に調整でき、ジェネレーターに改善のための具体的なシグナルを与えることができます。
フロントエンドデザイン:好みを採点可能な基準に変える
主観的な美学を測定可能にするために、Anthropicは4つの採点基準を定義しました:
- デザイン品質 – 色、タイポグラフィ、レイアウト、画像の一貫性。
- 独創性 – 既製テンプレートに対するカスタム決定の存在。
- 職人技 – スペーシング、コントラスト、階層などの技術的実行。
- 機能性 – 視覚的な魅力に依存しない使いやすさ。
評価者は少数ショットの例で調整され、採点前にPlaywrightを使用してライブページと対話しました。反復ループ(生成ごとに5〜15サイクル)がジェネレーターをより特徴的なデザインへと導き、10回の反復後に3D CSSミュージアムサイトなどの顕著な創造的飛躍が現れました。
フルスタック開発へのスケーリング
アーキテクチャ
- プランナー – 1〜4文のプロンプトを10スプリントにわたる16機能の仕様に変換し、可能な場合はAI強化機能を追加します。
- ジェネレーター – React/Vite/FastAPI/SQLite(後にPostgreSQL)スタックを使用してスプリントごとに1つの機能を実装し、gitにコミットし、引き渡し前に自己評価します。
- 評価者 – Playwrightを使用してエンドツーエンドテストを実行し、各スプリントを製品の深さ、ビジュアルデザイン、機能性、コード品質で採点します。実装前にスプリント契約が交渉され、期待値を調整します。
実行の詳細
- コンテキストリセットは、Claude Sonnet 4.5でコンテキスト不安のために必要でしたが、Claude Opus 4.5に切り替えた際に廃止されました。Opus 4.5の長いコンテキスト処理により、頻繁なリセットの必要性がなくなりました。
- エージェント間の通信は構造化ファイルを介して行われ、実装の詳細を過剰に指定せずにセッション間で状態を保持します。
比較結果:ハーネス vs. 単独実行
レトロビデオゲームメーカー
- 単独実行 – 基本的なUIを生成しましたが、レイアウトの無駄、硬直したワークフロー、機能しないゲームコアに悩まされました。
- ハーネス実行 – より豊かな仕様、より洗練されたUI、統合されたClaude駆動のAI機能、そしてプレイ可能なゲーム(軽微な物理バグはあるものの)を生成しました。評価者は27のスプリントレベルの基準を捕捉し、単独バージョンに現れた多くのバグを防ぎました。
- コスト – ハーネスは20倍以上高価でしたが、品質の差はすぐに明らかでした。
デジタルオーディオワークステーション(DAW)プロトタイプ
- 実行時間 – 約4時間、トークンコスト124ドル。
- 結果 – 機能的なアレンジメントビュー、ミキサー、トランスポート;AI支援作曲が実証されました。
- 評価者の所見 – コアインタラクション(ドラッグアンドドロップクリップ、インストルメントパネル、ビジュアルエフェクトエディター)の欠落と、オーディオ録音のスタブ実装が、Opus 4.5でも残るギャップを浮き彫りにしました。
Opus 4.6後のハーネス簡素化
Opus 4.6は長いコンテキストの取得、計画、自己デバッグを改善し、ハーネスコンポーネントの体系的な削減を促しました:
- スプリント分解の削除 – モデルは明示的なチャンク化なしで長い一貫した実行を処理しました。
- 評価者は実行終了時のパスに移動 – エッジケースの検証には依然として価値がありますが、モデルの単独能力内で快適に処理できるタスクには不要です。
- プランナーは維持 – 簡潔なプロンプトを実行可能な仕様に拡張するために不可欠です。
この簡素化により、評価者の有用性はワークロード依存であることが示されました:タスクがモデルのベースライン能力を超える場合にはコストがかかりますが、モデル単独で十分な場合は省略できます。
教訓と今後の方向性
- ターゲットモデルで反復する – 常に現在のモデルバージョンでハーネスをテストしてください。能力によっては、スキャフォールドの一部が時代遅れになる可能性があります。
- 必要なときに分解する – タスクのチャンク化と専門エージェントは複雑な問題に余裕をもたらしますが、モデルがネイティブにワークロードを処理できるようになったら、それらを取り除くべきです。
- 生成と評価を分離する – 外部の懐疑的な評価者は、ジェネレーターを自己批判的にしようとするよりも、調整が容易です。
- 具体的な採点基準が主観をフィードバックに変える – デザイン原則を採点可能な用語としてエンコードすることで、美的改善を促進します。
- ハーネス設計は依然として動的なターゲット – モデルが向上するにつれて、新しいエージェントの組み合わせが登場し、有用なハーネスの領域を活気に保ちます。
付録
DAWプロンプトに対するプランナー出力の例(簡潔にするため省略)。