AIの自己進化は、まずモデルの外側の殻から変わる——Lilian Wengが語るharnessエンジニアリング
- 元OpenAI安全システム責任者のLilian Wengが「harnessエンジニアリング」という概念を提唱。モデルを包み込み、ツール呼び出し・コンテキスト管理・メモリ・評価を担うこの運用システム層こそ、AIの再帰的自己改善(RSI)への道筋を左右する、見落とされがちな鍵だと説く。
- harnessの中で最適化される対象を、一本の階段として整理した:プロンプト、構造化コンテキスト、ワークフロー、harnessコード自体、そして最適化器のコード。上に行くほど、探索可能な設計空間は広がる。
- 記事はACE、MCE、Meta-Harness、STOP、Self-Harness、AlphaEvolve、DGMなど、2023年から2026年にかけての20以上の研究を整理し、AIがすでに自分自身の「外殻」に改修を加え、テストを走らせ、より強い版を残せることを示している。
- 実測データは自己進化が確かに効くことを示す:DGMはコーディングagentのSWE-bench Verifiedのスコアを20%から50%へと進化させた。ただしSTOPの実験は、この仕組みが土台となるモデルが十分強いときにしか機能せず、弱いモデルではむしろ劣化することも示している。
- 記事の最後では、この路線が現在ぶつかっている7つのボトルネック——評価基準の弱さ・曖昧さ、報酬ハッキング、多様性の崩壊など——を挙げ、人間は循環の外に追い出されるのではなく、重要な節目に留まって監督すべきだと強調する。
なぜモデルの外側にあるものが急に重要になったのか
OpenAI元安全システム責任者のLilian Wengが、個人ブログLil'Logで長文を発表し、「harnessエンジニアリング」というテーマを提唱、AIの再帰的自己改善(RSI)の研究方向と体系的に結びつけた。
彼女の核心的主張はシンプルだ——モデルと現実世界の間に立つシステムは、モデルそのものの生の知能と同じくらい重要である。人はモデルがどれほど賢いかにばかり注目しがちだが、その外側を包み、すべてを調整するその殻の重要性を、私たちはしばしば過小評価している。
なぜ読む価値があるか:RSIという発想は、1965年にI.J. Goodが提唱した「超知能機械」(自分より賢い機械を作れる機械)まで遡ることができ、2008年にYudkowskyがこれに「再帰的自己改善」という名を与えた。現代版は、モデルが自分の重みを直接書き換える形もあれば、モデルが訓練パイプラインやデプロイシステムを改善していく、より間接的だが現実味のある形もある。Wengは、AnthropicとOpenAIの両社が、フロンティア研究所の研究スピードが明らかに加速していることを観測していると指摘する。
Wengの見立てはこうだ——直近のRSIは、いきなりモデルが自分の重みを直接書き換える形にはなりにくい。むしろ最初は「デプロイシステム」の層に現れ、そのデプロイシステムの中で最も重要な部品がharness、つまりClaude CodeやCodexといった成功しているコーディングagent製品を支えるあのシステムだ。この記事が焦点を当てるのは、harnessエンジニアリングをめぐる研究、そしてそれがどのように自己改善へと一歩ずつつながっていくかである。
Harnessとは一体何なのか
harnessとは、基盤モデルを包む一式のシステムであり、実行プロセス全体をオーケストレーションする。モデルがどう考え計画するか、どうツールを呼んで行動するか、コンテキストをどう認識・管理するか、成果物をどこに保存するか、そして結果が正しいかをどう検証するかを取り仕切る。
初期のagent論では、「agent = モデル + メモリ + ツール + 計画 + 行動」という定式が使われていた。harnessエンジニアリングはさらにその上に、ワークフロー設計(例えばそのループをどう設計するか)、評価、権限制御、永続的な状態管理といった層を重ねる。これはすでにランタイムやソフトウェアシステムの設計にかなり近く、モデルがどう観察し、どう行動し、どう記憶し、どう自己点検し、どう改善していくかという全体を語るものになっている。
harnessとモデルの関係は、OSとCPUの関係によく似ている。モデルは生の計算力を提供するCPUで、harnessはその周りで走るOS、スケジューリング・権限管理・ファイル保存といった「地味な仕事」を担う。OSと同じく、優れたharnessは複雑なロジックを内部に隠し、外向きのインターフェースはシンプルに保つ。Wengは、業界の発展とともに、設定やツールインターフェースといったプロトコルも次第に標準化へ向かうだろうとも述べている。
モデルに自分で計画・記憶させ、分身して働かせる
Wengはまず、具体的で実行可能な3つのharness設計パターンを示す。これらが答えるのは同じ問いだ——長時間自律的に働けるシステムには、根本的にどんなピースが必要か。
パターン1:モデルに「反復できるワークフロー」を与える
鍵となるのは、モデルが「手を動かし、テストし、また直す」を繰り返せる流れをまず区切っておくことだ。よく使われるのは目標志向のループ:まず計画し、次に実行し、結果を観察・テストし、そして改善し、また実行する——これを一巡また一巡と、目標を達成するまで繰り返す。過程でモデルは主体的にユーザーに聞き返し、タスクを明確化することもできる。Karpathyのautoresearchリポジトリは、このワークフローの分かりやすい好例だ。このループが特に強調しているのは、モデルが自分の実行した軌跡や失敗事例を分析し、それをもとに反復すべきだという点であり、固定的なプロンプトのテンプレートに固執すべきではないということだ。
パターン2:ファイルシステムをモデルの長期記憶にする
長時間働くagentでは、実験ログ、コードのdiff、論文の要約、エラー記録、過去の実行軌跡が、モデルが訓練時に見たコンテキストウィンドウよりもすぐに長くなってしまう。だからharnessは、プロセス全体とすべてのログを無理やりコンテキストに詰め込むのではなく、こうした永続的な状態をファイルに書き出し、必要なときに読み戻すべきだ。ファイルの読み書き・編集(一般にbashコマンドに頼る)はもともとAIモデルの基本スキルであり、ファイルというもっとも素朴な形で長期記憶を管理する方法は、モデル自体の能力向上とともに自然に良くなっていく。
パターン3:サブagentを並行させて働かせ、それでいて統制する
1つのharnessは複数のサブagentを派生させて並行実行させ、そのバックグラウンドタスクを見張ることができる。主agentが複数の仮説を同時に試したい、実験を並行して走らせたい、あるいは独立したサブタスクを切り出して主線のコンテキストを汚したくない、というときにこれが役立つ。このとき主agentには小型のプロセスマネージャーが必要になる——タスクを起動し、ログを確認し、失敗した実行をキャンセルし、結果を主線に統合できるものだ。
ここで最も重要な設計は、並行作業を検証可能・痕跡可能にすることだ。サブagentの成果が揮発性の会話コンテキストにしか存在しないなら、それらはすぐに古くなり、埋もれてしまう。ファイル、ログ、状態記録として保存して初めて、モデルは中断後に復帰でき、自分の実行履歴を振り返って整理できるようになる。
この3つを組み合わせると、現在主流のコーディングagentの姿になる。Wengが指摘するのは、Claude Code、Codex、OpenCode、Cursorといった製品のコアインターフェースがすでに収束しつつあり、いずれも類似した一連のツールで動いているということだ:
| ツールグループ | 代表的なツールと、それぞれの役割 |
|---|---|
| ファイルシステム | ファイル検索 glob grep ls;ファイル読取 read;ファイル変更 write(新規ファイル全体を書く)、edit(文字列の精密置換)、multi_edit、apply_patch(構造化パッチの適用) |
| Shell実行 | コマンド実行:bash、PowerShell |
| IOとgit | lsp、およびgit_status、git_diff、git_commitなどのgitツール |
| 外部コンテキスト | MCPツール、Skills(スキル) |
| ウェブ検索 | web_search、web_fetch、ブラウザツール |
| 成果物生成 | ドキュメントや画像の読み取り、HTML・画像の生成 |
| バックグラウンドプロセス | 例:CronCreate、CronDelete、CronList |
| サブagentディスパッチ | 例:spawn_agent、resume_agent、wait_agent、list_agents、close_agent、interrupt_agent |
改変される対象はずっと格上げされ続けている:プロンプト改変から直接のコード改変へ
これが全文の中核をなす流れだ。harnessシステムの中で「最適化の対象」となるものは、一本の階段を上り続けている——プロンプト、構造化コンテキスト、ワークフロー、harnessコード、そして最適化器のコード。モデルが強くなるほど、それが扱える最適化の対象はより複雑に、より汎用的になっていく。
(層名にカーソルを合わせると、その層が何を改変するか見られます)
階段の最下層は手書きプロンプトで、変えるのは文言だけだ。上に行くほど、変えるものはプログラムやシステムそのものに近づいていく。最上層に至っては、最適化されるのは「最適化を担当するそのコード」自体になる。ここまで登れるのは、コードが汎用言語だからだ——harnessは本質的に一段のコードであり、プロンプト、ツール呼び出し、サブagent、制御フロー、記憶、ワークフローロジックを一つに束ねている。AIがこの実行agentのコードを最適化できるようになれば、それが触れられる設計空間は手書きプロンプトよりはるかに大きくなる。
以下、三段階に進む3つの事例で、この階段を掘り下げよう。
ACE:コンテキストを差し替え式のノートとして扱う
すべてのツール応答とモデル生成をそのままコンテキストに積み上げていくと、タスクが長くなるにつれ収拾がつかなくなる。Agentic Context Engineering(ACE)は発想を変える——コンテキストを、書き足すたびに長くなる一本の文章としてではなく、項目が絶えず追加されていく差し替え式ノートとして維持するのだ。ノートの各項目には番号と一文の説明が付く。これは3つの役割が協働することで成り立つ:
タスクの軌跡を生成→ Reflector
成功・失敗から経験を抽出→ Curator
項目に整理してノートに追加
ACEのカギとなる設計は、Curatorがプロンプト全体を書き直すのではなく、「番号+説明」の項目群を生成し、確定的なロジックで構造化ノートに統合し、定期的に精錬・重複除去を行う点にある。こうすることで、繰り返し書き直すことで「直すほどに細部が失われていく」という古くからの弊害——コンテキストの崩壊と過度な簡略化——を避けられる。
MCE:「ノートの管理方法」そのものも最適化する
ACEは実行軌跡から経験を学べるようになったが、その更新ルールと一連の流れは依然として人間が手で書いたものだ。Meta Context Engineering(MCE)はさらに一歩進み、「メカニズム」と「内容」を切り分ける——一方の層は具体的なコンテキストに何を入れるかを管理し(内層)、もう一方の層は「どんな方法でコンテキストを管理するか」を管理する(外層)。
具体的には、内層はあるタスクの具体的なコンテキストを最適化する戦略を与えられ、外層は過去の戦略と評価成績を記録したスキルライブラリの中で、交叉(crossover)の手法によって新しい戦略を進化させる。ACEと異なり、MCEはコンテキストがどんな形であるべきかを強制せず、自由形式の「スキル」を使ってあるタスクにとって最も重要な知識を保存し、スキルとそれに対応するコンテキストを一緒に進化させる。実装形態としては、専用ディレクトリ下の一群のファイル——静的なskill.mdもあれば、動的なコンテキストやデータファイルもある——になる。
Meta-Harness:コーディングagentを使って直接harnessを作る
Meta-Harnessはさらにもう一段深い——最適化される対象は、「どんな情報を保存し、取得し、モデルに提示すべきか」を決めるそのコード自体になる。名前の「Meta-」とは、これがharnessを最適化するためのharnessだという意味だ。
新しいharnessを提案する提案者自体が、一つのコーディングagentであり、最終的に出力するのはパレートフロンティア複数の指標を同時に最良にできないとき(例えば正確さも速さも両方欲しいとき)、「他のどの案もあらゆる指標で同時に上回れない」一群を選び出すこと。単一の最適解を無理に選ぶのではない。上に位置するharness候補群だ。いくつかの細部が興味深い——実行履歴全体はファイルシステムに置かれ、コーディングagentはgrep、catでそれを読む。すべてを一つのプロンプトに詰め込むのではない。提案された各harnessは、ファイルシステム上の一つの辞書で、自身のソースコード、スコア、実行軌跡、状態更新を保持する。このループは新しいharnessを繰り返し生み出し、基準に達したものだけが残される。
この三段階を通じてWengが言いたいことははっきりしている——harnessの設計が実行可能な探索空間になった瞬間、十分に強いコーディングagentは、人間のエンジニアが使うのと同じその設計空間を採掘できるようになる。
詳細を見る:ワークフロー自体も探索問題として扱う
階段の中の「ワークフロー」という層も、人間が手作業で設計するだけでなく、アルゴリズムに探索させることができる。ADAS(Automated Design of Agentic Systems)は、agentの設計自体を最適化問題として扱う——まずCoT、self-refineといった単純なagentでアーカイブを構築し、次にメタagentがアーカイブ中の既存案を参考にしながらコードで新しいagent設計を書き、評価に通れば再びアーカイブに加える、というのを繰り返す。

