Retrospective Harness Optimization: ラベル不要のエージェント自己進化手法

AIエージェントが複雑なタスクを解決する際、ツールやプロンプト、スキル、ワークフローの集合体である「ハーネス(Harness)」の継続的な改善が欠かせません。しかし、既存の最適化手法には大きな課題があります。それは、最適化の指針として正解ラベル付きの検証データセットを反復的に必要とする点です。実際の運用環境において、将来のタスク分布を正確に反映した正解データを収集することは非常に困難です。
本来、ハーネス最適化の真の目的関数は以下のように定義されます。
$$h^\star = \arg\max_{h’} \mathbb{E}_{t, \tau \sim \text{solve}(h’, t)} [U(t, \tau)]$$
ここで、\(t\)はタスク、\(\tau\)は実行履歴(トラジェクトリ)を指しますが、将来のタスクに対する真の効用(Utility)\(U\)は実運用上観測できません。
この課題を解決するのが、今回紹介する『Retrospective Harness Optimization (RHO)』です。RHOは、観測できない真の効用の代わりに、エージェント自身の「過去のトラジェクトリに対する自己評価(Self-preference estimator)」を利用します。これにより、正解ラベルを一切使わずに、過去の経験のみから自律的にハーネスを最適化し、将来のパフォーマンスを向上させる新しいアプローチを提示しています。
1. RHOの全体アーキテクチャ
RHOの最適化プロセスは、エージェント自身の過去の実行履歴を振り返り、そこから自己改善のヒントを見つけ出す一連のパイプラインとして設計されています。このアーキテクチャは、主に以下の3つのステージで構成されています。
- Coreset Selection(抽出)
膨大な過去のトラジェクトリ(実行履歴)の中から、最適化に最も役立つ、難易度が高くかつ様々な失敗パターンを含む少数のタスクの集合(Coreset)を選び出します。 - Group Rollout(再実行と診断)
抽出した各タスクに対して、エージェントが並列で複数回の再実行(Rollout)を試みます。その結果をエージェント自身が自己検証(Self-validation)および自己整合性(Self-consistency)の観点から診断し、ハーネスを改善するための具体的な指示を生成します。 - Best-of-N Harness Proposal(提案と選択)
得られた改善指示に基づき、N個の新しいハーネスの候補を並列で生成(Proposal)します。その後、過去のハーネスと新しい候補による実行結果を比較し、エージェント自身の自己評価(Self-preference)によって最も優れた候補を選択し、採用します。
このアーキテクチャには、実運用を見据えた上で非常に強力となる、2つの設計上の特徴があります。
1つ目は、グラウンドトゥルース(正解ラベル)が一切不要である点です。一連のパイプラインにおいて、外部から与えられた正解データや評価指標を参照するステップは存在しません。これにより、正解データの収集が難しい本番環境であっても、エージェントは自律的に進化を続けることができます。
2つ目は、単一のモデルですべてのプロセスを完結させている点です。パイプライン内に登場する「タスクの解決(solve)」「難易度の判定(judge)」「診断(diagnose)」「最適化(optimize)」「評価・ランク付け(rank)」といった各オペレーターは、評価の基準がブレるのを防ぐために、すべて同一のLLMバックボーンを使用しています。実際の本論文の実験においても、この一連のプロセスにはすべて「Codex (GPT-5.5)」が採用されています。

