JA EN
体系エージェント
·★ 会員·論文·16分で読めます

論文解説: AutoSaddler — エージェントの失敗ログから「壊れないハーネス」を自動で育てる

LLMエージェントの外側を固める「ハーネス」(プロンプト・ツール・ミドルウェア)を、失敗トレースの診断とパッチ生成の反復で自動最適化する枠組みAutoSaddlerを、前提知識ゼロから解説する。GAIA2/SWE-Bench Pro/Terminal-Bench 2.0で基準ハーネスをそれぞれ9.0/9.6/10.0ポイント上回った。

対象textタスクagents

AutoSaddler: Automatic Harness Optimization with Durable Updates from Agent Execution Traces

一次資料 — この記事の根拠

論文の発表 2026-08-24この解説の公開 2026-09-03同月

AutoSaddler: Automatic Harness Optimization with Durable Updates from Agent Execution TracesSungho Park, Wonjoong Kim, Rongyuan Tan ほか · 2026-08-24 · v1arXiv:2608.23041論文ページ·PDF
原文の要旨(Abstract)を読む

LLM agents remain unreliable on long-horizon tasks, where small local failures can compound over extended interactions and lead to overall task failure. Although external harnesses can substantially improve robustness, harness design remains a manual and expensive process that requires searching over a large space of prompts, tool configurations, and control logic. We propose AutoSaddler, an automatic harness optimization framework that formulates harness improvement as an offline learning problem and iteratively updates the harness using failure signals from mini-batches. AutoSaddler combines failure-trace diagnosis, structured patch generation that treats the harness as code, and validation-based update selection. Experiments on GAIA2, SWE-Bench Pro, and Terminal-Bench 2.0 show that AutoSaddler substantially improves agent performance over the corresponding base harnesses, achieving gains of 9.0, 9.6, and 10.0 percentage points, respectively. Ablation studies further suggest that effective harness optimization benefits from three ingredients: deep debugging rather than shallow reflection, targeted modifications rather than unconstrained editing, and generalization-aware selection rather than trajectory-specific repair. Together, these results suggest that automatic harness optimization is a promising path toward more performant and reliable agent systems.


同じモデルなのに成績が変わる

同じLLMを使っているのに、エージェントの成功率が10ポイント違う。差を生んでいるのはモデルではなくモデルの外側、つまりシステムプロンプト、ツールの実装、ツールの説明文、エージェントループの制御ロジック、フックの文面といった部品群です。この外側の総体を harness(ハーネス) と呼びます。

今回読むのは、そのハーネスを人手ではなく機械に育てさせる論文です。原題は "AutoSaddler: Automatic Harness Optimization with Durable Updates from Agent Execution Traces"(Sungho Park ほか、arXiv:2608.23041、2026年8月24日)。

論文の主張を要約するとこうなります。LLMエージェントは長期タスクで不安定であり、小さな局所的失敗が長い対話の中で積み重なって全体の失敗につながる。外部のハーネスは頑健性を大きく改善しうるが、その設計はプロンプト・ツール構成・制御ロジックという広大な空間を人手で探索する高価な作業である。そこで著者らは、ハーネス改善をオフライン学習問題として定式化し、ミニバッチから得た失敗シグナルでハーネスを反復更新する枠組み AutoSaddler を提案する。AutoSaddler は「失敗トレースの診断」「ハーネスをコードとして扱う構造化されたパッチ生成」「検証にもとづく更新の採否判定」を組み合わせる。GAIA2・SWE-Bench Pro・Terminal-Bench 2.0 の3ベンチマークで、対応する基準ハーネスをそれぞれ 9.0・9.6・10.0 ポイント上回った。

ハーネスとは何か

ハーネスは元々、馬具のことです。馬(LLM)そのものを鍛え直さなくても、鞍や手綱の付け方を変えるだけで乗り手の意図は正確に伝わるようになる。タイトルの Saddler は「馬具職人」で、その職人仕事を自動化する、という名前です。

具体的には次の3つが「馬具」で、論文は最適化空間をこの3種類に限定しています(§3)。プロンプト(システムプロンプトや指示文)、ツール(使える道具とその引数・戻り値・docstring)、ミドルウェア(フックやエージェントループなど実行時の制御ロジック)。メモリやスキルの管理は、扱うタスクが状態を持たない前提のため対象外だと明示されています。

問題は、この3層の組み合わせが巨大で、しかも候補を1つ評価するだけで高くつくことです。エージェントは成否が判明するまで何十手も動かねばならず、その長い軌跡を人間が読んで原因を特定する作業自体が重労働になります(§1)。

「ハーネスを学習する」という見立て

中心にある発想は、ハーネス改善を機械学習のミニバッチ訓練とみなすことです(§4、付録A)。タスク集合を訓練・開発(dev)・テストに分け、毎イテレーションで訓練セットから小さなミニバッチを取り、現在のハーネスを実行し、失敗から更新を作り、汎化するかを dev で確かめる。外側の骨格はニューラルネットの学習と同じです。

