# 進化的探索によるエージェント設計 ## 定義 自然選択に着想を得た進化的探索(候補解の集団を変異させ、適応度の高い個体のみを残す最適化手法)を、エージェントワークフロー・ハーネス・プロンプトの設計空間に適用する研究系統。[[Lilian Weng]] は [[@2026__Lil'Log__Harness Engineering for Self-Improvement]] で、探索空間が広大または歪な形状を持ち、勾配で直接最適化しにくいが解の評価は容易、という条件が「ハーネス探索」に適合すると位置づける。(Source: [[@2026__Lil'Log__Harness Engineering for Self-Improvement]]) ## ワークフロー設計を探索問題として扱う手法 ### ADAS: Automated Design of Agentic Systems([Hu et al. 2025](https://arxiv.org/abs/2408.08435)) 「meta-agent search」としてエージェント設計自体を最適化問題として定式化する。 1. CoT・self-refine 等の単純なエージェントでワークフローのアーカイブを初期化。 2. メタエージェントがアーカイブ内の既存解に着想を得て新エージェントをコードで実装する(高水準の説明を生成 → コード実装 → self-refine による新規性チェックを2段階)。 3. 各新候補を評価し、成功したものをアーカイブに追加。 4. 最大反復数まで2〜3を繰り返す。 ### AFlow([Zhang et al. 2025](https://arxiv.org/abs/2410.10762)) エージェントワークフローをグラフとして表現し(ノード=LLM呼び出しアクション、エッジ=コードで実装された論理演算)、[MCTS](https://en.wikipedia.org/wiki/Monte_Carlo_tree_search)(モンテカルロ木探索)で最適化する。 1. テンプレートで初期ワークフロー $W_0$ を木のルートとして初期化。 2. スコアと一様探索のソフトな混合でワークフローノードを選択。 3. 評価性能を条件に LLM に修正版ワークフローを生成させて展開。 4. 新ワークフローを実行・評価。 5. 予算 $N$ ラウンド以内で改善が見られれば木に追加。 6. 上位 $k$ 平均スコアが頭打ちになるか予算に達するまで2〜5を繰り返す。 QA・コード・数学タスクの実験で、AFlow は手作業設計ワークフローと ADAS の両方を上回る改善を示した。 ## プロンプト進化からコード進化へ 進化的探索はプロンプトエンジニアリングでも先行して使われてきた。**Promptbreeder**([Fernando et al. 2023](https://arxiv.org/abs/2309.16797))はタスク固有プロンプトを豊富な変異操作群で最適化し、興味深いことに変異プロンプト(タスクプロンプトを変異させる指示自体)も進化を通じて改善される。**GEPA**([Agrawal et al. 2025](https://arxiv.org/abs/2507.19457))は reflection ベースのプロンプティングと進化的探索を組み合わせ、試行錯誤の軌跡に対する自然言語での reflection からプロンプト更新を提案する。 **AlphaEvolve**([Novikov et al. 2025](https://arxiv.org/abs/2506.13131))はコーディングエージェントによる進化的探索システムで、候補プログラムのプールを保持し、凍結された LLM に改善のための diff を生成させる。子プログラムを繰り返し評価し、成功したものを保持することで時間をかけてより良い解を発見する。設計上の要点: - プロンプトには親プログラム・結果・指示、時にメタ情報を含める。 - コーディングエージェントはリポジトリ全体にアクセスできるが、改善対象のコード領域は `# EVOLVE-BLOCK-START`/`# EVOLVE-BLOCK-END` で明示的にマークする。 - メタプロンプトは、解プログラムを進化させるのと同様の方法で、指示・コンテキストとともに共進化する。 ## 派生・拡張手法 - **ThetaEvolve**([Wang et al. 2025](https://arxiv.org/abs/2511.23473)): 進化的探索と RL・in-context learning を組み合わせる。 - **DemoEvolve**([Che et al. 2026](https://arxiv.org/abs/2605.24539)): 自己ロールアウトのアーカイブに人間の専門家デモンストレーションを補強し、ハーネスレベルの診断・編集の参照経験とする。 - **ShinkaEvolve**([Lange et al. 2025](https://arxiv.org/abs/2509.19349)): LLM サンプリング効率を改善する3コンポーネントを導入。(1) 性能ランクとオフスプリング数のバランスを取る親サンプリング設計によるサンプル効率的な探索、(2) 埋め込みベースのコサイン類似度で既存集団に近すぎる候補を破棄するコード新規性リジェクションサンプリング、(3) 成功解の良いパターンをメタスクラッチパッドで特定し将来の変異を導く。 ## Darwin Gödel Machine と Hyperagents(ハーネスコード自体の進化) 上記の手法群が主にソリューション(プログラム・プロンプト・ワークフロー)の改善に焦点を当てるのに対し、**Darwin Gödel Machine(DGM)**([Zhang et al. 2025](https://arxiv.org/abs/2505.22954))は編集可能なハーネスコードリポジトリの進化を明示的に対象とし、エージェントが自身のハーネスを変更できる点で一線を画す。詳細は [[ハーネス自己進化]] に集約する。 ## 適合領域と限界 この手法群は、候補解が自動評価可能で適応度が定量化しやすい領域(行列乗算・GPU カーネル最適化・アルゴリズムコンテスト・データセンタースケジューリング等)でうまく機能する。評価が遅い・曖昧・主にヒューリスティックに依存する領域では苦戦する。進化の計算効率と有効性も引き続き懸念事項である。(Source: [[@2026__Lil'Log__Harness Engineering for Self-Improvement]]) ## 横断的知見 - **ADAS/AFlow(ワークフローグラフの進化)と AlphaEvolve/ShinkaEvolve(プログラムの進化)は探索対象の抽象度が異なるが、いずれも「凍結 LLM + 明示的な編集可能面のマーキング」という共通パターンを持つ**——ADAS の self-refine 2段階、AlphaEvolve の EVOLVE-BLOCK マーカーは、[[ハーネス自己進化]] の AHE が定義する「component observability」と同型の設計原則(編集可能面を明示的にする)を異なる粒度で先取りしていたと読める。(Source: [[@2026__Lil'Log__Harness Engineering for Self-Improvement]]) ## 未解決の問い - 進化的探索の「適合領域」(自動評価可能・適応度が定量化しやすい)という条件は、[[Recursive Self-Improvement]] が挙げる7つの課題のうち「弱く曖昧な評価器」と正面から衝突する。研究の趣味・novelty のような曖昧な目的関数に進化的探索を適用する試みはどこまで進んでいるか。 - ShinkaEvolve の「コード新規性リジェクションサンプリング」のような多様性維持機構は、[[Recursive Self-Improvement]] が挙げる「多様性崩壊」という課題全般にどこまで一般化できる解法か。 - DGM・Hyperagents(ハーネスコード自体の進化)と ADAS・AFlow(ワークフローグラフの進化)の境界は今後も明確であり続けるか、それとも同一の最適化空間に統合されていくか。 ## 関連 - [[Harness Engineering]] — 本概念が対象とする最適化領域の親概念 - [[ハーネス自己進化]] — DGM・Hyperagents 等ハーネスコード自体を対象とする隣接系統 - [[Recursive Self-Improvement]] — 本概念が実現しようとする上位目標 ## 出典 - [[@2026__Lil'Log__Harness Engineering for Self-Improvement]](2026-07-04、[[Lilian Weng]])