2. ステップ1: Coreset Selection (コアセットの抽出)
RHOの最初のステップは、過去の実行履歴から最適化に最も役立つタスクの集合(Coreset、コアセット)を選び出すことです。すべてのタスクで最適化を実施すると計算コストが膨大になるだけでなく、些末なタスクが混ざることで重要な改善のヒント(シグナル)が薄れてしまいます。そのため、難易度が高く、かつ様々な失敗パターンを含む少数のタスク群に焦点を絞って抽出を進めます。
タスクの抽出には、DPP(Determinantal Point Process、行列式点過程)という手法を用いて、タスクの「難易度」と「多様性(Coverage)」のバランスを取ります。具体的には、以下の数式で表されるカーネル行列 \(K\) を計算します。
$$K = \text{diag}(\tilde{r})S \text{diag}(\tilde{r}), \hspace{5mm} \tilde{r_i} = \left(\max(r_i, \epsilon) / \max_{j} \max(r_j, \epsilon) \right)^{\alpha}, \hspace{5mm} \alpha = \theta / (2(1 – \theta))$$
ここで、\(\tilde{r}\) はタスクの難易度スコアを正規化したもの、\(S\) はタスク間の類似度を示す行列です。抽出の際、パラメータ \(\theta\) (論文中の実験では0.7)を調整することで、難易度と多様性のトレードオフを制御します。\(\theta\) を\(1\)に近づけると難易度が重視され、\(0\)に近づけると多様性が重視されます。
タスク間の類似度 \(S\) を正確に測るため、RHOは「抽象的フィンガープリント(Abstract fingerprint)」という概念を導入しています。これは、特定の変数名やファイルパスといったコードベース固有の語彙を排除し、問題の構造的な特徴のみを抽出した記述です。表面的なコードの違いに惑わされず、本質的なタスクの性質を比較できるようにする工夫です。
この抽出基準の重要性は、切り分け実験(Ablation study)の結果からも明らかになっています。抽出基準を「難易度のみ」または「多様性のみ」のどちらか一方に極端に偏らせてタスクを抽出した場合、最適化に必要なシグナルが偏ってしまいます。その結果、最適化後の最終スコアは、タスクを完全にランダムに抽出した場合よりも低くなることが確認されました。つまり、難易度と多様性の両方を適切に組み合わせることこそが、効果的な自己進化の鍵となります。

