深度 ・ 小互解読

最近話題の Loop Engineering とは一体何か

Anthropic のエンジニアが説く「ループエンジニアリング」方法論を徹底解説。AI に一言ずつ手動でプロンプトを送るのではなく、自分で回り続けるループシステムを設計する
概要
  • Loop Engineering は、Addy Osmani、Boris Cherny、Peter Steinberger が 2026 年 6 月の同じ週にそれぞれ独立にたどり着き名付けたもの。AI に手動でプロンプトを送るのをやめ、AI に自動でプロンプトを送るシステムを設計する。自分自身が「AI を操作する人」から「AI を駆動するシステムを設計する人」へと変わる
  • 一つのループは五つのステップで構成される:タスクの発見、実行への引き渡し、独立検証、状態の永続化、自動スケジューリング。どれか一つでも欠けると、それぞれ名前の付いた失敗パターンに陥る(頷きループ/記憶喪失ループ/手動ループ/盲目ループ/もつれループ)
  • 最も重要かつ最も省略されやすいのが検証だ。AI に自分の出力を採点させると自画自賛してしまう。必ず独立した agent に粗探し役をやらせ、デフォルトで「コードは壊れている」と仮定し、実際にページをクリックしてスクリーンショットを撮る必要がある。コードを読むだけでは足りない
  • Stripe の Minions パイプラインは毎週 1300 件以上の、機械が書いた PR をマージしている。信頼性の源は確定的な制約(linter を強制実行させ、agent は迂回できない)であって、より大きなモデルではない
  • ループは気づかぬうちに四つの代償を積み上げる:検証負債、理解の劣化、認知的降伏、Token 請求額の暴発。四つは互いを強め合い、最後にまとめて噴き出す。門番は常に人間の判断力である
1発端 ・ 命名

一週間のうちに、三人が同じことに行き着いた

2026 年 6 月の同じ週、Google Chrome のエンジニア Addy Osmani、Anthropic の Claude Code 責任者 Boris Cherny、OpenClaw の作者 Peter Steinberger は、互いに口裏を合わせたわけでもないのに同じことに行き着いた。彼らはもう AI に手動でプロンプトを送るのをやめ、「AI に自動でプロンプトを送るシステム」を設計していたのだ。

Loop Engineering(ループエンジニアリング)が語るのは一つの身分転換だ。あなたは「キーボードの前に座って一言ずつ AI に指示を出す人」から、「AI に自分で仕事を割り振り続けるシステムを設計する人」へと変わる。この一文の重みはすべて「自分自身を置き換える」という点にかかっている。
なぜ見る価値があるか:Steinberger の「loop を設計すべきで、agent にプロンプトを送るべきではない」という投稿は閲覧数 800 万を突破した。Cherny の言葉では「今書いているのは loop で、僕の仕事は loop を書くことだ」。Osmani は6 月 7 日にそれを Loop Engineering と名付け記事にした。三つの言葉はすべて同じ動きを指している。あなたが設計するものが、agent の一つの振る舞いから、agent を駆動する仕組み全体へと変わったのだ。そして Stripe はすでにこのパターンで、毎週 1300 件以上の機械が書いた PR をマージしている。
8,000,000+
Steinberger の「loop を設計すべきで、agent にプロンプトを送るべきではない」という投稿の閲覧数
6 / 7
Osmani がこれを Loop Engineering と名付け記事にした日付。翌日 Substack にも同期された

なぜよりによってこの週に現れたのか

三人は相談したわけでもないのに、同じ週に同じ言葉に手を伸ばした。これは偶然ではなく、周囲のツールが静かにある閾値を越えたからだ。三つの条件が同時に熟した。coding agent はすでに、人手を介さず自明でないタスクをやり遂げられるほど信頼できるようになっていた。スケジューリングのプリミティブが主流ツールに現れたばかりだった。一回の実行コストは、何度繰り返しても無駄と言えないほどまで下がっていた。部品が揃ったことで、「それらを組み合わせる」という動作が、全員にとって同時に自明になったのだ。

