開発者の大多数は、コーディングエージェントを今でも手動でプロンプトしている。タイプして、待って、差分を読んで、また次のプロンプトを書く。「ループエンジニアリング」は、その繰り返し作業そのものをシステムに任せる考え方だ。
@0xCodez が公開した記事「Loop engineering: the 14-step roadmap from prompter to loop designer」は、Anthropicのエンジニアリングドキュメント、Addy Osmaniのループエンジニアリング論文、最近の計測研究を元に、プロンプターからループデザイナーへ移行するための14ステップをまとめたロードマップだ。
既存記事との棲み分け:ループエンジニアリングの概念そのものは プロンプトからループへ と 2026年AI必須スキル「ループエンジニアリング」とは で扱った。本記事が焦点を当てるのは、作るべきかどうかの判断基準(4条件テスト)、撤退ライン、そして失敗の回避である。Step 05〜10 の構成要素はロードマップの通し道として一巡するが、各部品を深く知りたい場合は 6コアモジュールの解説 を正典として参照してほしい。
ループエンジニアリングとは何か
ループエンジニアリングとは、自分自身をプロンプターから置き換えることだ。
従来の使い方では、エージェントはツールであり、あなたがずっとそれを握っていた。ループエンジニアリングでは、次の処理を自律的に行う小さなシステムを構築する:
- 作業を発見する
- エージェントに渡す
- 結果を検証する
- 何が起きたかを記録する
- 次の行動を決定する
Anthropicのエンジニアは現在、2024年比で1日あたり8倍のコードをマージしている——ただしこの数字自体、Anthropic自身が「真の生産性向上を誇張している可能性がほぼ間違いなく高い」と留保をつけている。数字の是非はさておき、主因が「より良いプロンプト」ではなく「プロンプトするシステムの設計」にあるという点は動かない。
PART 1: なぜループが必要か、そのテスト方法
Step 01: ループエンジニアリングはプロンプターの置き換え
従来のやり方では、人間が毎回プロンプトを書き、差分を確認し、次の指示を出す——つまり人間自身がループの制御装置になっている。ループエンジニアリングでは、システムがタスクを見つけ、エージェントを走らせ、検証し、状態を記録して次のアクションを決める。人間はその設計者に回る。
Addy Osmaniが定義する6つの要素(オートメーション・ワークツリー・スキル・コネクタ・サブエージェント・ステートファイル)がループを構成する。設計するのは一度だけで、あとはシステムがプロンプトを生成し続ける。
Step 02: 何かを作る前に「4条件テスト」を実行せよ
ループは4つの条件が揃ったときにコストに見合う。1つでも欠けていれば、ループはリターン以上のコストがかかる。
| 条件 | 内容 |
|---|---|
| タスクが繰り返される | ループはセットアップコストを多くの実行に分散する。週次未満なら設定する意味がない |
| 検証が自動化されている | テストスイート、型チェッカー、リンター、ビルドが必要。自動ゲートがなければ、あなたは結局すべての差分を読むことになる |
| トークン予算が無駄を吸収できる | ループはリトライや探索でトークンを消費する。予算が十分でなければコスト面でリスクが大きい |
| エージェントにシニアエンジニアのツールがある | ログ、再現環境、コードを実行して何が壊れるかを確認する能力が必要 |
Step 03: 誰が得をし、誰が損をするか
ループから本当に恩恵を受けるのは:
- 繰り返しの多い、機械的に検証可能な作業があるチームとバジェット
- 強力なテストスイートを持つコードベース
- マルチエージェントパターンを既に使っている非同期ファーストのチーム
今すぐスキップすべき人:
- コンシューマープランの個人開発者 — トークン代が生産性向上より先に来る
- 自動検証のないコードで作業する人
- レビュー能力がボトルネックのチーム(ループはコードを増やすだけでレビューキューを長くする)
Step 04: 30秒ループチェック
具体的なタスクをループにする前のチェックリスト:
- タスクは少なくとも週次で発生する
- テスト、型チェック、ビルド、またはリンターが不正な出力を拒否できる
- エージェントが変更したコードを実行できる
- ループにはハードストップがある(トークン予算、イテレーション回数、時間制限)
- マージ・デプロイ・依存関係変更の前に人間のレビューが入る
良いファーストループ:
- CIの失敗トリアージ(夜間)
- 依存関係バンプPR(週次)
- リント&フィックスパス(PRオープンイベント毎)
- フレーキーテストの再現ループ
- テストカバレッジが強いコードでのIssue→PR下書き
悪いファーストループ(人間が必要):
- アーキテクチャリライト
- 認証・決済コード
- プロダクションデプロイ
- 「完了」が判断の問題になる曖昧な作業
PART 2: 5つの構成要素
Step 05: オートメーション — ループの心臓部
オートメーションはループを「一度だけ実行するスクリプト」ではなく「実際のループ」にする要素だ。スケジュール、イベント、またはトリガー条件で発火する。
2つの主要ツールでの実装:
- Codex: Automationsタブ → プロジェクト選択 → プロンプト設定 → ケイデンス設定。何かを発見した実行はTriageインボックスへ、何も発見しなかった実行はアーカイブ
- Claude Code:
/loop(セッションスコープ)、デスクトップスケジュールタスク(再起動でも継続)、Routines(ラップトップオフでのクラウド実行)
2つの重要なプリミティブ:
/loop: ケイデンスで再実行。状態に関係なく定期チェックに使う/goal: 書いた条件が実際に真になるまで継続実行。別の小さなモデルが完了をチェックするので、コードを書いたエージェント自身が採点しない
Step 06: ワークツリー — 並列でも混乱しない
複数エージェントを同時実行した瞬間、ファイルが衝突し始める。git worktree はこれを解決する。同じリポジトリ履歴を共有しながら、独立したブランチで作業する別々のディレクトリを提供する。
- Codex: ワークツリーサポートを組み込み — 複数スレッドが同じリポジトリに同時にアクセスしても衝突しない
- Claude Code:
git worktreeを直接公開、--worktreeフラグ、サブエージェントへのisolation: worktree設定
ワークツリーは機械的な衝突を取り除くが、レビュー帯域幅があなたの上限になる。並列エージェントの数はツールではなく、あなたがレビューできる量で決まる。
Step 07: スキル — プロジェクト知識を一度書いて毎回参照
スキルは、同じプロジェクトのコンテキストをセッションごとに最初から説明するのを止める仕組みだ。両ツールとも同じ形式:SKILL.md を含むフォルダ(手順、メタデータ、オプションのスクリプト・参照・アセット)。
ループにとって特に重要な理由:スキルがないループはサイクルごとにプロジェクトのコンテキスト全体をゼロから再導出する。スキルがあればインテントが積み上がる。慣習、ビルド手順、「あの事件のせいでこのやり方はしない」という知識が一度書かれ、すべての実行で参照される。
Step 08: コネクタ — ループがリアルなツールに触れる(MCP経由)
ファイルシステムしか見えないループは小さなループだ。Model Context Protocol(MCP)上に構築されたコネクタによって、エージェントはIssueトラッカーを読み、データベースに問い合わせ、ステージングAPIを叩き、Slackにメッセージを送れる。
最も早く見返りのあるコネクタ(優先順):
- GitHub — リポジトリ読み取り、ブランチ作成、PRオープン、Issueコメント、Webhookイベントへの反応。コードループの初日最大のメリット
- Linear / Jira — ループの進行に合わせてチケット更新、PRとIssueの紐付け、検証が通ったらアイテムを自動クローズ
- Slack — トリアージ結果の投稿、エスカレーションでの人間への通知、夜間実行の朝のサマリ
- Sentry / エラートラッカー — ライブアラートを調査し、頻度の高いものの修正下書きを作成
Step 09: サブエージェント — 作成者と検証者を分離する
ループで最も有用な構造的な工夫は、書くエージェントとチェックするエージェントを分離することだ。
Addy Osmaniの言葉が正確だ:「コードを書いたモデルは自分の宿題を採点するとき非常に優しくなりすぎる」。異なる指示(場合によっては異なるモデル)を持つ2番目のエージェントが、最初のエージェントが自分に言い聞かせて通過させたものをキャッチする。
これはAnthropicの2024年12月エンジニアリング記事の「evaluator-optimizerパターン」だ。1つのモデルが生成し、別のモデルが批評し、繰り返す。2026年にバズっている語彙が18ヶ月前にドキュメント化されていた。
典型的な分割:
- リサーチスペシャリスト(探索)
- エンジニアリングスペシャリスト(実装)
- QAスペシャリスト(検証)
PART 3: 正しく構築するか、構築しないか
Step 10: ステートファイル — エージェントは忘れる、ファイルは忘れない
シンプルすぎて重要に思えないが、実際にはすべての動作するループの背骨だ。会話の外に存在し、何が完了して何が次かを保持するもの(マークダウンファイル、Linearボード、JSONステートなど)。
2つのパターン:
- リポジトリ内のMarkdown (
STATE.mdまたは.claude/内): バージョン管理、シンプル、差分読み可能。ソロまたは小チームに最適 - 外部システム (Linear、GitHub Issues、データベース): リポジトリをまたいで存在、クエリ可能、チーム全体の可視性。複数人が見るプロダクションループに最適
長期実行ループでゴールがずれるリスクには、ステートファイルと高レベルスペック(VISION.md または AGENTS.md)を組み合わせる。ステートはエージェントに「今どこにいるか」を教え、スペックは「どこへ向かうか」を教える。
Step 11: 最小実行可能ループ
4条件テストを通過したなら、派手なものの前に動く最小のループを構築せよ。4つの部品、スワームは不要。
| 部品 | 内容 |
|---|---|
| 1つのオートメーション | ケイデンスで発火し、明確な条件で停止するスケジュール実行 |
| 1つのスキル | エージェントがゼロから再導出するプロジェクトコンテキストを保存するSKILL.md |
| 1つのステートファイル | 何が完了して何が次かを記録するMarkdownファイルまたはLinearボード |
| 1つのゲート | 不正な作業を自動的に失敗させるテスト、型チェック、またはビルド |
順序が重要: まず1つの手動実行を信頼できるものにする → スキルにする → ループに包む → スケジュールする。先に進みすぎると誰も理解しないシステムへの支払いが発生する。
重要な指標: cost per accepted change(受け入れられた変更あたりのコスト)。消費トークンでも、試みたタスク数でもない。受け入れ率が50%を下回っているなら、ループが節約するはずだったレビュー作業をあなたがやっていることになる。
Step 12: ラルフ・ウィグムループ — 静かに失敗するループ
エンジニアのGeoffrey Huntleyが記録したこの失敗パターンは命名された。完了トークンを完了時にだけ出力するはずのエージェントが早期に出力し、ループが半分しか終わっていない仕事で終了する。ハードゲートがなければ、ループは静かに失敗しながら支出し続ける。
ラルフ・ウィグムループが起きる条件:
- 実際の検証器なし(「レビュー」するよう依頼された2番目のエージェントだけで客観的なシグナルなし)
- ソフトな完了条件(「完了」がエージェントの判断で定義されている)
- ハードストップなし(レート制限かあなたが気づくまでループが継続)
修正方法: Step 11のゲート — 客観的に仕事を失敗させられる何か。通過するか失敗するかのテスト、コンパイルするかしないかのビルド、ゼロか非ゼロを返すリンター。
その他の計測された失敗パターン:
- 長いセッションでのゴールドリフト: 各要約ステップは損失が伴い、47ターン目に「Xをしない」という制約が消える → 対策: 毎回読み直す
VISION.md - 自己優先バイアス: コードを書いたエージェントは自分の宿題に甘すぎる → 対策: 作成者の推論にさらされていない別の検証サブエージェント
- エージェントの怠慢: ループが部分完了で「十分完了」と宣言する → 対策: 新鮮なモデルが客観的なストップ条件をチェックする
/goal
Step 13: 理解負債と認知的降伏
ループが良くなるほど鋭くなる失敗パターン。Osmaniのエッセイからの2つの命名されたリスク:
理解負債: ループが書いていないコードをより速くシップするほど、リポジトリの内容と自分の理解の距離が広がる。「痛い請求書」はトークン代ではない。誰もコードを読んでいないシステムをデバッグしなければならない日だ。
認知的降伏: 意見を形成するのをやめて、ループが返すものを何でも受け入れる引力。ループの設計は判断を持ってやれば解決策であり、考えることを避けるためにやれば加速装置だ。同じ行動で逆の結果。
軽減策(技術的でない):
- 差分を読む(ループがシップするものを読まなければ、理解負債を複利で借りている)
- ゲートをスポットチェックする(ゲートを承認したテストが、気にするべき失敗パターンを実際にキャッチするか検証する。ゲートは腐る)
- ループをアーキテクチャ作業から遮断する(小さな、機械的に検証可能な変更に限定する)
- チームメイトとループを設計する(2番目の目がループが永遠に利用し続けるブラインドスポットをキャッチする)
Step 14: セキュリティ税 — 無人ループは無人の攻撃面
無人で動くループは、無人で動く攻撃面でもある。
ループが防御すべき脅威モデル:
- レビューなしでシップされる生成コード: セキュリティチェック(SAST、依存関係監査、シークレットスキャン)を含むゲートなしでは、安全でないコードが自動的にマージされる
- インジェクションベクターとしてのスキル: コミュニティスキルを自動インストールするループは、その説明に潜むプロンプトインジェクションを引き継ぐ。17,022のスキルのうち520がクレデンシャルを漏洩している
- ログ内のクレデンシャル: 長時間実行ループのデバッグログはモニタリングしていないログ全体にシークレットを散らす
- パーミッションスコープクリープ: 読み取り専用パーミッションでテストされたループに便宜のため「たった1つの」書き込みパーミッションが追加され、再監査されない → 30日ごとにパーミッションを再監査する
金銭的損失になるループの失敗パターン
記事がまとめた「やってはいけないこと」リスト:
- 4条件テストなしでループを構築する
- 客観的なゲートなし(「レビュー」するよう依頼された2番目のエージェントはただの楽観主義者)
- 1つのエージェントが書き込みと検証の両方を担当(自己優先バイアス)
- ステートファイルなし(翌日の実行がゼロからリスタート)
- 曖昧なストップ条件(「良く見えたら完了」は機能しない)
- トークン予算上限なし(野心的なループは予想の5〜10倍のトークンを消費する)
- 重い検証ループをコンシューマープランで実行する
- コミュニティスキルの自動インストール(17,022のスキルのうち520がクレデンシャルを漏洩)
- 判断が必要な作業にループを実行する(アーキテクチャ、認証、決済)
- 差分を読まない(複利で積み上がる理解負債)
まとめ:レバレッジが移動した。あなたの仕事も変わった
2年間、エージェントとの作業のレバレッジはプロンプトにあった。より良いプロンプト、より良いコンテキスト、より良いワンショット出力。
その段階は終わりつつある。エージェントが十分に優秀になったことで、次のレバレッジポイントは1フロア上にある:エージェントに何を作業させるか、いつ、どんなゲートで、どの状態が実行間で生き残るかを決めるシステムだ。
しかし、この話の正直なバージョンは「みんながすぐにループを構築すべき」ではない。タスクが繰り返されるまで、検証が自動化されるまで、予算が無駄を吸収できるまで、エージェントにシニアエンジニアのツールが揃うまで、ほとんどの開発者はまだループを必要としない。
1つでも条件を欠かせばループはリターン以上のコストがかかる。
テストを通過したなら、小さく構築せよ。1つのオートメーション、1つのスキル、1つのステートファイル、1つのゲート。手動実行を信頼できるものにして、スキルにして、ループに包み、スケジュールする。順序が重要だ。
ループを構築せよ。エンジニアであり続けよ。
この記事は @0xCodez による「Loop engineering: the 14-step roadmap from prompter to loop designer」をベースに、@jrpj2010 のツイートから着想を得て執筆しました。