違うのは中身です。ハーネスのパラメータは数値ではなくテキストと実行可能コードなので微分できません。勾配が使えない以上、「どちらへどれだけ動かせばよいか」は誰も教えてくれない。ここが本論文のすべての設計の出発点です。

FIG 1通常の学習では勾配が「どちらへどれだけ動くか」を教えてくれる。歩幅を上げすぎれば谷を飛び越えて発散する。ハーネス最適化には、この勾配そのものが存在しない

目的関数を書き下す

タスク xx をタスク分布 T\mathcal{T} から取り、ハーネスのパラメータ θ\theta のもとでエージェントを走らせると、実行トレース τ\tau と最終出力 y^\hat{y} が確率的に得られます。最適化空間は次の3つ組です(§3)。

θ=(θprompt,θtool,θmiddleware)Θ\theta=(\theta_{\text{prompt}},\theta_{\text{tool}},\theta_{\text{middleware}})\in\Theta
(1)

いじってよいのは「指示文」「道具」「実行時の制御」の3つだけで、モデルの重みには一切触らない、という宣言です。最大化したいのはタスク分布全体での期待性能で、yy^{*} を正解、μ\mu を評価指標として、

J(θ)=E(x,y)TE(τ,y^)Pθ(x)[μ(y^,y)]J(\theta)=\mathbb{E}_{(x,y^{\ast})\sim\mathcal{T}}\,\mathbb{E}_{(\tau,\hat{y})\sim P_{\theta}(\cdot\mid x)}[\mu(\hat{y},y^{\ast})]
(2)

これは「いろいろなタスクを引いて、それぞれ何度も実行したときの平均点」です。期待値が二重なのは、タスクの引き方(外側)とエージェント実行のランダムさ(内側)の両方を平均するためです。J(θ)J(\theta) は直接観測できず1回の実行が予算を食うので、実際にはロールアウト予算 KK の中で探索した候補のうち dev スコアが最も高いものを返す手続きになります。テストセットはその最終評価にしか使いません。

4つのセッションが回る

1イテレーションの流れです(§4)。まず現在のハーネス HnH_n をミニバッチ BnB_n で走らせ、成功・失敗のトレースを集めます。次の診断・パッチセッションでは、失敗トレースとハーネスのソースコードの両方をエージェントに渡し、長大なトレースを段階的に掘り下げさせて根本原因を特定させ、対立仮説も検討させたうえでパッチ Δθn\Delta\theta_n を出させます。論文は診断とパッチ生成をあえて分離していません。診断中に集めた文脈をそのままパッチに活かすためです。

パッチは同じミニバッチで検証し、J^Bn(Hn)>J^Bn(Hn)\hat{J}_{B_n}(H'_n) > \hat{J}_{B_n}(H_n) のときだけ dev セットで追加評価します。続くリフレクションセッションはパッチ前後を比較し、結果を fixed / regressed / still-failing / still-passing の4つに分類して「なぜ効いたか」「なぜ退行したか」を言語化します。得た教訓は EvoDAG という有向非巡回グラフに蓄積され(ノードが探索済みハーネス、エッジが差分)、進化セッションが次の候補 Hn+1H_{n+1} を作ります。ここで HnH'_n の続きに限らず、過去の任意の系統から良い部分を混ぜて作れるのが特徴です。

付録Aは、この構成を通常の学習ループへ明示的に対応づけています。ロールアウトが順伝播、タスクの成否が損失、そして「診断 → 介入としてのパッチ → 同一バッチでの検証」の連鎖が逆伝播の代役にあたります。数値勾配は数学的に定まりますが、テキストの勾配は推測であり誤りうるので検証が要る、という論理です。EvoDAG は過去の情報を溜めて次の一歩を導くモメンタムの類推として、オプティマイザの内部状態に位置づけられます。標準的な訓練と順序を入れ替えて dev 検証を更新の前に置くのも、誤った教訓を EvoDAG に書き込むと以後の進化がすべて汚染されるからだと説明されています。

この先にあるもの

§

ここから先は会員限定です

解説記事371本・教科書26章・学生モード48単元・論文精読6本が、月額¥490ですべて読み放題になります。新しい解説は毎日3本ずつ増えます。いつでも解約でき、解約後も期間の終わりまで読めます。

会員の方はログインすると続きが表示されます

参考文献

  1. Sungho Park, Wonjoong Kim, Rongyuan Tan, Jue Zhang et al.. (2026-08-24) AutoSaddler: Automatic Harness Optimization with Durable Updates from Agent Execution Traces. arXiv:2608.23041論文ページ·PDF

本記事は上記論文の本文にもとづいて執筆しています。数値・主張は原典を優先してください。

コメント

コメントにはログインが必要です