AIエージェント
AIのスキャフォールドとは?自動最適化の効果とプロンプト過適合
- スキャフォールド
- AIエージェント
- プロンプト最適化
- DSPy
- GEPA
- ACE
- TextReg
- MASS
- Training-Free GRPO
- AppWorld
- HAL
- 強化学習
- GRPO
- プロンプト分布過適合
- ロールアウト
- ハーネス
- 自己進化
- フィードバック
- ファインチューニング
- TextGrad
- Chain-of-Thought
- DeepSeek-V3.1
- AIME
- Gemma 3
- ReAct
目次
AIエージェントは、言語モデルを何度も呼び出して課題を解く。モデルに渡す文字列をプロンプトと呼び、モデルは、学習で決まった大量の数値(重み)を使ってプロンプトから返事を計算する。エージェントの性能を上げる、いちばん直感的な方法はモデルを替えることだ。より賢いモデルに切り替えるか、もっと考えさせるか、課題に合わせた追加のデータで学習させ、重みを更新する(ファインチューニング。解かせた結果の点数を使って重みを更新するやり方を強化学習と呼ぶ)。
だが性能は、モデルを繰り返し呼び出して働かせる外側のプログラムでも変わる。この外側のプログラムを、本稿が引く研究群はスキャフォールドと呼ぶ。スキャフォールドは課題を受け取り、指示文と課題と使えるツール(スキャフォールドが代わりに実行する、計算や検索などの機能)の説明をまとめたプロンプトを組み立ててモデルを呼ぶ。モデルの返事がツールを使いたいという内容なら、スキャフォールドがそのツールを実行し、結果をプロンプトに足してモデルを呼び直す。これを答えが出るまで繰り返す。何を見せ、何を使わせ、どうつなぎ、何を残すかを決めるのはこのプログラムで、モデルの重みが同じでも、スキャフォールドを替えると結果が変わる1。
そのスキャフォールドを、人手でなく自動で磨く手法が出てきた。手法は、ある問題の集合で点数が上がるようにスキャフォールドの部品(指示文・ツールの説明・呼び直しの手順など。多くは指示文)を書き換えては測る。上がった点数が、その集合の外でも保たれるかは別の問いである。最適化に使った問題に合わせ込みすぎて、その外で点数が落ちることを過適合と呼ぶ。
本稿は、外側の自動最適化を報告した DSPy・GEPA・ACE などの研究と、プロンプト最適化の過適合を測った TextReg を例に取る。
AIのスキャフォールドを、モデルの重みを変えずに自動で最適化したとき、その性能の伸びはどこまで信頼できるのか。
伸びたという実測は、GEPA が Qwen3-8B で強化学習を6タスク平均で上回るなど複数ある。ただし TextReg は、プロンプト最適化が最適化に使ったサンプルへ過適合し、その外では点数が崩れうると報告しており、外の問題で測るまで伸びは保証されない。
過適合を測った TextReg が主に扱ったのは単発の推論プロンプトで、エージェント指示は射程外としている。ACE は採点の信号が無い場面で劣化しうると報告し、重みを更新する自己進化では反復の頭打ちも報告されている。
算数の問題を解くスキャフォールドと、その指示文の自動最適化
※ この節の例は、説明のために作った架空のものです。
スキャフォールドの指示文を自動で書き換えると、書き換えに使った問題では正答率が上がり、別の問題では下がることがある。モデルを二度呼ぶ算数のスキャフォールドで、上がる分と下がる分を数える。
算数の文章題を解くスキャフォールドを考える。モデルは二度呼ばれ、二度目には一度目に頼んだ計算の結果を受け取る。指示文は「算数の問題を解く。計算は calc で行い、答えが決まったら answer で返す」とする。calc は式を受け取って値を返す電卓のツール、answer は答えを一つ受け取って解き終えるツールだ。問題は「鉛筆を1本60円で8本、ノートを1冊120円で3冊買うと、代金はいくらか」とする。
- スキャフォールドモデル1. 指示文・問題・calc と answer の説明を一つのプロンプトにして送る
- モデルスキャフォールド2. calc で 60*8+120*3 を計算したい、と返す
- スキャフォールド電卓(calc)3. 式 60*8+120*3 を渡す
- 電卓(calc)スキャフォールド4. 840 を返す
- スキャフォールドモデル5. 前のプロンプトに「calc の結果は 840」を足して送り直す
- モデルスキャフォールド6. answer で 840 と答える、と返す
- スキャフォールド7. answer が来たので繰り返しを止め、840 を答えにする
モデル自身は電卓を動かしていない。モデルが返したのは「何を計算したいか」という文字列で、それを読み取って電卓を呼び、結果をプロンプトに書き足して呼び直したのはスキャフォールドである。二度目に送ったプロンプトには一度目の内容と 840 が並んでいるので、モデルは途中の結果を見たうえで答えを決められる。正解の 840 と照らして、この問題は正答と数える。
次に、このスキャフォールドの指示文だけを自動で磨く。重みも、calc と answer のツールも、呼び直しの手順も変えない。易しい問題100問を解かせて正答率を測り、その結果を見て指示文を書き換え、また測る、を10回繰り返す。書き換えるのは、問題を解く呼び出しとは別にモデルを呼んで、誤答した問題と途中の記録を読ませ、直した指示文を書かせる手順である。磨く前の指示文は、易しい問題で70%、同じ種類の難しい問題で50%を出していたとする。
ある回では、品物の代金に送料50円を足す問題での誤答を読んで、「単価と個数が書かれていたら掛けた値を、個数の無い金額はそのまま、すべて足す」という規則が指示文に足された。100問には引く数の出る問題が無いので、この規則はどの問題でも減点されずに残る。10回の書き換えの後、易しい問題の正答率は85%に上がった。指示文は長くなり、その100問に出てくる言い回しに合わせた細かい規則が積み上がっている。難しい問題には「鉛筆を1本60円で8本買い、50円引きの券を使うと、代金はいくらか」のように引く数が混ざるものがある。足した規則のとおりに を計算すると、正解の 430 でなく 530 を答えて誤答になる。
この最適化を、二つの測り方で評価する。磨くのに使った同じ100問で測ると、+15ポイントの改善に見える。難しい問題でも測ると、正答率は45%で、磨く前の50%を5ポイント下回る。
電卓を呼んだ一問と、指示文を磨いた前後の正答率を合わせると、スキャフォールドについて次のことが分かる。
- モデルが見るのはスキャフォールドが組み立てたプロンプトだけなので、重みが同じでも、指示文を変えれば正答率が変わる(易しい問題で70%から85%)。
- 自動最適化は、測った問題の集合で点数が上がる向きに部品を書き換える。磨いた集合の上の伸びは、集合の外の伸びを保証しない。
- 外で測らなければ、下がったことは見えない。
前提として、性能はモデルの外側でも決まる
モデルを替える方法のうち「もっと考えさせる」は、実測では半数を超える設定で精度を上げなかった。プリンストン主導の多機関チームが約4万ドルをかけ、9モデルと9ベンチマークにまたがる2万1730回のエージェントロールアウト(エージェントが一つの課題を最初から最後まで解く1回の実行)を記録した研究 HAL1がある(81通りの全組み合わせを埋めたのではなく、比較として意味のある構成を優先したと原典は書く)。その実測で、推論に使う計算量を増やしても、36設定中21で精度は改善しなかった(同点を含む)。ただしこの36設定は推論設定の対を持つ4モデルに限られ、同論文は大半の評価を統計的検証のない単発ランで走らせたと自ら断っている。
同じ研究は、モデルの外側に大きな変数があることも量化している: スキャフォールドの選択は、精度とコストに劇的な差を生む。同じモデルでスキャフォールドだけを替えた比較では、課題専用のスキャフォールドが汎用のものを CORE-Bench Hard で12回中9回、SWE-bench Verified Mini で12回中11回上回った。ただし効き方は一様ではなく、同じスキャフォールドでもモデルとの相性で向きが変わる、と同論文は但し書きをつけ、モデルとスキャフォールドを慎重に組み合わせる設計を求めている1。
HALが示したとおり、性能を左右する変数はモデルの外側にもある。その外側の中身を、部品ごとに見ておく。
スキャフォールドとは、モデルを働かせる外側の一式である
背景で定義したスキャフォールドは、英語の scaffold(建築の足場)から来た呼び名で、モデルを繰り返し呼び出してエージェントとして動かす、モデルの外側のプログラム一式を指す。部品を並べると:
- 何を見せるかは、プロンプトとコンテキストの与え方である
- 何を使わせるかは、ツールの定義と呼び出しの形である
- どうつなぐかは、出力を解釈し、次の呼び出しへ渡す制御の流れである
- 何を残すかは、途中で得た情報の記憶と管理である
前節のHALが「スキャフォールドの選択」として比べたのは、この一式を丸ごと替える単位だ1。具体的には、同じモデルを差し替えて載せられる BrowserUse や SeeAct といったエージェントの枠組みを指す。エージェントが何を見て、どんな順序で動き、どう記憶を管理するかというこの設計全体を、ハーネスとも呼ぶ。本稿は、引用する研究の用語に合わせてスキャフォールドで通す。
プロンプトは、この一式の部品の一つだ。以降で見る手法は、プロンプトだけを磨くものから、部品どうしの接続構造ごと探索するもの、エージェントのコードごと書き換えるものまで、どの部品をどこまで動かすかが違うだけで、同じ「外側の最適化」である。そこで問いはこうなる。この外側の設計を、人手でなく自動で最適化できるのか。
外側の最適化が効く根拠は、強化学習を上回る実測にある
外側を自動で最適化する研究の出発点は DSPy(2023年、スタンフォード)だ。言語モデル(LM、Language Model)の呼び出しを並べた処理(LMパイプライン)を宣言的な「テキスト変換グラフ」としてコンパイルし、コンパイラがプロンプトや示例を指標に向けて最適化する2。一回の指示文を磨くのではなく、パイプライン全体のモジュールをまとめて最適化するという枠組みで、手書きのプロンプトテンプレートを置き換えた。構造そのものは書き手が if や for で宣言するが、コンパイラの守備範囲は指示文・フィールド説明・示例から、必要なら重みのファインチューニング、さらにプログラムの制御フローを組み替える段にまで届く。その最も単純な形である多数決アンサンブルは同論文の事例研究でも使われている。ただし初版が実際に力を入れたのは示例を自動で集めるブートストラップで、指示文そのものを書き換える側を主役に据えるのは後続の仕事になる。
実測として最も強いのは、その後継にあたる GEPA と ACE の二つだ。GEPAは、エージェントの実行の記録をモデルに自然言語で振り返らせてプロンプトの改訂案を作り、候補を増やしながら(遺伝的)、どれかの問題で最良の候補を残して(パレート的)プロンプトを進化させる3。6タスク平均で強化学習の一手法 GRPO(Group Relative Policy Optimization)を6ポイント上回り、最大19ポイント差。しかも必要なロールアウト数は最大で35分の1になる。強化学習のコストを払わずに改善を得る、という主張だ。GRPO との比較は Qwen3-8B に限られる。主表の GRPO は LoRA(Low-Rank Adaptation、重みの更新を低ランクの行列に限る方式)版で、フルパラメータの GRPO と比べたのは HoVer の2ホップ版という1課題だけだが、そこでも同程度の差が出ると同論文は報告している。ただし6タスクのうち AIME-2025 だけは逆で、GRPO の38.00に対しGEPAは32.00と6ポイント下回る。同論文も表のキャプションに on all benchmarks except AIME と明記している3。勝てていない課題が競技数学である点は、割り引いて読んでおくとよい。
ACE(スタンフォード/SambaNova)は、エージェントのコンテキストを「進化するプレイブック」として扱い、解く役(Generator)・振り返る役(Reflector)・プレイブックへ書き足す役(Curator)のループで磨く4。重みを一切更新せず、エージェント側の唯一のベンチである AppWorld で、選ばれたベースライン群に対して平均 +10.6%。ACE 論文が GPT-4.1 ベースの相手より「はるかに小さい」と呼ぶ 671B のオープンソースモデル(DeepSeek-V3.1)のまま、AppWorldリーダーボードで公開中の最上位プロダクション・エージェントと全体平均で並んだ。これは2025年9月時点・ACE 論文の自己報告という条件つきの数字で、同論文はこの比較を直接比較ではない大まかな目安だと断っている。
その AppWorld は、アプリ9種・457のAPIを横断するコードでタスク750問を解かせ、状態ベースのユニットテストで機械採点するベンチだ5。採点は、正しく終えたかに加えて、余計な副作用を出していないかを検査する。公開当時(2024年7月)は GPT-4o でも通常タスク約49%・challenge 分割約30%にとどまった難関で、ACE の「並んだ」はこの採点方式の上での結果である。ただしこの約49%を現在の水準と読んではいけない。ACE 論文の同じ表で、最適化を何も当てていない素の ReAct(考えとツール呼び出しを交互に出させる標準的なスキャフォールド。モデルは DeepSeek-V3.1-671B)が通常タスクのタスク単位達成率 63.7 を出しており、2024年の GPT-4o の同じ指標(48.8)を15ポイント上回っている。ACE 論文が並んだとする 59.4% のほうも通常/challenge × タスク単位/シナリオ単位の4値の平均で、GPT-4o の約49%(通常タスク・タスク単位の単独値)とは値の取り方が違う4。この challenge 分割は難易度で切ったものではなく、未見のアプリ(Amazon と Gmail)のAPIを要するタスクを集めた汎化分割で、原典はこちらを主標的に据えている。
同じ発想の研究は、ほかにも独立に出ている。MASS(Google/Cambridge)は多エージェントの設計空間を系統的に分析し、プロンプトと接続トポロジーが決定的な最適化因子だと結論づけた6。ただしこの結論は MASS を提案する論文自身のものなので、他と同じく割り引く。
エージェントの設計をコードとして書き換える系統もある。ADAS(Automated Design of Agentic Systems)は、メタエージェントが新しいエージェントを繰り返しコードで書き、見つけた設計は別の領域やモデルへ移しても優位が保たれたと報告する7。これも提案論文自身の報告である。
Training-Free GRPO(Tencent)は、強化学習が学んでいる「経験知」を重みでなくトークンの事前分布として蒸留し、重み更新なしで、強化学習で訓練した32Bモデル(ReTool・AFM)を上回る成績を報告する8。ただしこの逆転の大半はモデル規模差である。手法を当てていない素の DeepSeek-V3.1-Terminus + ReAct が既に AIME24 80.0 / AIME25 67.9 で ReTool(67.0 / 49.3)を上回っており、Training-Free GRPO 自身の寄与は +2.7 / +5.4ポイントにとどまる。原典の表には 32B の Qwen3-32B に手法を当てた行もあり、AIME24 33.5 / AIME25 25.4 と、32B の Qwen2.5-32B を強化学習で訓練した ReTool の半分前後である。勝った側が重みを凍結した(更新しない)671Bモデルである点も同じで、「訓練しない」ぶんのコストは大きなモデルを呼ぶ側へ移っている。これは ACE 側にも等しく当てはまる(どちらも DeepSeek-V3.1 系の671Bを凍結して使う)。
限界は、最適化に使ったデータの外で崩れる点にある
外側の最適化の見えにくい限界を、まず TextReg9が記述する。反復的なLLMベースのプロンプト最適化は「プロンプト分布過適合」を起こす。最適化を繰り返すとプロンプトは長くなりやすく、最適化に使ったサンプルに特化した細かいルールを積み重ね、訓練分布の外(OOD、out-of-distribution)では性能が崩れることが多い。評価ベンチマークに向けて磨くほど、そのベンチマークの外では逆効果になりうる、という報告だ(本会議の査読は経ていない)。測定は、易しい変種と GSM8K を訓練に使って Qwen2.5-7B でプロンプトを磨き(訓練サンプルは3件ずつ12反復の計36件)、残りのデータセット(難しい変種など)を別の4モデルで解かせる設定である。データとモデルの両方が、最適化のときと違う。
最適化に使ったデータの外では、磨くこと自体が裏目に出うる。原典自身も、比較に使ったプロンプト最適化手法は分布外の評価で、最適化前の Chain-of-Thought(CoT。段階を追って考えるよう指示するプロンプト)より精度を下げることが多いと書いている。その数字が載る表の第1行を見ると、プロンプト最適化を一切していない素のChain-of-Thoughtが、24セル中14セルで TextGrad を上回っている(同点3・下回り7)。差の大きさで見ると両向きに散らばり、平均の差は1ポイントに満たない。Llama 系の Tracking Shuffled では、逆に TextGrad が10〜18ポイント上回るセルもある。
同論文が提案する正則化を加えると、OOD評価で TextGrad 比・最大 +11.8ポイント、REVOLVE 比・最大 +16.5ポイント改善した。これは比較対象の違う、それぞれ単一の最良セルの値だ。最大の +11.8 が出たセルでも、そのうち 10.9 ポイントは「最適化しない」だけで得られる分だった。
ただし TextReg が主に測ったのは単発の推論プロンプト(Logical Deduction・Tracking Shuffled Objects・GSM8K 系の6データセット)である。2026年10月の改訂版は付録で知識問答(GPQA)と文生成(CommonGen)にも同じ手順を当て、文生成では TextGrad と REVOLVE が最適化前のプロンプトを下回ったという予備結果を足した。それでも同論文は結論節でエージェント指示と多ターンのプロンプトを明示的に射程外とし、future work へ送っている9。本稿の主題であるスキャフォールドまで一般化するのは、原典が自分で引いた線の外への外挿になる。
二つ目の限界は、最適化が受け取るフィードバックそのものの質だ。外側の最適化が効く根拠として引いた ACE 自身が、信頼できる実行フィードバックや正解ラベルが無い場面では、誤った信号が蓄積中のコンテキストに書き込まれ、性能が劣化しうると報告している4。AppWorld のように状態ベースのユニットテストで機械採点できる環境は、この手法にとって最良の条件だった、ということでもある。
三つ目は、自己改良ループそのものの飽和だ。こちらはスキャフォールドではなく重みを更新するタイプの自己進化を測った研究10だが、ベースモデルからは改善するものの、計算を使いすぎると頭打ちになり、実世界の推論ベンチでの利得は「modest(小幅)」だったと報告する。10回反復すれば10回分伸び続けるわけではない。
もっとも、頭打ちの高さのほうは固定ではない。その高さはモデル規模で割れる。同じ多ターンの critic-revision で比べると、Gemma 3 4B は 42.2% で、正解ラベルで選別する oracle の 46.6% に届かない。だが 12B では 52.8% で、oracle の 53.6% にほぼ並ぶ(そのぶん監督を作る計算コストは高い)。原典は、oracle との差が小さかったのはこの組だけだと書いている10。
同論文は分布の外への伸びも測っており、題名自体が『自己進化における一般化ギャップ』である。その序論は、閉ループの自己進化は安定した利得を出すが、分布の外(易しい問題から難しい問題へ)への一般化を改善する力は限られたままで、下流の推論ベンチでは「かえって劣化することもある」とまとめている10。ただし序論は同じ箇所の直前で、反復訓練とカリキュラム学習によって難しい問題も解けるようになると書いており、分布の外へまったく伸びないという意味ではない。手法の系統は違うが、分布の外での伸びが限られるという向きは、プロンプト最適化と重み更新の両側から出ている。
TextReg がデータとモデルの両方を変えて測ったときに、最適化前のプロンプトを下回るセルが出た。
出典10件
-
Kapoor ほか「Holistic Agent Leaderboard: The Missing Infrastructure for AI Agent Evaluation」ICLR, 2026. https://arxiv.org/abs/2510.11977 — 9モデル×9ベンチで2万1730ロールアウト。推論設定の対を持つ4モデルの36設定中21で精度は同点か低下。単発ラン中心。 ↩ ↩2 ↩3 ↩4
-
Khattab ほか「DSPy: Compiling Declarative Language Model Calls into Self-Improving Pipelines」ICLR, 2024. https://arxiv.org/abs/2310.03714 — LMパイプラインをコンパイルして指標へ最適化。初版の重点は示例で、制御フローの書き換えと重みの微調整も扱う。 ↩
-
Agrawal ほか「GEPA: Reflective Prompt Evolution Can Outperform Reinforcement Learning」ICLR, 2026. https://arxiv.org/abs/2507.19457 — Qwen3-8B で GRPO を平均約6・最大19ポイント上回り(AIME は下回る)、ロールアウトは最大35分の1。 ↩ ↩2
-
Zhang ほか「Agentic Context Engineering: Evolving Contexts for Self-Improving Language Models」ICLR, 2026. https://arxiv.org/abs/2510.04618 — AppWorld 平均59.4%で首位と並ぶ(2025-09時点・直接比較でないと注記)。信号が無いと劣化しうる。 ↩ ↩2 ↩3
-
Trivedi ほか「AppWorld: A Controllable World of Apps and People for Benchmarking Interactive Coding Agents」ACL, 2024. https://arxiv.org/abs/2407.18901 — 750タスクを状態ベースのテストで採点する。Test-C は未見アプリを要する分割。 ↩
-
Zhou ほか「Multi-Agent Design: Optimizing Agents with Better Prompts and Topologies」ICLR, 2026. https://arxiv.org/abs/2502.02533 — プロンプトとトポロジーを三段で最適化し、既存の代替を上回ると報告する。 ↩
-
Hu ほか「Automated Design of Agentic Systems」ICLR, 2025. https://arxiv.org/abs/2408.08435 — メタエージェントがエージェントをコードで設計し、見つけた設計は領域とモデルをまたいで移しても優位を保ったと報告する。 ↩
-
Cai ほか「Training-Free Group Relative Policy Optimization」arXiv, 2025. https://arxiv.org/abs/2510.08191 — 凍結した DeepSeek-V3.1-Terminus に経験知を注入し、AIME24 82.7%・AIME25 73.3%(素の ReAct は80.0%・67.9%)。 ↩
-
Fu ほか「TextReg: Mitigating Prompt Distributional Overfitting via Regularized Text-Space Optimization」arXiv, 2026. https://arxiv.org/abs/2605.21318v2 — 最適化したプロンプトは OOD で崩れうる。測ったのは主に単発の推論。採録はワークショップのみ。 ↩ ↩2
-
Qi ほか「On the Generalization Gap in Self-Evolving Language Model Reasoning」ICML, 2026. https://arxiv.org/abs/2606.01075 — 自己進化は過剰な計算で頭打ちになり、分布外への一般化の改善は限られる。12B は oracle にほぼ並ぶ。 ↩ ↩2 ↩3
この記事はAIを使用して執筆されました。内容には誤りが含まれる可能性があります。事実や数字の出典は脚注から確かめられます。