3. ステップ2: Group Rollout と診断
コアセットとして抽出された各タスクに対し、RHOは次に「並列再実行(Group Rollout)」と「自己診断(Diagnosis)」を実施します。
通常、1回の実行結果だけを見て「何が悪かったのか」を詳細に分析するのは、AIエージェントにとっても容易ではありません。そこでRHOでは、抽出されたタスクのそれぞれに対して、\(G\)回(論文の実験では3回)の並列ロールアウト(再実行)を試みます。複数の実行履歴(トラジェクトリ)を並べて比較することで、単一の履歴からは見えにくい「相対的な比較シグナル」を獲得する狙いがあります。
得られた複数のトラジェクトリに対して、エージェントは以下の2つの観点から自己診断を進めます。
- Self-validation(自己検証): 1つ1つのトラジェクトリを独立して評価します。エージェント自身がタスクの要件と環境からの観測結果を照らし合わせ、ツールの誤用、誤った前提による進行、あるいは時期尚早な終了といった失敗パターンを特定します。
- Self-consistency(自己一貫性): 複数のトラジェクトリ間で、エージェントの行動や判断に一貫性があるか(ブレがないか)を比較します。一般的に、自己一貫性の低さは不確実性の高さを示しています。そのため、計画の方向性やツールの使用順序、最終的な回答に矛盾が生じていないかを特定し、より一貫した行動を取るための改善点を導き出します。
これら2つの診断から得られたシグナルを組み合わせることで、ハーネスを改善するための具体的な指示(Instruction)が生成されます。
この2つのシグナルの重要性は、論文内の切り分け実験(Ablation study)でも裏付けられています。Self-validationとSelf-consistencyのどちらか一方でも欠落させると、最適化されたエージェントの最終的なパフォーマンスは明確に低下することが確認されました。つまり、これら2つのシグナルは相互補完的な関係にあり、両方を揃えることこそが自律的かつ確実な進化には不可欠だと言えます。
| Variant | SWE Pro | TB 2 | GAIA-2 |
|---|---|---|---|
| Full diagnosis | 0.78 | 0.76 | 0.37 |
| – self-consistency | 0.56 | 0.75 | 0.27 |
| – self-validation | 0.70 | 0.73 | 0.30 |
| Raw trajectory | 0.60 | 0.75 | 0.29 |
4. ステップ3: Best-of-N Harness Proposal
前のステップで得られた改善指示をもとにハーネスを更新しますが、LLMベースのエージェントにおける最適化は本質的に確率的なプロセスです。つまり、入力されたシグナルがどれほど正確であっても、1回の試行で生成されたハーネスが必ずしも性能向上をもたらすとは限りません。
そこでRHOでは、同時に \(N\) 個の新しいハーネス候補を並列で生成(Proposal)し、それらを比較検証するアプローチを採用しています。
各候補の評価には、以下の数式で表される「相対的優位性スコア(\(S_j\))」を用います。
$$S_j = \frac{1}{|D_{\text{core}}|} \sum_{t \in D_{\text{core}}} \text{rank}(t, \tau_t^{(j)}, \tau_t^{(0)})$$
ここで重要なのは、比較の基準となる \(\tau_t^{(0)}\) が「最適化前の元のハーネスで生成された軌跡(トラジェクトリ)」であるという点です。新しい候補による実行結果 \(\tau_t^{(j)}\) と元の結果を比較し、エージェント自身の自己評価(Self-preference)によって、各候補の相対的な優位性をスコア化します。
このスコアリングには、システムを安全に運用するための重要なルールが組み込まれています。
- 更新の棄却: 全候補のスコア \(S_j\) が\(0\)以下、つまり「元のハーネスと比べて改善が見られない(優位性なし)」と判定された場合、システムは更新自体を破棄し、元のハーネスをそのまま維持します。
この仕組みは、実運用において極めて高いリスク回避効果をもたらします。論文中の検証によると、エージェントの自己評価によって選ばれた候補が、将来の未知のタスクに対して常に最高スコアを出すとは限らないことが分かっています。しかし、元のハーネスと厳密に比較することで、「明らかな性能劣化(Severe regression)をもたらす最悪の候補」を本番環境にデプロイしてしまうリスクは確実に回避できます。
このように、RHOは単に自律的な進化を目指すだけでなく、本番環境での安全性を担保しながら着実にパフォーマンスを引き上げる設計となっています。
| Dataset | Mean | Chosen | Std | Lowest |
|---|---|---|---|---|
| SWE-Bench Pro | 0.79 | 0.78 | 0.06 | 0.73 |
| Terminal-Bench 2 | 0.74 | 0.76 | 0.03 | 0.71 |
| GAIA-2 | 0.34 | 0.37 | 0.03 | 0.32 |
5. 実験設定とベースライン比較結果
RHOの実力を検証するため、論文では特性が大きく異なる3つのベンチマーク環境で評価を実施しています。
- SWE-Bench Pro: 複数のファイルをまたいでリポジトリレベルの推論が求められる、長期間のソフトウェア開発タスク。
- Terminal-Bench 2: 実行可能なコマンドライン操作を伴う技術的なタスク。
- GAIA-2: 動的で非同期なナレッジワーク環境。
これらの様々なドメインにおいて、RHOは既存のベースライン手法と比較してどのような優位性を示したのでしょうか。2つの観点から結果を見ていきます。
フィードバックフリー手法との比較
まず、RHOと同じく正解ラベル(Validation feedback)を必要としない既存手法(Dynamic Cheatsheetなど)との比較を実施しました。
その結果、既存手法による性能向上は限定的だったのに対し、RHOはすべてのベンチマークで一貫して高い改善幅を記録しました。特に SWE-Bench Pro においては、最適化前のモデル(パスレート59%)から、外部の評価データを使わずにパスレート78%へと大幅な向上を達成しています。
この圧倒的な差は、最適化の対象範囲から生まれています。既存の手法がエージェントの「記憶(Memory)」やテキストベースの「プロンプト」を更新するにとどまるのに対し、RHOは実行可能な「ツール(Tools)」や「スキル(Skills)」を含めたハーネス全体を柔軟に設計し直すことができるため、より実質的な性能向上につながったと考えられます。
Validation-Feedback手法との比較
次に、最適化の指針として正解ラベルを利用する強力な既存手法 Meta-Harness との比較結果を見てみましょう。
ここでは条件を公平にするため、エージェントを呼び出す計算予算(コスト)を1ラウンド分に揃えて比較しています。
| 手法 | 正解ラベルの利用 | パスレート (SWE-Bench Pro) |
|---|---|---|
| RHO | なし | 0.78 |
| Meta-Harness (1ラウンド) | あり | 0.62 |
表が示す通り、同じ計算コストをかけた場合、RHOは正解ラベルを一切参照していないにもかかわらず、正解ラベルを利用するMeta-Harnessのパスレート(0.62)を大きく上回るスコア(0.78)を達成しました。この結果は、RHOが本番環境など正解データの収集が難しい状況において、いかに効率的かつ実用的な自己進化アプローチであるかを強く裏付けています。
6. エージェントの行動変化と自律的進化
RHOによる最適化を経て、エージェントの行動はどのように変化したのでしょうか。ここでは、具体的に生成されたハーネスの内容と、そこから生じたアクションの変化について見ていきます。
生成されたハーネスの具体例
RHOの強力な点は、テキストベースの一般的な指示(Instructions)を更新するだけでなく、実際に実行可能なツール(Tools)やスキル(Skills)をエージェント自らが開発し、追加する点にあります。
たとえば、ソフトウェア開発タスクのSWE-Bench Proにおいて、最適化後のエージェントは過去の失敗から学び、以下のようなスクリプトを自律的に生成・追加しました。
- 非標準パスの探索スクリプト: デフォルトの場所にはないGo言語のツールチェーンを発見するためのツール。
- キャッシュ削除スクリプト: パッチを適用する際に妨げとなる、Pythonのキャッシュディレクトリなどを綺麗に削除するためのツール。
こうしたツールは、過去の実行履歴で繰り返し発生していた「環境に依存する失敗パターン」を特定し、それを未然に防ぐために作られたものです。

