# Harness Engineering for Self-Improvement
[[Lilian Weng]] による 2026-07-04 の Lil'Log 記事。「再帰的自己改善(Recursive Self-Improvement, RSI)」を主題に据え、モデルの重みを直接書き換える経路ではなく、**ハーネス(harness)**——モデルを取り巻くデプロイシステム全体——の改善を通じた間接的な自己改善ループを、2026年半ば時点の研究群を横断して整理する。ハーネスエンジニアリングの学術的な体系化として、既存の [[OpenAI-Harness-Engineering]]・[[@2025__Anthropic Engineering Blog__Effective Harnesses for Long-Running Agents]]・[[@2026__Anthropic Engineering Blog__Harness Design for Long-Running Application Development]] という実務ブログ群を補完する。
## RSI の定義と近未来経路
[I. J. Good (1965)](https://philpapers.org/rec/GOOSCT) の「ウルトラ知能機械」、[Yudkowsky (2008)](https://www.lesswrong.com/posts/JBadX7rwdcRFzGuju/recursive-self-improvement) の「AI が自身の認知機構を改善するフィードバックループ」という定義を継承しつつ、Weng は現代 AI における RSI を次のように再定義する:
- モデルが自身の重みを直接書き換える経路
- モデルが**訓練パイプライン**と**デプロイシステム(ハーネス)**を改善し、それがより優れた後継モデルを生む間接的経路
Weng は「デプロイシステム」の重要性を強調する。ハーネスは、生のモデルと現実世界の文脈との間の層であり、事前学習直後の評価(evals)と同じくらい重要である、というのが本記事の中心的主張。
## ハーネス設計パターン(3 パターン)
初期エージェントフレームワーク(「agent = LLM + memory + tools + planning + action」、[Weng 2023](https://lilianweng.github.io/posts/2023-06-23-agent/))と比較し、ハーネスエンジニアリングは *workflow design(ループエンジニアリング)・evaluation・permission controls・persistent state management* を追加的に含む。もはやプロンプトテンプレートだけでなく、ランタイム・ソフトウェアシステム設計に近い。
### Pattern 1: Workflow Automation
plan → execute → observe/test → improve → execute again の目標指向ループ。[[Andrej Karpathy]] の autoresearch リポジトリ(`karpathy/autoresearch`)が明快な実例として挙げられる。
![[_attachments/harness-engineering-for-self-improvement/fig01-codex-agent-loop.png]]
(簡略化された Codex エージェントループ。エージェントがツールを呼び出し、ツール応答が次の生成に影響する。Source: OpenAI codex agent post 経由で本記事に引用)
### Pattern 2: File System as Persistent Memory
ハーネスはワークフロー全体・全ログをコンテキストに保持すべきでなく、恒久的な状態はファイルに保持すべきである。実験ログ・コード差分・論文要約・エラートレース・過去のロールアウト軌跡は、モデルの訓練済みコンテキスト窓よりずっと長くなりがち。`bash` 経由でファイルシステムを読み書き編集する能力は LLM の基礎技能であり、コアモデル能力の向上とともに自然に恩恵を受ける。
### Pattern 3: Sub-agent and Backend Jobs
ハーネスは複数のサブエージェントを並列実行し、バックエンドジョブを監視できる。設計上の要点は、並列性を**明示的かつ検査可能**にすること。サブエージェントの出力が一時的なチャットコンテキストにしか存在しないと、すぐに陳腐化・不可視化する。ファイル・ログ・状態記録として保存されていれば、モデルは中断から回復し、自身の実行履歴を推論に使える。
## ケーススタディ: コーディングエージェントハーネス
Claude Code・Codex・OpenCode・Cursor 系エージェントで安定してきたコアインターフェースをツール群として整理する。
![[_attachments/harness-engineering-for-self-improvement/fig02-coding-harness-loop.png]]
(コーディングハーネスのループ図。ファイルシステム・シェル実行・IO・外部コンテキスト・Web検索・成果物・バックエンドプロセス・エージェント委譲の各ツール群がループを構成する)
| ツール群 | 例 |
|---|---|
| ファイルシステム | `glob`/`grep`/`ls`/`read`/`write`/`edit`/`multi_edit`/`apply_patch` |
| シェル実行 | `bash`/`PowerShell` |
| IO | `lsp`、`git_status`/`git_diff`/`git_commit` |
| 外部コンテキスト | MCP tools、Skills |
| Web検索 | `web_search`/`web_fetch`、ブラウザツール |
| 成果物 | ドキュメント・画像の読み込み、HTML・画像の生成 |
| バックエンドプロセス | `CronCreate`/`CronDelete`/`CronList` |
| エージェント委譲 | `spawn_agent`/`resume_agent`/`wait_agent`/`list_agents`/`close_agent`/`interrupt_agent` |
## ハーネス層 vs コア知性
Weng の近未来予測:
1. ハーネスエンジニアリングは「メタ方法論」の方向に進化する(ヒューリスティックなルールを減らし、より一般的な機構を増やす)
2. 成熟したハーネスがモデル自己改善ループの auto-research を可能にし、賢いモデルがハーネスの過剰工学を防いで持続可能な系にする
やがて多くのハーネス改善は**コアモデルの振る舞いに内在化**される可能性があるが、外部コンテキストとツールとのインターフェース自体は残り続ける。プロンプトエンジニアリングで既に見られた現象(instruction tuning とモデル推論の向上で手作業のプロンプトの重要性が下がった)と同型のパターン。
## ハーネス最適化の進行段階
`instruction prompts → structured context → workflow → harness code → optimizer code` という順で最適化対象が進行し、モデルが強く賢くなるほど、より複雑で汎用的な対象へ移行する。
## コンテキストエンジニアリング: ACE と MCE
**Agentic Context Engineering(ACE)**([Zhang et al. 2025](https://arxiv.org/abs/2510.04618))はコンテキストを肥大化する一枚のプロンプトではなく、進化するプレイブックとして扱う。Generator(軌跡生成)・Reflector(成功/失敗からの知見蒸留)・Curator(構造化された増分エントリでの更新)の3役。カリキュレータはプロンプト全体を書き換えるのではなく、(identifier, description) 形式の構造化された箇条書きを決定論的ロジックでマージする——これによりコンテキスト崩壊とrewrite時の簡潔性バイアスを防ぐ。
![[_attachments/harness-engineering-for-self-improvement/fig03-ace-framework.png]]
(ACE のフレームワーク図。Generator/Reflector/Curator の3役が構造化されたプレイブックを更新する。Source: Zhang et al. 2025)
**Meta Context Engineering(MCE)**([Ye et al. 2026](https://arxiv.org/abs/2601.21557))は、ACE がまだ手作業のルールベースだった点をさらに一段深め、コンテキスト管理の機構(mechanism)とコンテキストの内容(artifact)を分離する。MCE skill $s$ はコンテキスト関数 $c_s=(\rho_s, F_s)$ を定義し、入力 $x$ をコンテキスト $c=F_s(x;\rho_s)$ に写像する($\rho_s$: 静的コンポーネント、$F_s$: 動的オペレータ)。
二層最適化: 内側ループが訓練データ上で最良のコンテキスト $c_s^*$ を探索し、外側ループが検証データ上で最良の skill $s^*$ を探索する。skill データベースが過去の skill・コンテキスト関数・評価指標の履歴を追跡し、メタレベルのエージェントが過去 skill の交叉(crossover)によって新 skill を生成する。
![[_attachments/harness-engineering-for-self-improvement/fig04-mce-framework.png]]
(MCE のフレームワーク図。メタレベルの skill 進化がコンテキスト管理機構を探索し、ベースレベルがタスクコンテキストを最適化する。Source: Ye et al. 2026)
## ハーネス自己進化: Meta-Harness / Self-Harness / AHE
**Meta-Harness**([Lee et al. 2026](https://arxiv.org/abs/2603.28052))はさらに一段深く、モデルに何の情報をどう保存・検索・提示するかを決定する**コード自体**を最適化対象とする。実行履歴全体がファイルシステム経由でアクセス可能で、コーディングエージェントは `grep`/`cat` で読む。TerminalBench-2 では Terminus-KIRA・Terminus-2 という強いハーネスから初期化しても改善を確認した。
![[_attachments/harness-engineering-for-self-improvement/fig05-meta-harness-outer-loop.png]]
(Meta-Harness の外側ループ最適化アルゴリズム。Source: Lee et al. 2026)
**Self-Harness**([Zhang et al. 2026](https://arxiv.org/abs/2606.09498))は weakness mining → harness proposal → proposal validation の3段階ループでハーネスを自己改善する。
![[_attachments/harness-engineering-for-self-improvement/fig06-self-harness-loop.png]]
(Self-Harness の弱点マイニング・境界付きハーネス提案・検証のループ。Source: Zhang et al. 2026)
**Agentic Harness Engineering(AHE)**([Lin et al. 2026](https://arxiv.org/abs/2604.25850))はコンポーネント・経験・意思決定の3つの observability pillar による閉ループを提案し、Terminal-Bench-2 で人手設計ハーネス(OpenCode・Terminus-2・Codex)を上回る成果を報告(Hard tier を除く)。
詳細は各手法・進化的探索手法(ADAS・AFlow・AlphaEvolve 等)を含め [[ハーネス自己進化]] と [[進化的探索によるエージェント設計]] に集約する。
## STOP: 早期の再帰的スキャフォールド改善
**Self-Taught Optimizer(STOP)**([Zelikman et al. 2023](https://arxiv.org/abs/2310.02304))は、初期の improver $I_0$ が解 $s$・効用関数 $u$・ブラックボックス LLM $M$ を受け取り、改善された解 $s'=I(u,s;M)$ を返す。目標は $s$ 自体の改善ではなく、**改善器 $I$ 自体を改善する**こと。再帰的に $I_t=I_{t-1}(\hat{u}, I_{t-1}; M)$ と更新される。
実験では、改善された improver が遺伝的アルゴリズム・分解と部分改善・マルチアームプロンプトバンディット・焼きなまし法・温度変化・ビーム/木探索などの戦略を発見した。ただし**注意すべき結果**として、STOP は GPT-4 では平均下流性能を改善したが、GPT-3.5 や Mixtral のような弱いモデルでは性能が劣化した——再帰構造だけでは不十分で、ベースモデルが機構自体を改善できるだけの能力を備えている必要がある。
## モデル能力とハーネス進化の分離
[Lin et al. (2026)](https://arxiv.org/abs/2605.30621) は harness-updating(有用なハーネス編集を生成する能力)と harness-benefit(更新されたハーネスを活用してタスクを解く能力)という2軸を分離した。Qwen3.5-9B から Claude Opus 4.6 まで幅広いモデルサイズで harness-updating 能力がほぼ横ばいだった一方、harness-benefit は中位モデルが最も恩恵を受ける非単調な傾向を示した。
## 未来の課題(7項目)
1. **弱く曖昧な評価器**: 研究の主張の多くには高速かつ精密な検証器がなく、研究の趣味・独自性・長期的な科学的価値は測定が困難。
2. **コンテキストとメモリのライフサイクル**: エージェントが自律化するほどメモリが増大する。コンテキストエンジニアリングはソフトウェアシステム層にとどまらず、知性の中核部分になるべきという類推。
3. **否定的結果の記録不足**: 研究者は成功結果を出版するインセンティブを持ち、文献は成功に偏る。失敗から学ぶことが探索空間を絞り込む最善の方法である。
4. **多様性崩壊**: 進化的・RL ループは既知の高報酬パターンを搾取しがちで、集団が同一解の亜種に収束するのを防ぐ機構が必要。
5. **報酬ハッキング**: 自己改善ループは与えられたシグナルを最適化するため、単体テスト・判定モデル・ベンチマークスコアいずれも搾取対象になりうる。評価器と権限制御はループの外側に置くべき。
6. **長期的な健全性**: コーディングエージェントは目先のタスクは完了できても、数百〜数千人のエンジニアが共同保守するリポジトリの長期的健全性(保守性・所有権境界・移行コスト・将来のデバッグ負荷)を保護する設計目標を欠く。
7. **人間の役割**: 人間はループから排除されるのではなく、スタックの上位に移動し、適切なタイミング・適切な抽象度で監督を提供すべき。
[Trehan & Chopra (2026)](https://arxiv.org/abs/2601.03315) の実験(最小限の足場でアイデアから論文までを試行)では6つの再発する失敗モードが観察された: 訓練データデフォルトへの偏り、実装の圧力下でのドリフト、メモリとコンテキストの劣化、過度な楽観主義(ノイズを成功と誤認する「numerical duct tape」)、ドメイン知性の不足、弱い科学的センス。
## 出典
- Weng, Lilian. "Harness Engineering for Self-Improvement." Lil'Log (Jul 2026). https://lilianweng.github.io/posts/2026-07-04-harness/
- 引用元一次論文は本文中に個別リンク済み(ACE: [Zhang et al. 2025](https://arxiv.org/abs/2510.04618)、MCE: [Ye et al. 2026](https://arxiv.org/abs/2601.21557)、Meta-Harness: [Lee et al. 2026](https://arxiv.org/abs/2603.28052)、Self-Harness: [Zhang et al. 2026](https://arxiv.org/abs/2606.09498)、AHE: [Lin et al. 2026](https://arxiv.org/abs/2604.25850)、STOP: [Zelikman et al. 2023](https://arxiv.org/abs/2310.02304) ほか)