名前は実践に何か月も遅れてやってくる。誰かがそれを Loop Engineering と呼ぶ前から、人々はとっくにループを書いていた。ちょうど「generator/evaluator 分離」に名前が付く前から、チームがコードを書く agent にコードを審査する agent を組み合わせていたのと同じだ。この法則は覚えておく価値がある。次の新語はモデルのリリースからではなく、ある能力が安くなりすぎて、かつては考えもしなかった組み合わせが日常になる、その瞬間から生まれる。

2位置づけ

これはこの四層の一番上に立つ

これら「〇〇エンジニアリング」は互いを置き換えるものではなく、層が積み重なっている。各層が扱う対象は下の層より一回り大きい。一言のプロンプトから、コンテキストウィンドウ一つ、実行一回、そして最後に自分で回り続けるループへ。各層を開いて、それが何を扱い、失敗したときにどれだけ被害が広がるかを見てみよう。

Loop ・ ループエンジニアリング一番上の層
扱うもの:harness の上でスケジューリングを行い、それを何度も自分で回す。核心の問い:どうすれば無人でも繰り返し回り続けられるか。下の層より三つの動詞が増える。時間で起動する(時間が来たら自分で目覚める、人がボタンを押す必要はない)、子 agent に分ける(一つが改修案を書き、もう一つが粗探しを専門にする)、自分の出力を次の周回に食わせる(昨日の発見をファイルに書き、今朝それを読んで続きをやる)。失敗の爆発半径:誤りが state file に書き込まれ、翌日には既定事実として読み戻され、それを土台に積み上げ続け、何周回も伝播してからやっと発見されることがある。
Harness ・ 単発実行の装備arm one run
扱うもの:単発の agent 実行に装備を整える。使えるツールは何か、許される操作は何か、失敗時にどう復旧するか、どの状態を完了とみなすか。核心の問い:この一回の実行に何を持たせるか。これは一回の実行を武装させるが、その実行を自動的に繰り返させることはしない。失敗の爆発半径:agent が誤読したまま一度ファイルを改変しても、run が終わり diff が見える形で残り、人が review してから初めて本番に載る。
Context ・ コンテキストエンジニアリングthe window now
扱うもの:今このウィンドウに何を入れるか。何を検索するか、どう要約するか、どの古い情報を消すか。核心の問い:モデルに何を見せれば解けるようになるか。ノイズだらけのウィンドウは、どれだけ良いプロンプトも無駄にする。失敗の爆発半径:自信満々の誤答が出ても、間違いに気づけばコンテキストを消せば済む。
Prompt ・ プロンプトエンジニアリングthe words you write
扱うもの:モデルに書くその一文。言葉選び、例、役割設定、語調。核心の問い:モデルに何を伝えるべきか。境界は一回の対話そのもの。厄介なのは、毎回誰かがそこに座ってプロンプトを渡すことを前提にしている点だ。失敗の爆発半径:一回の対話でその場で気づけ、プロンプトを書き直せば済む。

同じバグ(agent がある関数の戻り値を誤読した)を四つの層に置いて見てみよう。上の層に行くほど、発見が遅れ、代償が大きくなる。ループ層まで来ると、この誤読は state file に書き込まれ、翌日には事実として読み戻され、それを土台に層を重ねて積み上げていく。誰かが気づいて見に行くころには、その誤った前提はすでに構造を支える壁になっている。

これがループエンジニアリングで最も覚えておくべき直感だ。誤りの代償は、それが人に発見されるまでに生き延びた周回数に等しい。そしてループは構造上、「周回数を最大化する」機械なのだ。この先に出てくるすべてのもの——evaluator、人手によるチェックポイント、予算上限——が存在する唯一の目的は、「間違いを犯す」ことから「発見される」ことまでの距離を縮めることにある。

3五つのステップ

一周回は五つのステップ、どれを欠いても決まったパターンで壊れる

「ループ」を空回りと誤解しないでほしい。毎周回、具体的な仕事をこなす。やる価値のある仕事を見つけ、agent に渡し、正しいか検証し、状態を保存し、次の一手を決める。五つのうちどれか一つでも欠けると、ループは回らないか、その場で空転するかのどちらかになり、しかも決まった名前を持つパターンで壊れる。

