AGENT LOOP をやさしく理解する
ループエンジニアリング
良い Agent Loop は、AI を永遠に働かせる仕組みではありません。目標を知り、小さな一歩を実行し、現実の証拠を読み、進捗を覚え、正しい理由で停止できる境界付きのシステムです。
システム全体
毎ターン指示する人から、システムを設計する人へ
設計された Loop がなければ、人は目標、Agent、テスト結果、次の Prompt の間で情報を運び続けます。AI が優秀でも、結果に気づき、問題を判断し、次の手を決める人がいなければ進みません。
Loop Engineering は、その反復調整をシステムへ外部化します。仕事を起動し、限定された試行を準備し、証拠を読み、状態を保存し、安全な経路を選びます。人は外側へ移り、契約、重大な結果の承認、失敗した Loop の改善を担当します。
まず覚える3つ
- 自動化は無人化ではない
人が離れるのは反復的な経路判断であり、責任ではありません。
- Loop はモデルの外側にある
Prompt とツール呼び出しは、より大きな運用システムの一部です。
- 停止も設計対象
成功、ブロック、引き継ぎ、予算切れはすべて正しい終点です。
設計ポイント 01
最小限で役立つ Loop から理解する
Loop とは、観察した結果が次の行動を変えることです。Agent は現在の状態を読み、行動し、環境を観察し、計画を調整し、最後に経路を判断します。
設計の仕事はこの循環の周囲にあります。目標を観測可能にし、行動を限定し、質の高いフィードバックを戻し、戻り矢印が無限再試行にならないようにします。
最小構造の3要素
- 目標
「改善し続ける」ではなく、比較できる結果を定めます。
- 現実のフィードバック
次の行動を変えられる事実を環境から受け取ります。
- 経路
各周回を再試行、停止、ブロック、引き継ぎ、取消へ結びます。
設計ポイント 02
意図を実行可能な契約に変える
「チェックアウトをもっと良くする」は Agent に自由を与えますが、制御側には判断材料を与えません。最初の試行前に、意図をシステムが読める項目へ変換します。
実用的な実行契約には、目標、範囲、非目標、許可ツール、証拠、予算、停止条件、引き継ぎ先が必要です。法的な長文ではなく、途中で方針を発明せずに次の経路を選べる精度が重要です。
迷走を防ぐ契約項目
- 範囲と非目標
変えてよいものと、触れてはいけないものを両方書きます。
- 証拠と権限
成功を何で証明し、現実世界へどこまで作用できるかを定めます。
- 予算と引き継ぎ
試行、時間、Token、並列数を制限し、次の責任者を決めます。
設計ポイント 03
1回の試行には、限定された仕事を1つだけ任せる
長く動く Loop でも、1つのコンテキストウィンドウに全プロジェクトを解かせてはいけません。1回の試行は、狭い仮説を調べ、小さくできれば可逆な変更を行い、宣言した検査を実行して、学んだ事実を残します。
失敗したときも、価値はコードだけではありません。失敗テスト、ログ、否定された仮説、費用、残る不確実性が次の試行の良い入力になります。Loop はこの差分で収束し、同じことを繰り返しません。
限定された試行が守るもの
- コンテキスト品質
仕事が小さいほど、関係する事実を考える余白が残ります。
- 可逆性
小さな diff は確認、取消、証拠との比較が容易です。
- 学習価値
証拠が保存されれば、失敗した試行も前進になります。
設計ポイント 04
完了を感触ではなく、判定にする
言語モデルは、筋の通った自信ある説明を作れても、実際の環境を誤解していることがあります。そのため、実行者の「完了」は主張であり、完了信号ではありません。
独立した証拠には、テストやデータ不変条件のような決定的なものと、別のレビュー担当が Rubric で判断するものがあります。強い Loop は、安価な自動検査、現実的な E2E、人による意図・品質・重大結果の判断を組み合わせます。
証拠は層に分ける
- 決定的な検査
テスト、型、不変条件、ポリシー規則は高速で再現できます。
- 現実的な観察
ブラウザ、CI、ログ、画像、利用者フローが環境差を見つけます。
- 人の判断
意図、品質感、トレードオフ、不可逆な結果は人の領域です。
設計ポイント 05
記憶を会話の外へ移す
コンテキストウィンドウは作業記憶であり、データベースではありません。長い会話は圧縮され、Agent は再起動し、ファイルは変わり、古い仮説は期限切れになります。進捗が会話にしかなければ、新しい試行は同じ調査や失敗を繰り返します。
永続状態には、現在の目標、範囲、作業キュー、試した方法、テスト出力、重要な判断、残るブロッカー、費用、前回の停止理由を保存します。Git、進捗ファイル、タスクシステム、データベースはいずれも利用できます。
永続状態は会話全文ではない
- 事実を優先
すべての思考ではなく、現在のコード、検査、判断、ブロッカーを保存します。
- 毎回読み直す
古い記憶を信じず、各試行で現在の現実を再読します。
- 復旧できる引き継ぎ
別の Agent や人が会話全体を再構築せず続行できます。
設計ポイント 06
正しい停止経路を複数設計する
危険な Loop は成功しか終点として認めず、それ以外をすべて再試行へ変えます。信頼できる制御側は、停止を経路判断として扱い、実行前に終端状態を命名します。
PASS は宣言した証拠を満たした状態、BLOCKED は外部依存で進めない状態、ESCALATE は権限や判断が不足した状態、BUDGET EXHAUSTED は上限到達、CANCELLED は人やポリシーが意図的に終了した状態です。どれも無言の失敗にしてはいけません。
停止制御が問うこと
- 証拠は合格したか
合格なら証拠をまとめて停止し、同じ仕事を繰り返しません。
- 失敗は次の試行を改善するか
新しく行動可能な情報と予算がある場合だけ再試行します。
- 人が判断すべきか
曖昧さ、高リスク、権限不足、予算切れは人へ引き継ぎます。
設計ポイント 07
部品を1つ外して、Loop の壊れ方を見る
信頼性は複数の部品が協調して生まれます。強いモデルでも、証拠、記憶、権限境界、隔離、停止制御が欠ければ、長期的には補えません。
Loop Engineering を理解する最短の方法は、意図的に機械を壊すことです。各部品の欠落には特徴的な故障パターンがあり、監視と修復の対象になります。
故障には特徴がある
- 症状を見る
同じ試行、早すぎる完了、diff の衝突、レビュー滞留はシステム信号です。
- 欠けた層を直す
すべてを長い Prompt や大きいモデルの問題にしません。
- Trace から改善する
繰り返す事故をテスト、Skill、Hook、Grader、狭い権限へ変えます。
設計ポイント 08
Loop Engineering に含まれる5つのループを見る
「Loop」は複数の時間尺度で使われます。中心ではモデルが1回の実行中にツールを使い、その外で検証側が再試行を導きます。さらに運用 Loop が仕事を見つけてセッションを越えて保存し、改善 Loop が Trace から Harness を変え、最外周の人が目標、権限、リスク、結果を所有します。
これらは置き換えではなく入れ子です。良い Prompt は Loop の中でも必要で、Context の選択も、Harness のツールとガードレールも必要です。Loop Engineering は、それらが時間を通じて現実とどう反復するかを設計します。
各層が答える質問
- Agent は行動できるか
実行 Loop がモデル判断をツールと環境フィードバックへ接続します。
- 仕事は収束するか
検証と運用が、試行を証拠に基づく継続的な進捗へ変えます。
- システムは責任を持てるか
改善と人の Loop が学習、権限、現実の結果を管理します。
設計ポイント 09
実際の CI 修復 Loop を順にたどる
実用的な Loop は巨大なソフトウェア工場である必要はありません。チェックアウトテストの失敗だけに反応する Routine を考えます。CI が起動し、契約が変更範囲を限定し、Agent は隔離されたブランチで作業し、独立検査が経路を決めます。
重要な成果物はパッチだけではありません。何が起動し、何を変え、どの検査を実行し、何が不確かで、予算をどれだけ使い、なぜ停止し、人の承認が必要かを証拠パッケージとして残します。
最初の導入に向く形
- 安定した信号
再現可能な CI 失敗のように、起動と合格条件が明確な仕事を選びます。
- 最小権限
タスクに必要な権限と書き込み範囲だけを与えます。
- レビュー可能な引き渡し
小さな diff、証拠、停止理由、費用、既知の不足で終了します。
最初の LOOP を作る
次のターンを自動化する前の7つの質問
Loop Engineering は、仕事が繰り返され、環境が意味のある証拠を返し、次の行動を限定できる時に有効です。決定的で簡単に script 化できる仕事は script を使い、成功を判定できない仕事や結果を安全に隔離できない仕事は、人を実行経路に残します。
1つの workflow、低い権限、見える Trace、小さな試行上限から始めます。初期実行を密に確認し、システムが何を見て、何を変え、なぜ止まり、何が不確かなのか説明できる時だけ自律性を広げます。
最初の Loop チェックリスト
- どの観測可能な結果で仕事を終了するか?
- Agent は何を変えられ、何が明確に範囲外か?
- Agent の自己報告ではなく、環境から得る証拠は何か?
- 1回の試行は何を行い、試行数、時間、Token、並列数の予算はいくらか?
- 進捗、証拠、判断、ブロッカーを会話の外のどこへ保存するか?
- どの結果を再試行、停止、ブロック、取消、人への引き継ぎへ送るか?
- 繰り返す失敗をテスト、Skill、Hook、Grader、ツール、安全なポリシーへどう変えるか?
設計スケールを混同しない
- Promptこの指示をどう表現するか?
1回の試行内の制御入力。
- Contextモデルが今見るべき情報は何か?
1回の推論に選ぶ高信号情報。
- HarnessAgent は何を安全にできるか?
モデル周囲のツール、権限、sandbox、Hook、記憶、復旧。
- Loop仕事が時間の中でどう進み、止まるか?
起動、契約、試行、証拠、状態、経路、人の境界。
- Factory多数の Loop をどう組織するか?
キュー、隔離、レビュー容量、ガバナンス、全体学習。
Loop Engineering は AI を永遠に働かせることではありません。次の一歩を知り、正しさを証明し、止まるべき時に止まり、失敗をより良い次回へ変える仕組みを設計することです。
用語上の注意:「Loop Engineering」は発展中の AI Agent 実践ラベルであり、単一の正式標準ではありません。本ガイドは 2024–2026 年の Anthropic / Claude、Addy Osmani、OpenAI、LangChain、IBM の公開資料を総合し、単独の絶対的発明者を主張しません。