行動推移とアクション割合(Action mix)の変化
新しく獲得したツールやスキルは、エージェントの行動パターン自体を大きく変化させました。
特筆すべきは、パフォーマンスの大幅な向上が、主に「ロングホライズンのタスク(解決までに多くの手数を必要とする複雑なタスク)」における成功率のアップに起因していることです。
実際のデータとして、SWE-Bench Proにおけるアクションの割合(Action mix)の変化を見ると、最適化後のエージェントはコードを編集する前に「Verify(検証)」アクションを実行する割合を大幅に増やしています(最適化前と比較して+61%)。つまり、ただ闇雲にコードを書き換えるのではなく、「自ら検証ツールを使って確認しながら慎重に作業を進める」という振る舞いを獲得したのです。
このように、RHOは単に正解を教え込む手法ではありません。エージェント自身が過去の経験から「自分に足りないツール」を作り出し、「より確実な作業手順」へと自律的に進化していくプロセスを実現していると言えます。

7. 実装上の特性と限界
ここまで、RHOがいかにして自律的に進化していくか、その強力な仕組みと具体的な成果を見てきました。しかしながら、この手法を実際に開発現場へ組み込むにあたっては、把握しておくべき実装上の特徴と、いくつかのアプローチの限界があります。
本論文から読み取れる主なポイントは、以下の2点です。
- ファイルシステムとしてのハーネス(Harness)
一般的なLLMエージェントにおいて、ツールやスキルは単なるテキストとして「システムプロンプト」に埋め込まれることが少なくありません。しかしRHOの実装では、ハーネスはエージェントの作業環境内に「ファイルシステムのディレクトリ(ワークスペース)」として直接マウントされます。このディレクトリの中には、テキスト形式の指示書(Instructions)やスキル(Skills)に加えて、実行可能なスクリプトファイル(Tools)など様々なファイルが混在しています。エージェントは通常のファイル操作と同じように、これらを自由に読み書きし、必要に応じて直接実行しながらタスクを進めます。この柔軟なファイルベースの構造が、ツールそのものを自ら開発・改修するような高度な進化を可能にしています。 - 適用環境の限界
もう一つ重要な点として、RHOの仕組みがどのような環境にでも適用できるわけではないという制約があります。RHOの最適化プロセスの要は、過去のタスクを並列で複数回再実行する「Group Rollout(再試行)」です。このプロセスは、環境がクリーンな状態にリセットでき、ペナルティなしで何度も試行錯誤できることを前提としています。そのため、失敗が許されない「One-shot(一発勝負)のタスク」や、一度実行すると元の状態に戻せない「不可逆的な変化を伴う環境(例えば、実際のユーザーへのメール送信や、本番データベースの直接更新など)」には適用しづらいという制限を抱えています。
つまり、RHOを安全かつ効果的に運用するためには、サンドボックスのように自由に再試行できる環境でエージェントを自己進化させ、そこで洗練されたハーネスだけを本番環境へデプロイする、といったシステム設計が求められます。
おわりに
この記事では、AIエージェントの自律的な進化を促す手法『Retrospective Harness Optimization (RHO)』について解説しました。
RHOの最大の魅力は、収集が困難な正解ラベル付きのデータに依存せず、本番環境で蓄積される過去の実行履歴のみを用いて、自己教師ありでハーネスを最適化できるという実用性の高さにあります。DPP(行列式点過程)を用いた効率的なタスク選択と、自己検証・自己一貫性の2つの軸による診断を組み合わせることで、単なるプロンプトの改善にとどまらず、タスクに特化した独自のツールセットを自ら構築するような自律的進化を実現しています。
複雑化するタスクに適応するため継続的な学習が求められるこれからのLLMエージェントシステムにおいて、RHOは日々の運用データの蓄積とともに自律的な性能向上サイクルを回すための、極めて有望なアーキテクチャと言えます。
More Information
- arXiv:2606.05922, Wenbo Pan et al., 「Retrospective Harness Optimization: Improving LLM Agents via Self-Preference over Trajectory Rollouts」, https://arxiv.org/abs/2606.05922