発見 引継 検証 NO可 永続化 自動化 loop 自分で回り続ける仕組み
五つのステップが時計回りに一周する。スケジューリングがこの周回でやり残した発見を明日の周回へつなぐ ・ 検証は一周回の中で唯一「NO」と言えるステップ

以下では Osmani が自分で組んだ「朝の triage ループ」を例に、各ステップが何をするか、そしてそれを飛ばすとどんなループに陥るかを見ていく。

1
発見Discovery
triage skill が昨日落ちた CI、まだ開いている issue、直近マージされた commit を読み、この周回で何をすべきか自分で見つけ出す。肝心なのは agent 自身に仕事を見つけさせることで、リストを手渡されるのではない。このステップがループ全体の品質の天井を決める。拾い上げた仕事に価値がなければ、後の四ステップをどれだけ丁寧にやっても無駄になる。
省略すると → 盲目ループに:結局あなたが毎朝手動で「このバグを三つ直して」と仕事を割り振ることになる。「やる」は自動化できても「見つける」は自動化できておらず、しかも「見つける」こそがしばしば一番コストの高い部分だ
2
引き渡しHandoff
仕事をスケジューリングシステムから実際に作業する agent の手に渡す。やる価値のある発見ごとに独立した git worktree を一つ開き、複数の agent がそれぞれのディレクトリでコードを書き換え、ファイルがぶつからないようにする。仕事の切り分けがきれいであるほど、後の検証とマージが楽になる。
省略すると → もつれループに:複数の agent を並行させても全員が同じディレクトリを書き換えてしまい、変更同士がぶつかり合い、merge は誰にも解けない糸くずになる。agent が一つのときは問題が見えず、五つの agent が同時に走ったあの朝になって初めて露呈する
3
検証Verification
⊘ 一周回の中で唯一「NO」と言えるステップ
最も手を抜きやすく、そして最も省いてはいけないステップだ。一つ目の子 agent が修正を起草したら、二つ目の子 agent に交代して審査させる。指示は別物で、時にはモデルごと変える。コードを書いた agent は自分の宿題を採点すると甘くなりがちだが、粗探し専門の agent なら、前者が自分を納得させて通してしまったものを捕まえられる。本物のチェックがないループは、自分に頷いているだけの agent にすぎない。
省略すると → 頷きループに:最もよくある失敗だ。毎周回自分で自分を承認し、機械の速度で一見問題なさそうなミスの山を積み上げていく。何百周回走っても一度も「NO」と言ったことがない——どんな現実の作業量に対しても統計的にありえないことであり、まさに本物のチェックが存在しない証拠だ
4
永続化Persistence
結果をこの対話より長く生き残る場所に落とし込む。connector 経由で PR を開いたりチケットを更新したり、手に負えないものは inbox に送り、さらに一つの state file に進捗を記録する。ループの記憶はコンテキストウィンドウの中だけに生きていてはいけない。markdown やカンバンに書かれたものは忘れられない。
省略すると → 記憶喪失ループに:良い仕事を見つけてやり遂げても、やったこと自体を忘れてしまう。結果がクリアされるコンテキストウィンドウの中にしか残らないからだ。翌日また同じ仕事を発見し、やり直してしまって最初の成果とぶつかることすらある。毎朝同じ地点からスタートし、何一つ積み上がらない
5
スケジューリングScheduling
triage が毎朝自動で走り、state file がやり残した発見を翌日へつなげ、翌日には自分で続きをやる。Osmani の言葉を借りれば:一つのループを本物のループにするのは automation であって、あなたが一度だけ走らせたただの実行ではない。
省略すると → 手動ループに:四つのステップはどれもよくできているのに自動化されていない。それはループではなく、あなたが手動で走らせて、また走らせるのを忘れるスクリプトだ。組み上げたその日のデモは見事でも、注意がそれた瞬間に静かに止まってしまう。最後に実行されたのは、デモを披露したあの日のままだ