Self-Harness:Agent の実行スキャフォールドを自己進化させ、モデル交換ゼロで 104% 向上

·Toolin 編集部

Shanghai AI Lab が提案した 3 段階の自己進化ループ。Agent がシステムプロンプトとツール編成を自ら反復改善することで、モデルを置き換えずに 33%–60% の性能向上を達成します。

Self-Harness:Agent の実行スキャフォールドを自己進化させ、モデル交換ゼロで 104% 向上

Claude Code、Cursor、あるいは自社開発の Agent をすでに使っているなら、同じジレンマに一度は遭遇したはずです。能力が頭打ちになったとき、反射的に「もっと大きいモデルに替えよう」と考えてしまう。しかしモデルの交換コストは指数関数的に増えていき、しかも原因はモデルそのものではなく——Agent の外側にある「実行スキャフォールド(Harness)」がまだ磨かれていないことだったりします。

上海人工知能研究所(Shanghai AI Lab)が 2026 年に発表した論文 Self-Harness: Harnesses That Improve Themselves(arXiv: 2606.09498)は、もう一つの道を示しました。モデルを替えず、パラメータを変えず、Agent 自身に Harness を反復改良させるのです。3 つの異なるファミリーのモデルで 33%–60% の相対性能向上を達成し、一部のシナリオではピークで 104% に達しています。

本記事では Self-Harness の 3 段階自己進化ループを分解し、そのまま適用できる再利用テンプレートを示します。

Harness とは何か、なぜモデルより重要なのか

簡潔に言えば、Harness とは LLM の外側に包む「プログラマブルなスキャフォールド」の層です。システムプロンプト、ツール編成、メモリ機構、検証ループ、エラー回復戦略。同じモデルでも、Harness を替えれば能力の差は大きく開きます。

ここ 1 年、業界の最適化の重心は静かに「モデル層」から「Harness 層」へ移りつつあります。理由はきわめて現実的です:

  • モデル層のイテレーションは期間もコストも大きい(プレトレーニング 1 回で数百万ドル規模)
  • Harness 層はプログラマブルで、組み合わせ可能で、回帰検証できる構造化コンポーネントであり、反復コストは数十〜数百ドルのオーダー
  • 現実のほとんどのシナリオでボトルネックはモデルの知性ではなく、モデルのポテンシャルを Harness が引き出せていないこと

Self-Harness の研究はこれを極限まで推し進めました。Agent 自身に、Harness の弱点を診断させ、改良させるのです。

3 段階の自己進化ループ

Self-Harness の核心は、モデル自身が駆動する反復ループで、3 つのフェーズを循環させます。

フェーズ 1:弱点の発掘(Weakness Mining)

タスク実行の過程で、現在の Harness の不足をモデル自身に分析させます。どのタスクが失敗したか? どのステップで失敗したか? ツール呼び出しのフォーマットが間違っていたのか、システムプロンプト内のロール定義が曖昧だったのか、それとも検証ループが受け止めきれなかったのか?

出力は構造化された「弱点リスト」です。曖昧な「パフォーマンスが悪い」ではなく、特定できて修正できる具体的な問題のリストです。

💡 ヒント:弱点発掘の鍵は、失敗ケースを構造化することです。各タスクの trace(ツール呼び出しシーケンス、モデル出力、最終結果)をすべて残し、分析の材料にすることをおすすめします。

フェーズ 2:改善提案(Harness Proposal)

弱点ごとに、モデルが具体的な「改善提案」を生成します。システムプロンプトのある記述の修正、ツールの追加、ツール呼び出し順序の調整、あるいは新しい検証ステップの追加などが考えられます。

提案は実行可能で、検証可能でなければなりません。つまり、次のフェーズで回帰テストを回せる必要があります。

フェーズ 3:回帰検証(Proposal Validation)

提案を Harness に取り込み、ベンチマークのタスクセット(benchmark / held-out tasks)をもう一度回します。合格率が下がらず、できれば向上した場合にのみ、その提案は正式にメインの Harness へ取り込まれます。そうでなければロールバックです。

💡 ヒント:回帰検証はループ全体の「安全ロック」です。このステップがないと、「自己進化」は容易に「やみくもな改変」へ退化します。必ず安定した held-out テストセットを用意してください。

ループが回り始めると、Harness はどんどん頑健になります。論文が示す実測データは説得力があります:

モデルheld-out pass rate
モデル A40.5% → 61.9%
モデル B23.8% → 38.1%

3 つの異なるファミリーのモデルすべてが 33%–60% の相対向上を達成し、一部のシナリオではピークで 104% に達しています。

なぜこの手法は ROI が高いのか

直感的な比較を 1 つ。より大きいモデルに替えるなら、月数千ドルのサブスクリプション、あるいはそれ以上の API コストがかかるかもしれません。一方、Self-Harness のループを 1 周回すコストは、論文によると $50–100 程度です。

得られる向上は同程度か、それ以上に及ぶことも多い。予算に敏感なチームにとって、こちらの方が割のよい最適化ルートです。

再利用テンプレート:自分の Agent で試す

以下は、Self-Harness の考え方を自社開発の Agent に落とし込むための最小スケルトンです(擬似コード。実際の実装は使用している Agent フレームワークに依存します):

# 1. 弱点の発掘
weaknesses = analyze_failures(task_traces, current_harness)
# 出力:[{issue: "...", location: "...", evidence: [...]}, ...]

# 2. 改善提案
proposals = []
for w in weaknesses:
    proposal = harness_llm.propose_fix(w, current_harness)
    proposals.append(proposal)
# 出力:[{change: "system prompt 内の X に関する記述を修正", patch: ...}, ...]

# 3. 回帰検証
for p in proposals:
    candidate = apply(current_harness, p)
    score = run_benchmark(candidate, held_out_tasks)
    if score >= baseline_score:
        current_harness = candidate
        baseline_score = score
    # そうでなければロールバックし、その提案をスキップ

実装時の重要ポイント:

  • ベンチマークセットを安定させる:明確な成功判定基準を持つ 30–100 個のタスクを held-out として選び、長期にわたって変更しない
  • 提案はアトミックに:1 つの提案で 1 箇所だけ変える。原因の帰属とロールバックがしやすくなります
  • trace を残す:タスク実行の全過程を追跡可能にする。これが弱点発掘の材料です

よくある質問

  • Self-Harness は AutoGPT のような「自己反復」と何が違うのか:AutoGPT 系のプロジェクトはタスク層で自己計画させます。Self-Harness は Harness 層(システムプロンプト、ツール編成、検証ループ)で反復します。前者が「何をするか」を変え、後者が「どうやるか」を変えるのです。
  • 公開コードリポジトリがない場合は:論文は現在 arXiv 形式で公開されており、コミュニティにはいくつかの再現実装があります。まずは上のテンプレートに沿って最小のループを自作し、3 段階ループを回せるようにすることを優先してください。

おわりに

Self-Harness が開発者に示す教訓はシンプルです。モデルをアップグレードする前に、まず自分の Agent 実行フレームワークを見直し、反復改良すること。システムプロンプト、ツール編成、検証ループ——こうしたプログラマブルな構造化コンポーネントこそ、いま最も ROI の高い最適ポイントであることが多いのです。

論文の本文(完全な実験とアブレーション分析を含む)は以下を参照:

正直な注記:Self-Harness は現在、学術論文として公開されています。本文中の性能数字(33%–60% の相対向上、ピーク 104%、$50–100 規模のコスト)はすべて arXiv 論文からの引用です。公開された公式コードリポジトリがない場合、いかなる「公式 repo」へのリンクも信用せず、arXiv 論文を正としてください。