7月13日、MarkTechPostが「Guide to Loop Engineering: How 'autoresearch' and 'Bilevel Autoresearch' Turn AI Agents Into Autonomous Machine Learning ML Research Loops」と題した記事を公開した。この記事では、AIエージェントを自律的なML研究ループに変える「ループエンジニアリング」の設計思想と実装パターンについて詳しく紹介されている。
ループエンジニアリングとは何か
AIを「テキストを投げると答えが返ってくる検索ボックス」として使う段階から、次のパターンへの移行が始まっている。それがループエンジニアリングだ。
プロンプトは「1命令、1応答」で終わる。ループは違う。目標を1度だけ定義すると、モデルが計画・実行・検証・再実行を繰り返し、目標に到達するまで回り続ける。ループがそのコストに見合うのは、「仕事が測定可能なとき」という条件が前提となる。
ループを成立させる3つの部品
ループと「プロンプトを繰り返すチャットボット」を分けるのは、以下の3要素だ。
- 検証器(Verifier):各試行を採点する。テストの合否、メトリクスの改善、ビルドの成功など。検証器がなければエージェントは自分の出力に自分で同意し続けるだけになる。
- 状態(State):何を試したか、何が失敗したか、何が残っているかを記録する。小さなサイドファイルがあれば次のランは最初からやり直さず再開できる。
- 停止条件(Stop Condition):コストの暴走を防ぐ。目標達成時、またはN回試行後にループを止める。
KarpathyのLoop:autoresearchの設計
この3要素を実装したのが、Andrej Karpathyが2026年3月7日に公開したautoresearchだ。MITライセンスのオープンソースで、コアは3ファイル・約630行。公開後すぐにバイラルし、現在のGitHub starは約9万に達している。
設計の肝は「エージェントが触れるファイルを厳密に制限すること」だ。エージェントはtrain.py(GPTモデル、オプティマイザ、訓練ループを含む)しか編集できない。評価ユーティリティのprepare.pyには手が届かない。これにより、「モデルを改善する代わりにテストを簡単にする」という抜け穴を塞いでいる。ヒューマンが書くprogram.mdがエージェントへの指示書となる。
各サイクルは1実験、5分の訓練で完結する。スコアリング指標はval_bpb(validation bits per byte:テキストの各バイトを表現するのに必要なビット数の平均であり、低いほど言語モデルの予測精度が高いことを示す)。1時間あたり約12実験が走る計算になる。
実測値
Karpathyは自身のすでに最適化済みのnanochat GPT-2訓練コードにこれを向けた。2日間で約700実験を実行し、20件の実質的な改善を採用。それらを積み重ねた結果、GPT-2品質の訓練時間が2.02時間→1.80時間(11%短縮)となった。
発見された改善の一つが、QK-Norm実装にスカラー乗数が抜けていた問題だ。QK-NormはTransformerのアテンション機構においてQuery・Keyベクトルを正規化する手法で、訓練の安定性向上を目的として導入されることが多い。この乗数の欠落により、アテンションがヘッド全体で拡散しすぎていた。エージェントは2日間の実験を通じてこの見落としを掘り当てた。
ShopifyのCEO Tobi Lütkeも社内モデルで一晩実行し、37実験で19%の改善を報告している。Karpathyの見解は端的だ:「測定可能な目標があるなら、ボトルネックはあなた自身だ。」
ループの上にループを乗せる:Bilevel Autoresearch
研究者たちはさらに踏み込んだ問いを立てた。「autoresearchをautoresearchできるか?」
論文Bilevel Autoresearch: Meta-Autoresearching Itselfはその答えを実装している。「bilevel(二段階)最適化」とは、インナー問題の最適解を前提としてアウター問題を最適化する枠組みで、ハイパーパラメータ最適化やメタ学習の分野で広く用いられる概念だ。本論文ではこれをML研究自動化ループに応用している。
- インナーループ:Karpathyの元設計と同じ。変更提案→訓練→評価→採否。
- アウターループ:インナーループ自体を監視し、コードとトレースを読む。検索が行き詰まっているパターンを特定し、新しいPythonメカニズムを書いてランタイムに注入し、インナーループを再実行する。
実際の動作は3レベルに分かれる。Level 1が基本ループ。Level 1.5が5イテレーションごとに探索パラメータを調整。Level 2が4ラウンドのセッションを通じてメカニズムを生成する。実験環境はRTX 5090 32GB、1試行300秒の予算だ。
結果
同じKarpathy GPT事前学習ベンチマークで、シングルループ比でval_bpbの改善が5倍(-0.009 vs -0.045)。注目すべき点は、両ループで同じLLMを使用していることだ。つまりゲインはモデルの賢さからではなく、アーキテクチャ設計から来ている。インナーループは機能しなくなったあとも同じ方向性に戻り続ける傾向があり、アウターループがその慣性を破ることで未踏の探索を強制する構造だ。
3方式の比較
| 観点 | ワンショットプロンプト | Karpathyループ | Bilevel Autoresearch |
|---|---|---|---|
| あなたが定義するもの | 各ステップ | 目標(1回) | 目標(1回) |
| 反復する主体 | あなた | インナーエージェント | インナー+アウターエージェント |
| 検証器 | あなた(手動) | prepare.py(val_bpb) | 同メトリクス・2段階 |
| 報告された結果 | 様々 | 700実験→20改善・11%短縮 | val_bpb改善5倍 |
今すぐ試す:1プロンプトでループを体感する
Claude CodeやCodexなしでも、以下のプロンプトを任意のLLMに貼り付ければループの挙動を体感できる。
You will work in a loop until the task meets the bar.
TASK:
[describe exactly what you want produced]
SUCCESS CRITERIA (be strict):
- [criterion 1]
- [criterion 2]
- [criterion 3]
LOOP PROTOCOL, repeat every turn:
1. PLAN - state the single next step.
2. DO - produce or improve the work.
3. VERIFY - score the result 1-10 on each criterion. Be honest.
4. DECIDE - if every criterion is 8+, print FINAL and stop.
Otherwise print ITERATING and fix the weakest point first.
RULES:
- Never call it done until every criterion is 8 or higher.
- Each pass must fix the weakest score from the last VERIFY.
- Do not ask questions. Make a sensible assumption and continue.
Begin.
Python実装の骨格はシンプルだ。
current = baseline
best = evaluate(current) # verifier: lower val_bpb is better
for step in range(MAX_STEPS): # stop condition 1: experiment budget
candidate = propose_change(current) # agent edits train.py
score = train_and_eval(candidate) # train 5 min, then verify
if score < best: # keep only real improvements
current, best = candidate, score # commit
# else: discard candidate, restore baseline
if best <= TARGET: # stop condition 2: goal met
break
この形のまま使うと、トリガーはあなたが押す必要があり、タブを閉じると状態が消える。自動化・状態ファイル・実際の検証器を加えることで初めて自律ループになる。
まとめ
ループエンジニアリングの要点は以下だ。
- ループに必要なのは検証器・永続的な状態・停止条件の3点のみ
autoresearchはエージェントにtrain.pyだけを編集させ、評価器には触れさせない設計- Karpathyの実行は2日間で700実験から20改善を選び取り、11%の高速化を達成
- Bilevel Autoresearchはアウターループを追加し、
val_bpb改善を5倍に拡大 - ループは設計とレビューの仕事を人間に残す。思考をなくすわけではない