概要
ループエンジニアリングは、AIエージェントが1つの目標に向かって計画し、実行し、結果を検査し、失敗原因を反映して再試行する反復構造を設計する方法である。特にソフトウェア開発、データ処理、文書生成、テスト自動化のように結果検証が可能な作業で重要になっている。
この用語は、まだすべての標準文書で固定された学術用語として使われているわけではない。ただし実務的には、プロンプトエンジニアリング、コンテキストエンジニアリング、ハーネスエンジニアリングの次の段階の概念として説明できる。核心は「AIに良い指示を一度与えること」ではなく、「AIが安全な環境の中で目標達成まで反復できるシステムを作ること」である。
AIエンジニアリングの進化:プロンプトからループまで
| 段階 | 核心となる問い | 人間の役割 | AIの役割 | 代表的な成果物 |
|---|---|---|---|---|
| プロンプトエンジニアリング | どのように尋ねるか | 指示文の作成と結果確認 | 単一応答の生成 | 回答、草案、コード片 |
| コンテキストエンジニアリング | どの背景情報を与えるか | 文書、例、ポリシー、データの提供 | 与えられた文脈内での推論 | より一貫した回答、カスタム結果 |
| ハーネスエンジニアリング | どの環境と規則の中で働かせるか | 権限、ツール、手順、安全規則の設計 | 定められた環境内でのツール使用 | 制御されたエージェント作業フロー |
| ループエンジニアリング | 目標達成までどのように反復させるか | 目標、制約、評価基準、中断条件の設定 | 実行、検証、修正、再試行の反復 | 自動改善される作業ループ |
プロンプトエンジニアリング
プロンプトエンジニアリングは、AIから望む結果を得るために、質問、命令、例、出力形式を精巧に作成する方式である。最も基本的な相互作用であり、人間が毎回指示を変えて結果を確認する構造に近い。
コンテキストエンジニアリング
コンテキストエンジニアリングは、モデルが参照する文書、ポリシー、コードベース情報、ユーザーの好み、出力スタイル、過去の会話などを一緒に提供し、より正確な結果を得る方式である。長いコンテキストウィンドウ、検索拡張生成、ファイル添付、コードベースのインデックス化などがこの段階に関連する。
ハーネスエンジニアリング
ハーネスエンジニアリングは、AIがツールを使用し、複数の段階を遂行するときに、どのような手順と制約の中で行動すべきかを設計する。たとえば「コードを修正する前に関連ファイルを読め」、「テストに通らなければマージするな」、「機密情報を含むファイルは閲覧するな」といった規則を環境に組み込む。
ループエンジニアリング
ループエンジニアリングは、ハーネスが作った制御された作業環境の上に反復実行エンジンを載せる方式である。AIエージェントは目標に向かって自ら次の行動を選択し、ツールを使い、結果を評価し、失敗すれば戦略を修正して再実行する。
ループエンジニアリングの核心的定義
ループエンジニアリングは、次の条件を満たすAI作業システム設計として定義できる。
- 人間は最終目標、許容範囲、評価基準、中断条件を決める。
- AIエージェントは目標達成のために作業計画を立てる。
- エージェントはコード実行、テスト、検索、ファイル修正、API呼び出しなど必要なツールを使用する。
- 実行結果が失敗したり不十分だったりすれば、失敗原因を分析し、次の試行を生成する。
- 目標達成、予算超過、反復回数超過、危険信号の発生、人間の承認が必要など、中断条件が満たされればループを止める。
つまり、ループエンジニアリングの本質は自動化されたフィードバック周期である。
なぜループエンジニアリングが必要なのか
従来のAI利用方式では、人間がボトルネックになりやすい。人間がプロンプトを書き、結果を確認し、再び修正を依頼し、テストを実行し、エラーメッセージをコピーして再入力しなければならないためである。
ループエンジニアリングは、この反復過程をシステム化する。たとえば開発作業では、AIが次の流れを自動で反復できる。
- 要件を読み、作業計画を立てる。
- 別の作業空間でコードを修正する。
- テストとリンターを実行する。
- エラーログを分析する。
- 修正プロンプトまたは次の行動を自ら作る。
- 再びコードを修正する。
- 合格基準を満たせば結果を整理し、レビューを依頼する。
この構造では、人間がすべての中間段階を直接指示しなくてもよい。代わりに人間は、目標設定、承認、例外処理、最終的な品質判断に集中する。
ループエンジニアリングの6つの必須構成要素
1. オートメーション:ループを実際に回すエンジン
オートメーションは、ループが人の手動入力なしに実行されるようにする基盤である。作業キュー、スケジューラー、CI/CDパイプライン、エージェントランタイム、イベントトリガー、再試行ポリシーなどがここに含まれる。
オートメーションが担当する機能は次のとおりである。
- 作業開始条件の検知
- エージェント実行
- ツール呼び出しと結果収集
- テストまたは検証段階の実行
- 失敗時の再試行
- ログ保存
- 人間の承認段階への移行
- コスト、時間、反復回数の制限
オートメーションは単なる「自動実行」ではなく、ループのライフサイクルを管理する制御装置である。
2. ワークツリー:安全な作業空間
ワークツリーは、AIがメインコードや実際の運用データを直接損なわないように提供する、隔離された作業空間である。Gitのworktree機能のように、同じリポジトリで別の作業ディレクトリを作り、独立して修正しテストできる方式が代表的である。
ワークツリーが重要な理由は次のとおりである。
- メインブランチまたは運用環境を保護する。
- 複数のエージェントが並列で互いに異なる作業を遂行できる。
- 失敗した試行を簡単に破棄できる。
- 変更事項をdiffでレビューできる。
- テストに通った変更だけをマージ対象にできる。
ループエンジニアリングにおいて、ワークツリーはAIの実験空間である。エージェントが大胆に修正してもシステム全体が安全に維持されるためには、作業空間の隔離が必要である。
3. スキル:作業基準となる指針書
スキルは、AIが特定の作業を遂行するときに従うべき指針、手順、チェックリスト、コーディング規則、設計原則、例の集まりである。人が新入チームメンバーにオンボーディング文書を提供するように、エージェントにも業務遂行基準が必要である。
スキル文書には次の情報を含めることができる。
- プロジェクト構造と核心モジュールの説明
- コードスタイルと命名規則
- テスト作成方式
- API設計原則
- セキュリティ上の禁止事項
- デプロイ前チェックリスト
- 失敗したときに確認すべきログの場所
- 結果報告形式
スキルがなければ、エージェントは毎回一般的な推論に依存することになる。反対に、よく書かれたスキルは、組織の作業方式をAIに再利用可能な形で伝える。
4. プラグインおよびコネクター:必要なツールへのアクセス
プラグインとコネクターは、AIが作業中に必要なツールとシステムへアクセスできるようにする。たとえばコードリポジトリ、イシュートラッカー、検索システム、データベース、文書リポジトリ、テスト実行器、ブラウザー、デプロイツール、通知システムなどが接続対象になり得る。
ツール接続が必要な理由は明確である。エージェントが「テストを実行すべきだ」と判断したのにテスト実行権限がなければ、ループは止まる。「関連文書を確認すべきだ」と判断したのに文書へのアクセス経路がなければ、推測で答える可能性が高くなる。
良いコネクター設計には次の原則が必要である。
- 最小権限の原則を適用する。
- 読み取り権限と書き込み権限を分離する。
- 危険な作業には承認段階を置く。
- すべてのツール呼び出しをログとして残す。
- 機密情報へのアクセスは別途ポリシーで制限する。
- 失敗したツール呼び出しもループ状態に記録する。
5. サブエージェント:役割を分けたAI作業者
サブエージェントは、1つのメインエージェントがすべてを処理するのではなく、役割別のエージェントが協業するようにする構造である。人間の開発チームのように、設計、バックエンド、フロントエンド、QA、セキュリティレビュー、文書化の役割を分離できる。
| 役割 | 主な責任 | 出力例 |
|---|---|---|
| プランナーエージェント | 要件分析、作業分解、優先順位設定 | 実装計画、作業一覧 |
| バックエンドエージェント | API、データモデル、サーバーロジック実装 | コード変更、テスト |
| フロントエンドエージェント | UI、状態管理、アクセシビリティ改善 | コンポーネント修正、画面テスト |
| QAエージェント | テスト実行、バグ再現、回帰検証 | 失敗ログ、再現手順 |
| レビューエージェント | コード品質、セキュリティ、スタイル点検 | レビューコメント、リスク一覧 |
| 文書エージェント | 変更事項の説明、使い方の作成 | リリースノート、利用ガイド |
サブエージェント構造の利点は、専門性を分けられる点である。しかし、エージェント間の衝突、重複作業、責任の不明確さも生じ得るため、調整役と明確な作業契約が必要である。
6. メモリ:中断と再開を可能にする状態保存
メモリは、ループの現在状態、過去の試行、失敗原因、決定理由、ファイル変更、テスト結果、次の行動計画を保存する機能である。ループが長くなるほど、メモリは必須に近くなる。
メモリは大きく2種類に分けられる。
- 短期メモリ:現在の作業セッションの計画、ログ、ツール呼び出し結果、エラーメッセージ
- 長期メモリ:プロジェクト規則、過去の解決方式、繰り返されるバグパターン、ユーザーの好み、チーム標準
メモリがなければ、エージェントは同じミスを繰り返したり、途中で止まった作業を最初からやり直したりする可能性がある。反対に、よく設計されたメモリはループを安定して継続し、コストを減らす。
ループエンジニアリングの基本アーキテクチャ
ループエンジニアリングシステムは通常、次のような構造を持つ。
- 目標入力:人間が解決すべき問題と完了基準を提供する。
- コンテキスト収集:コード、文書、イシュー、ログ、ポリシーを読む。
- 計画策定:エージェントが作業を小さな段階に分ける。
- 実行:コード修正、ファイル生成、データ処理、ツール呼び出しを行う。
- 検証:テスト、リント、型検査、ポリシー検査、レビューを実行する。
- 評価:目標基準を満たしたか判断する。
- 反復:失敗すれば原因を分析し、新しい計画に戻る。
- 終了:成功、制限超過、危険検知、人間の承認が必要のいずれかで止まる。
- 報告:変更事項、検証結果、残るリスク、次の推奨措置を要約する。
この流れは、「考えるだけを反復するAI」ではなく、「実際の環境で行動し、結果を検証するAI」を前提とする。
ハーネスエンジニアリングとループエンジニアリングの違い
| 区分 | ハーネスエンジニアリング | ループエンジニアリング |
|---|---|---|
| 目的 | AIが安全に働く環境を作る | AIが目標達成まで反復するようにする |
| 中心要素 | 規則、権限、ツール、手順、制限 | 反復実行、フィードバック、再試行、状態保存 |
| 失敗対応 | 危険な行動を防ぐか承認を求める | 失敗原因を反映して次の試行を生成 |
| 人間の介入 | ポリシーと環境設計に集中 | 目標設定、例外処理、最終承認に集中 |
| 比喩 | 作業場と安全装備 | 作業場を動かし続ける生産ライン |
ハーネスなしでループを作ると、エージェントが過剰な権限で危険な行動を取る可能性がある。ループなしでハーネスだけを作ると、安全な環境はあるが生産性が制限される。実務では、この2つのアプローチが共に必要である。