AFlowはagentワークフローを一枚のグラフとして表現する——ノードはモデルを呼び出すアクション、エッジはコードで実装されたロジック操作——そのうえでモンテカルロ木探索(MCTS)を使ってこのグラフを最適化する。テンプレートから始め、スコアと探索を組み合わせた戦略でノードを選び、モデルに現在の成績をもとに新しいワークフローを作らせ、評価し、改善があれば木に加え戻す、というのを、スコアが頭打ちになるか予算を使い切るまで続ける。質問応答、コード、数学のタスクにおいて、AFlowは人手設計のワークフローやADASと比べても良い成績を出している。

自動研究向けに専用設計されたワークフローも少なくない。例えばAI Scientist(アイデア出し、コード執筆、実験実行、論文執筆、査読までの一連のパイプライン)、ScientistOne(検証可能性を核心の制約に据え、あらゆる主張を証拠源に遡れるようにする)、そして「データサイエンティスト」役を担うAutodata(出題者・強い解答者・弱い解答者・審判の複数役を使い、難易度が「ちょうどよい」訓練データを合成する)などだ。
harnessに自分自身へ手術させる
前節までは「最適化の対象」が階段を上る話だった。この節では、AIはすでに本当の意味で自律的に自分の運用システムのコードを改変できるようになっている。単なるパラメータ調整ではない。
STOP:問題を解くのではなく、「解答を担当するその改善器」を改変する
Self-Taught Optimizer(STOP)は、再帰的に外殻を改善する早期の事例の一つだ。「種となる改善器」を持ち、入力は初期解、良し悪しを測る効用関数、ブラックボックスとして使う言語モデルで、出力はより良い解になる。STOPが本当に最適化しているのはこの改善器自体だ——前バージョンの改善器を使って次バージョンの改善器を生成し、一層また一層と自己最適化を重ねていく。
Zelikmanらの実験では、進化してきた改善器は実際にさまざまな戦略を自ら生み出した——遺伝的アルゴリズム、問題を分割して個別に改善する方法、多腕バンディット式のプロンプト探索、シミュレーテッドアニーリング、温度調整、ビームサーチや木探索。これはまさに、harnessのワークフローが最適化対象として扱えることを示している。
ある重要な結果:GPT-4を土台にしたとき、STOPは反復を重ねるごとに平均的な成績が確かに上がっていった。だがより弱いGPT-3.5やMixtralに変えると、逆に劣化した。再帰的な構造があるだけでは足りず、土台となるモデルはこの仕組みを本当に改善できるだけの強さが必要になる。harnessの改善はモデルをより良くデプロイできるようにはするが、知能そのものは依然として核心であり、この自己改善はタダでは手に入らない。
Self-Harness:弱点を掘り、改変を提案し、検証してから統合する
より新しいSelf-Harnessは、agentが「提案、評価、受理」のループを通じて自分のharnessを改善できるようにする。この循環は3つのステップに分かれる:
失敗を因果関係のあるパターンにまとめる→ ② 改変を提案
限定された範囲で候補を出す→ ③ 検証して統合
両方のテストで後退しなければ統合 ↻ 合格した改変を統合し、次バージョンのharnessへ
弱点を掘る:現行のharnessでタスクを実行させ、実行軌跡を収集して分析する。2回の失敗はエラーメッセージ上では同じように見えることがある(どちらもタイムアウト、どちらも成果物欠落)が、その背後の因果メカニズムは異なることがある。だから必要なのは、検証器レベルの終端的な原因だけでなく、関連する挙動の因果的な状態や、軌跡から浮かび上がる抽象的なメカニズムまで含んだ、情報量の豊かな失敗記録であり、これによって根本原因を掘り起こす——表面的なエラーメッセージだけを見るのではなく。
改変を提案:同じモデルが提案者として使われ、限定された情報を渡される——現行harnessの中で改変可能な部分、検証済みの失敗パターン、保持すべき通過済みの挙動、そしてこれまで試した改変の要約だ。優先して選ばれるのは、繰り返し現れ、かつ狭い範囲の改変で解決できるエラーであり(タスク自体が難しすぎるといった類のものではない)、候補同士は互いに異なり、多様性を持たなければならない。
検証して統合:候補となる改変は、held-in(弱点が本当に解消されたかを検証)とheld-out(別の未知の問題を持ち込んでいないかを検証)の2組のデータで回帰テストを行わなければならず、両方とも後退しない場合にのみ受理され、統合されて新バージョンのharnessになる。却下された候補は記録として残るが、現行のharnessは変更されない。MiniMax M2.5、Qwen3.5-35B-A3B、GLM-5という3つの異なる土台モデルで、Self-Harnessはそれぞれ専用のharness指示を学び出し、モデルごとに異なる弱点に対応させ、held-outの通過率を向上させた。
Self-Harnessのような取り組みは、Wengにある懸念を抱かせる——もしプログラムが「OS」レベルのものを編集することを許されるなら、抽象化の境界は破られてしまう。だからこそ編集可能な範囲は入念に設計されなければならず、権限制御と安全レイヤーはこの循環の外側に留めておく必要がある。報酬ハッキングをめぐる古くからの問題は、ここでも依然として存在している。
もう一つの道:大量に変異体を作り、強いものを残し弱いものを淘汰する
これまでは一歩ずつ改変する話だった。もう一つの道は、自然選択のように——大量に変異体を作り、「適応度」の高いものだけを残し、弱いものを淘汰していく。探索空間が大きく捉えどころがなく、勾配で直接最適化するのが難しい一方で、ある案の良し悪しを採点するのは容易なとき、この進化的探索が力を発揮する。harnessの探索はまさにこの特徴に当てはまる。
進化的探索はすでにプロンプト最適化に使われてきた。例えばPromptbreeder(「モデルにプロンプトを変えさせるための、その変異プロンプト」自体も一緒に進化させる)、GEPA(反省に基づくプロンプトと進化的探索を組み合わせ、自然言語による試行錯誤軌跡の反省で改変を提案する)などだ。コード改変の層に来ると、代表格は以下の通りだ。
AlphaEvolve:プログラムプールを維持し、モデルに絶えずdiffを出させる
AlphaEvolveは、コーディングagent型の進化的探索システムだ。候補プログラムのプールを維持し、凍結されたモデルにdiff形式の修正を生成させ、子プログラムを繰り返し評価して成功したものを残し、時間をかけてより良い解を見つけていく。いくつかの設計上の細部——プロンプトには親プログラム、結果、指示、時にメタ情報も含まれる。コーディングagentはリポジトリ全体を見られるが、進化させてよいコード領域は# EVOLVE-BLOCK-STARTと# EVOLVE-BLOCK-ENDで明示的に区切られる。メタプロンプト自体も、解を求めるプログラムと一緒に進化していく。後継のShinkaEvolveは、サンプリング効率を上げる3つの工夫を追加した——よりサンプル効率の良い親サンプリング(成績のランキングと子孫の数のバランスを取る)、埋め込みのコサイン類似度で既存の個体群に似すぎた候補を除去する、そして成功した案のパターンを記録するメタメモ帳で以降の変異を誘導する、というものだ。ThetaEvolveは進化的探索と強化学習、コンテキスト内学習を組み合わせている。
DGM:「自分のコードを改変できるコーディングagent」を直接進化させる
Darwin Gödel Machine(DGM)は、上記の「解」を最適化する手法とは異なり、編集可能なharnessコードリポジトリを進化させることを狙う——このagentは自分自身のharnessを直接改変することを許される。プロセスはダーウィンの進化論のようだ:
プールの中の一つのコーディングagentからスタートする。毎ラウンド、「成績が良く、すでに子孫が少ない」ほど選ばれやすい確率で親を選び、これを改変・分岐させて新しいagentを生む。選ばれた親は自分の評価ログを振り返り、自身のharnessコードに改善を加えて新バージョンを生成する。コード編集にはbashとeditor(ファイルの閲覧・新規作成・編集)という2つの基礎ツールしか使わない。新しいagentは評価を受け、十分に良い成績のものだけがプールに加え戻される。DGMは固定されたモデルの下でharnessを進化させ、実験の土台にはClaude 3.5 Sonnetを使っている。後継のHyperagentsは、さらにメタagentを導入し、「既存のtask agentをどう改造して新しいagentを生むか」を専門に制御させている。
Wengが指摘するのは、この系統の手法は「候補案が自動評価でき、適応度が定量化しやすい」領域で最も力を発揮するということだ。例えば行列乗算、GPUカーネル最適化、アルゴリズムコンテスト、データセンタースケジューリングなど。評価が遅く、曖昧で、主に人間の判断に頼る領域になると、途端に苦しくなる。そのうえ進化そのものの計算効率と有効性も懸念材料であり続ける。
詳細を見る:モデル自身の重みも同時に変えられるか
harnessの進化が変えるのは、モデルの周りにある非パラメータ的なシステムだ。完全な自己改善を実現するには、モデルにも自分の重みを更新することを同時に許してよく、訓練パイプラインの改善やテスト時の継続学習によって実現できる。SIAは、harnessの改善とモデルパラメータの更新を同じ最適化ループに入れた早期の試みで、3つの役割が設計されている——Meta-Agentが初期harnessを提案し、Task-Specific Agentがタスクを実行し、Feedback-Agentが直近の軌跡をもとに今回はharnessを変えるべきか重みを変えるべきかを判断する。ただしWengが指摘するのは、SIAの実験にはいくつかの交絡要因があり、結果の解釈が難しいという点だ(例えばタスクを実行するagentが他の2つの役割よりずっと弱いモデルを使っている、ベースラインも弱めであるなど)。方向性としては興味深いが、証拠はまだ初歩的なものにとどまる。継続学習それ自体は、単独で一本記事を書く価値のあるテーマだ。
この道が今ぶつかっている7つの壁
進展は確かに本物だ。だが境界線もはっきりしている。Wengは現時点でまだ解けていない7つのボトルネックを挙げており、ざっと眺めるだけで現状がどこで止まっているかが分かる。
研究の主張、独創性、長期的な科学的価値には、速くて正確な検証器が存在しない。自己改善は今のところ、指標が定量化でき、十分に客観的なタスクでしかうまく機能しない。
長時間動作するagentが自律的になるほど、記憶の問題は大きくなる。これはソフトウェアシステムの層に留まるべきではなく、将来は知能そのものの核心部分になるべきだ。
文献はもともと成功譚に偏っており、モデルの訓練データには成功例が失敗例よりはるかに多い。そのためモデルは、いつ仮説を諦めるべきか、失敗をありのまま報告することが苦手になる。
進化や強化学習のループは、すでに分かっている高得点パターンに寄っていきやすい。本当により優れた道は、当初は現行の評価器の下ではむしろ劣って見えることが多い。
与える信号次第で、システムはその信号の抜け穴を突く——報酬が単体テストから来ればテストにこびり、審査員モデルから来れば審査員モデルを狙って小細工をし、ランキングから来ればランキングの穴を突く。評価と権限制御は、最適化されるループの外側に置くべきだ。
現行のサンドボックス式の訓練では、保守性、責任の境界、移行コスト、後方互換性、将来のデバッグ負担といった長期的な帳簿を測るのが難しい。
人間はシステムのより高い層に押し上げられて監督を担うべきであり、循環の外に押し出されるべきではない——つまり、適切なタイミングで、適切な抽象レベルで、関門を提供することだ。
報酬ハッキングについて、Wengはさらに具体的な一言を添えている——評価器と権限制御は、進化するharnessのそのループの外側に座らせておくのが望ましく、あわせてheld-outテスト、軌跡の監査、そして重要な意思決定点での人間によるレビューを残しておくべきだ。こうした監督がどこまで自動化・スケール化できるかは、それ自体まだ開かれた研究課題である。
AIが自分で研究する、今どこまで来ているか
最後に、実測データに話を戻そう。AI Scientistの系統は、専門家が設計したharnessが自動研究ループのかなりの部分を協調できることを確かに証明した。しかし、それなりの論文を書けることは、科学的発見を成し遂げたこととイコールではない——システムはもっともらしく見える原稿を書けても、その裏では引用がでっち上げられていたり、実装が歪んでいたり、実験結果が根拠を欠いていたりすることがある。
以下の早見表を見れば、「自動研究」が今どの水準で止まっているか一目で分かる:
| ベンチマーク | 何を測るか | 当時の成績 |
|---|---|---|
| PaperBench | ICMLのSpotlight/Oral論文20本をゼロから再現、計8316件の採点基準 | 当時最強のClaude 3.5 Sonnetでも約21%にとどまり、機械学習の博士課程学生にまだ及ばない |
| CORE-Bench | 90本の論文から取った270のタスクを再現し、研究の再現可能性を検証 | 当時最強のagent(GPT-4oとGPT-4o-mini)は、最難関カテゴリで正解率わずか21% |
| ScienceAgentBench | 44本の論文から抽出した102のデータサイエンスタスク(データ処理、モデリング、分析、可視化) | 数学、化学、生物、地理の4分野をカバー |
| RE-Bench | 7つの現実的なML研究エンジニアリング環境で、人間の専門家と直接比較 | 2時間の予算ではAI agentの最高スコアが人間の4倍だが、8時間・32時間という長い予算では人間が逆転する |
| MLE-bench | 75のKaggleコンペティションを再現し、モデル訓練・実験実行・予測提出を行う | 最良の構成はo1-preview + AIDEの組み合わせで、コンペの16.9%で銅メダル水準に到達 |
| KernelBench | 250のPyTorchタスクで、速くて正しいGPUカーネルを書けるかを測る | 指標fast_p:生成したカーネルのうち、正しくかつベースラインより速いものの割合 |
補足:RE-Benchでは、人間の専門家は8時間の試行の82%でゼロでないスコアを獲得し、24%は参照解に達するかそれを上回った。データは61人の専門家による71回の8時間試行に基づく。
アイデアを実際に論文にする、どこでつまずくのか
Trehan & Chopra 2026は、より現実に近い実験を行った。モデルにはread_file、write_file、llm_search、list_filesといった基本的なツールだけを与え、研究アイデアから完成原稿まで一気通貫でたどり着けるかを見た。彼らは世界モデル、マルチエージェント強化学習、AI安全性・アライメントの3領域それぞれについて、新しいアイデアを喚起するための質の高いシード文書を45〜50本ずつ用意した。
プロセス中には6種類の失敗モードが繰り返し露呈した:
- 訓練データ中のデフォルトへの偏り:古びたライブラリ、時代遅れのコマンド、標準フォーマットを使ったり、実際のリポジトリやデータセットに基づかない仮定を置いたりする。
- 実行の重圧下での実装のドリフト:実装が技術的に複雑になると、モデルは元々提案した手法ではなく、より一般的でより簡単な方式に流れやすくなる。
- 記憶とコンテキストの劣化:長期プロジェクトでは、重要な細部は永続的な成果物として書き残されない限り失われてしまう。
- 過度な楽観:実験結果がまだノイズの範囲内、あるいはすでに失敗しているにもかかわらず、モデルは成功を宣言してしまう。他の場所でも観察されている「p値のつじつま合わせ、悟った振り」であり、「数値の絆創膏」で無理やり取り繕う。
- ドメイン直感の不足:モデルには、実装の複雑さを見積もる、実験結果が信頼できるか判断する、どの基準線が重要かを知るといった、言葉にしにくい職人的な勘が欠けている。
- 研究のセンスの弱さ:実験は動かせても、本当に問うべき問いには答えられていない。
Wengの締めくくりの姿勢は明確だ——完全なRSIに向けて、研究者たちは確かな進展を上げてきた。だが上記のボトルネックはまだ残っており、その多くは人間のフィードバックと導きを必要とする。結局のところ、我々がこの技術を作っているのは、人間にとってより良い未来のためであって、その逆ではないのだから。
モデルと現実世界の間に立つシステムは、モデルの生の知能と同じくらい重要であるように思える。 Lilian Weng、『Harness Engineering for Self-Improvement』、Lil'Log、2026年7月
AI自己進化のカギ:「モデルをより賢く訓練する」から「モデルの外側の殻を改変する」へ
元OpenAI安全部門責任者Lilian Wengが約30本の研究を整理——AIに自分の運用コードを改変させる、一枚の図で語り尽くす。
↓ 一枚で読み切り・動く図が1つあります
AI業界には「自己進化」(RSI、再帰的自己改善)という大きな目標がある——AIが今の実力を使って、「自分を賢くする」その仕組み自体を改善し、改善し終えたらさらに強い次世代を作り出す。雪だるま式にどんどん大きくなっていくイメージだ。最もストレートな発想は、モデルに自分のパラメータを直接書き換えさせることだった。
✘ モデルに自分の「重み」を直接書き換えさせて自己進化させる、というのは直近では実現できない
重み(モデルの頭の中のパラメータ)を直接改変するのは難しすぎるし、危険でもある。だから皆「モデルがどれだけ賢いか」ばかりに注目し、その外側で万事を取り仕切っている殻の存在を見くびってきた。
Wengの見立てはこうだ——直近の自己進化は、モデルが重みを直接書き換えることを期待すべきではなく、まずは「デプロイシステム」の層に落ち着く。その中で最も重要な部品がharness(モデルの外側を包む運用システムで、ツールの呼び出し、コンテキストと記憶の管理、結果の検証を担う)だ。
AIをより強くしたければ、より大きなモデルを一から再訓練するしかなかった。
agentに自分の「外殻」のコードを改変させ、テストを走らせ、より強いバージョンを残す。
だが「外殻を改変する」とは具体的に何を改変するのか、AIはどうやって自分の手で動かすのか?これがまさに全文の核心だ。
改変される対象は、一本の階段を上っていく——プロンプト → 構造化コンテキスト → ワークフロー → harnessコード → 最適化器のコード。上に行くほど、AIが自分で探索できる空間は広がり、モデルの地力も要求される。最もカギとなる層は、AIに自分の運用コードを直接改変させることで、具体的には次のように回る:
公式発表の「スコアが20%から50%に上がった」だけでは、普通の人にはピンとこない。同じ具体的なバグ数に置き換えれば一目瞭然だ(バーが長いほど修正できたバグが多い)。
直接改変しよう!
脳内のパラメータを改変
外側だけ変えよう!
結果検証、面倒事は全部引き受ける
↓
② 改変を提案
↓
③ 検証して統合
「外殻」だけ変える
- × 弱いモデルだと?むしろ悪化する
- × 数字の多くは各チーム自身の論文由来
- × 自動採点できる仕事でしか効かない
