{"content_id":"oswgmcvvui","slug":"loop-engineering-concept-components","locale":"ja","schema_type":"TechArticle","category":"ai_data","category_name":"AIデータ","title":"ループエンジニアリングの概念と必須構成要素","summary":"ループエンジニアリングは、人間が目標と制約条件を定義すると、AIエージェントが計画、実行、テスト、修正の過程を繰り返して結果を改善するようにする設計方式である。主要な構成要素は、オートメーション、ワークツリー、スキル、プラグインおよびコネクター、サブエージェント、メモリとして整理できる。","author":{"name":"Injoys 編集部","url":"https://injoys.com/ko/about"},"key_points":["ループエンジニアリングは単なるプロンプト作成ではなく、AIが目標達成まで反復実行できる作業システムを設計するアプローチである。","ハーネスエンジニアリングが安全な作業環境とルールを作るなら、ループエンジニアリングはその環境内で反復実行エンジンを作動させる。","安全なループには、隔離された作業空間、明確な指針、ツール連携、役割分担、状態保存、中断条件が必要である。","AI開発自動化において、ループはコード作成、テスト実行、エラー分析、再試行、レビュー依頼を一つの閉じたフィードバックサイクルにまとめる。","ループエンジニアリングは生産性を高められるが、権限管理、コスト制御、品質検証、無限反復防止装置がなければ危険になり得る。"],"content_markdown":"## 概要\n\nループエンジニアリングは、AIエージェントが1つの目標に向かって**計画し、実行し、結果を検査し、失敗原因を反映して再試行する反復構造**を設計する方法である。特にソフトウェア開発、データ処理、文書生成、テスト自動化のように結果検証が可能な作業で重要になっている。\n\nこの用語は、まだすべての標準文書で固定された学術用語として使われているわけではない。ただし実務的には、プロンプトエンジニアリング、コンテキストエンジニアリング、ハーネスエンジニアリングの次の段階の概念として説明できる。核心は「AIに良い指示を一度与えること」ではなく、「AIが安全な環境の中で目標達成まで反復できるシステムを作ること」である。\n\n## AIエンジニアリングの進化：プロンプトからループまで\n\n| 段階 | 核心となる問い | 人間の役割 | AIの役割 | 代表的な成果物 |\n|---|---|---|---|---|\n| プロンプトエンジニアリング | どのように尋ねるか | 指示文の作成と結果確認 | 単一応答の生成 | 回答、草案、コード片 |\n| コンテキストエンジニアリング | どの背景情報を与えるか | 文書、例、ポリシー、データの提供 | 与えられた文脈内での推論 | より一貫した回答、カスタム結果 |\n| ハーネスエンジニアリング | どの環境と規則の中で働かせるか | 権限、ツール、手順、安全規則の設計 | 定められた環境内でのツール使用 | 制御されたエージェント作業フロー |\n| ループエンジニアリング | 目標達成までどのように反復させるか | 目標、制約、評価基準、中断条件の設定 | 実行、検証、修正、再試行の反復 | 自動改善される作業ループ |\n\n### プロンプトエンジニアリング\n\nプロンプトエンジニアリングは、AIから望む結果を得るために、質問、命令、例、出力形式を精巧に作成する方式である。最も基本的な相互作用であり、人間が毎回指示を変えて結果を確認する構造に近い。\n\n### コンテキストエンジニアリング\n\nコンテキストエンジニアリングは、モデルが参照する文書、ポリシー、コードベース情報、ユーザーの好み、出力スタイル、過去の会話などを一緒に提供し、より正確な結果を得る方式である。長いコンテキストウィンドウ、検索拡張生成、ファイル添付、コードベースのインデックス化などがこの段階に関連する。\n\n### ハーネスエンジニアリング\n\nハーネスエンジニアリングは、AIがツールを使用し、複数の段階を遂行するときに、**どのような手順と制約の中で行動すべきか**を設計する。たとえば「コードを修正する前に関連ファイルを読め」、「テストに通らなければマージするな」、「機密情報を含むファイルは閲覧するな」といった規則を環境に組み込む。\n\n### ループエンジニアリング\n\nループエンジニアリングは、ハーネスが作った制御された作業環境の上に**反復実行エンジン**を載せる方式である。AIエージェントは目標に向かって自ら次の行動を選択し、ツールを使い、結果を評価し、失敗すれば戦略を修正して再実行する。\n\n## ループエンジニアリングの核心的定義\n\nループエンジニアリングは、次の条件を満たすAI作業システム設計として定義できる。\n\n- 人間は最終目標、許容範囲、評価基準、中断条件を決める。\n- AIエージェントは目標達成のために作業計画を立てる。\n- エージェントはコード実行、テスト、検索、ファイル修正、API呼び出しなど必要なツールを使用する。\n- 実行結果が失敗したり不十分だったりすれば、失敗原因を分析し、次の試行を生成する。\n- 目標達成、予算超過、反復回数超過、危険信号の発生、人間の承認が必要など、中断条件が満たされればループを止める。\n\nつまり、ループエンジニアリングの本質は**自動化されたフィードバック周期**である。\n\n## なぜループエンジニアリングが必要なのか\n\n従来のAI利用方式では、人間がボトルネックになりやすい。人間がプロンプトを書き、結果を確認し、再び修正を依頼し、テストを実行し、エラーメッセージをコピーして再入力しなければならないためである。\n\nループエンジニアリングは、この反復過程をシステム化する。たとえば開発作業では、AIが次の流れを自動で反復できる。\n\n1. 要件を読み、作業計画を立てる。\n2. 別の作業空間でコードを修正する。\n3. テストとリンターを実行する。\n4. エラーログを分析する。\n5. 修正プロンプトまたは次の行動を自ら作る。\n6. 再びコードを修正する。\n7. 合格基準を満たせば結果を整理し、レビューを依頼する。\n\nこの構造では、人間がすべての中間段階を直接指示しなくてもよい。代わりに人間は、目標設定、承認、例外処理、最終的な品質判断に集中する。\n\n## ループエンジニアリングの6つの必須構成要素\n\n### 1. オートメーション：ループを実際に回すエンジン\n\nオートメーションは、ループが人の手動入力なしに実行されるようにする基盤である。作業キュー、スケジューラー、CI/CDパイプライン、エージェントランタイム、イベントトリガー、再試行ポリシーなどがここに含まれる。\n\nオートメーションが担当する機能は次のとおりである。\n\n- 作業開始条件の検知\n- エージェント実行\n- ツール呼び出しと結果収集\n- テストまたは検証段階の実行\n- 失敗時の再試行\n- ログ保存\n- 人間の承認段階への移行\n- コスト、時間、反復回数の制限\n\nオートメーションは単なる「自動実行」ではなく、ループのライフサイクルを管理する制御装置である。\n\n### 2. ワークツリー：安全な作業空間\n\nワークツリーは、AIがメインコードや実際の運用データを直接損なわないように提供する、隔離された作業空間である。Gitの`worktree`機能のように、同じリポジトリで別の作業ディレクトリを作り、独立して修正しテストできる方式が代表的である。\n\nワークツリーが重要な理由は次のとおりである。\n\n- メインブランチまたは運用環境を保護する。\n- 複数のエージェントが並列で互いに異なる作業を遂行できる。\n- 失敗した試行を簡単に破棄できる。\n- 変更事項をdiffでレビューできる。\n- テストに通った変更だけをマージ対象にできる。\n\nループエンジニアリングにおいて、ワークツリーはAIの実験空間である。エージェントが大胆に修正してもシステム全体が安全に維持されるためには、作業空間の隔離が必要である。\n\n### 3. スキル：作業基準となる指針書\n\nスキルは、AIが特定の作業を遂行するときに従うべき指針、手順、チェックリスト、コーディング規則、設計原則、例の集まりである。人が新入チームメンバーにオンボーディング文書を提供するように、エージェントにも業務遂行基準が必要である。\n\nスキル文書には次の情報を含めることができる。\n\n- プロジェクト構造と核心モジュールの説明\n- コードスタイルと命名規則\n- テスト作成方式\n- API設計原則\n- セキュリティ上の禁止事項\n- デプロイ前チェックリスト\n- 失敗したときに確認すべきログの場所\n- 結果報告形式\n\nスキルがなければ、エージェントは毎回一般的な推論に依存することになる。反対に、よく書かれたスキルは、組織の作業方式をAIに再利用可能な形で伝える。\n\n### 4. プラグインおよびコネクター：必要なツールへのアクセス\n\nプラグインとコネクターは、AIが作業中に必要なツールとシステムへアクセスできるようにする。たとえばコードリポジトリ、イシュートラッカー、検索システム、データベース、文書リポジトリ、テスト実行器、ブラウザー、デプロイツール、通知システムなどが接続対象になり得る。\n\nツール接続が必要な理由は明確である。エージェントが「テストを実行すべきだ」と判断したのにテスト実行権限がなければ、ループは止まる。「関連文書を確認すべきだ」と判断したのに文書へのアクセス経路がなければ、推測で答える可能性が高くなる。\n\n良いコネクター設計には次の原則が必要である。\n\n- 最小権限の原則を適用する。\n- 読み取り権限と書き込み権限を分離する。\n- 危険な作業には承認段階を置く。\n- すべてのツール呼び出しをログとして残す。\n- 機密情報へのアクセスは別途ポリシーで制限する。\n- 失敗したツール呼び出しもループ状態に記録する。\n\n### 5. サブエージェント：役割を分けたAI作業者\n\nサブエージェントは、1つのメインエージェントがすべてを処理するのではなく、役割別のエージェントが協業するようにする構造である。人間の開発チームのように、設計、バックエンド、フロントエンド、QA、セキュリティレビュー、文書化の役割を分離できる。\n\n| 役割 | 主な責任 | 出力例 |\n|---|---|---|\n| プランナーエージェント | 要件分析、作業分解、優先順位設定 | 実装計画、作業一覧 |\n| バックエンドエージェント | API、データモデル、サーバーロジック実装 | コード変更、テスト |\n| フロントエンドエージェント | UI、状態管理、アクセシビリティ改善 | コンポーネント修正、画面テスト |\n| QAエージェント | テスト実行、バグ再現、回帰検証 | 失敗ログ、再現手順 |\n| レビューエージェント | コード品質、セキュリティ、スタイル点検 | レビューコメント、リスク一覧 |\n| 文書エージェント | 変更事項の説明、使い方の作成 | リリースノート、利用ガイド |\n\nサブエージェント構造の利点は、専門性を分けられる点である。しかし、エージェント間の衝突、重複作業、責任の不明確さも生じ得るため、調整役と明確な作業契約が必要である。\n\n### 6. メモリ：中断と再開を可能にする状態保存\n\nメモリは、ループの現在状態、過去の試行、失敗原因、決定理由、ファイル変更、テスト結果、次の行動計画を保存する機能である。ループが長くなるほど、メモリは必須に近くなる。\n\nメモリは大きく2種類に分けられる。\n\n- 短期メモリ：現在の作業セッションの計画、ログ、ツール呼び出し結果、エラーメッセージ\n- 長期メモリ：プロジェクト規則、過去の解決方式、繰り返されるバグパターン、ユーザーの好み、チーム標準\n\nメモリがなければ、エージェントは同じミスを繰り返したり、途中で止まった作業を最初からやり直したりする可能性がある。反対に、よく設計されたメモリはループを安定して継続し、コストを減らす。\n\n## ループエンジニアリングの基本アーキテクチャ\n\nループエンジニアリングシステムは通常、次のような構造を持つ。\n\n1. 目標入力：人間が解決すべき問題と完了基準を提供する。\n2. コンテキスト収集：コード、文書、イシュー、ログ、ポリシーを読む。\n3. 計画策定：エージェントが作業を小さな段階に分ける。\n4. 実行：コード修正、ファイル生成、データ処理、ツール呼び出しを行う。\n5. 検証：テスト、リント、型検査、ポリシー検査、レビューを実行する。\n6. 評価：目標基準を満たしたか判断する。\n7. 反復：失敗すれば原因を分析し、新しい計画に戻る。\n8. 終了：成功、制限超過、危険検知、人間の承認が必要のいずれかで止まる。\n9. 報告：変更事項、検証結果、残るリスク、次の推奨措置を要約する。\n\nこの流れは、「考えるだけを反復するAI」ではなく、「実際の環境で行動し、結果を検証するAI」を前提とする。\n\n## ハーネスエンジニアリングとループエンジニアリングの違い\n\n| 区分 | ハーネスエンジニアリング | ループエンジニアリング |\n|---|---|---|\n| 目的 | AIが安全に働く環境を作る | AIが目標達成まで反復するようにする |\n| 中心要素 | 規則、権限、ツール、手順、制限 | 反復実行、フィードバック、再試行、状態保存 |\n| 失敗対応 | 危険な行動を防ぐか承認を求める | 失敗原因を反映して次の試行を生成 |\n| 人間の介入 | ポリシーと環境設計に集中 | 目標設定、例外処理、最終承認に集中 |\n| 比喩 | 作業場と安全装備 | 作業場を動かし続ける生産ライン |\n\nハーネスなしでループを作ると、エージェントが過剰な権限で危険な行動を取る可能性がある。ループなしでハーネスだけを作ると、安全な環境はあるが生産性が制限される。実務では、この2つのアプローチが共に必要である。\n\n## 適用例：AIコーディングエージェントのループ\n\nソフトウェア開発において、ループエンジニアリングは比較的理解しやすい。たとえば「ログインエラーを修正せよ」という目標が与えられたとしよう。\n\n### 入力\n\n- 目標：特定条件でログイン失敗が発生するバグの修正\n- 完了基準：関連テストの通過、既存ログイン機能の回帰なし、変更要約の提出\n- 制約：認証トークン保存方式の変更禁止、ユーザーデータベースの直接修正禁止\n\n### ループ実行\n\n1. エージェントがイシュー説明と関連ファイルを読む。\n2. ワークツリーで別ブランチまたは作業ディレクトリを作る。\n3. 失敗テストを再現する。\n4. エラーログと関連コードを分析する。\n5. 修正案を適用する。\n6. テストを実行する。\n7. 失敗すれば原因を要約し、別の修正案を試す。\n8. 成功すればdiff、テスト結果、リスク要素を整理する。\n9. 人間のレビュアーにマージ承認を求める。\n\nこの例で人間は、毎回エラーログをコピーして新しいプロンプトを作成しない。代わりにループが反復作業を遂行し、人間は最終判断と責任が必要な段階に介入する。\n\n## 設計時に必ず決めるべき制御変数\n\nループエンジニアリングは無限反復を前提に説明されることもあるが、実際のシステムで「無限」は危険である。安全なループには明確な制限が必要である。\n\n| 制御変数 | 説明 | 例 |\n|---|---|---|\n| 最大反復回数 | 同じ作業を何回まで再試行するかを制限 | 最大5回再試行 |\n| 時間予算 | ループ実行時間を制限 | 30分超過時に中断 |\n| コスト予算 | モデル呼び出し、ツール使用、インフラコストを制限 | 作業あたり10ドル以下 |\n| 権限範囲 | 読み取り、書き込み、実行、デプロイ権限を分離 | 運用DBへの書き込み禁止 |\n| 承認地点 | 人間のレビューが必要な瞬間を定義 | デプロイ、削除、決済、外部送信前の承認 |\n| 成功基準 | 完了と判断する客観的条件 | テスト通過、正確度基準の充足 |\n| 失敗基準 | 中断すべき危険信号 | 同じエラー3回反復、セキュリティ警告発生 |\n\n良いループは多く回るループではなく、**適切な瞬間に止まることを知っているループ**である。\n\n## 品質評価基準\n\nループエンジニアリングシステムを評価するときは、単に「AIが答えを出したか」ではなく、次の指標を合わせて見るべきである。\n\n- 目標達成率：与えられた作業を成功裏に完了した割合\n- 初回成功までにかかった反復回数：不要な再試行の有無\n- テスト通過率：自動検証基準の充足有無\n- 回帰発生率：既存機能を壊した割合\n- 人間の介入回数：自動化が実際にボトルネックを減らしたか\n- コスト対効果：モデル呼び出しコストとインフラコストに対する成果\n- 監査可能性：どのツールをなぜ呼び出したか追跡可能か\n- 安全違反率：禁止されたファイル、API、データにアクセスしたか\n- 再現可能性：同じ条件で類似した結果が出るか\n\n特にソフトウェア開発では、テスト通過だけでは十分でない場合がある。セキュリティ、性能、保守性、ユーザー体験も合わせてレビューすべきである。\n\n## よくある失敗パターン\n\n### 1. 成功基準が曖昧な場合\n\n「良くして」のように完了基準が不明確だと、ループは止まる根拠を見つけにくい。「単体テスト3件追加、既存テストすべて通過、応答時間200ms以下を維持」のように検証可能な基準が必要である。\n\n### 2. ツール権限が過剰な場合\n\nエージェントに運用データベースの書き込み、デプロイ、外部メール送信のような権限を無制限に与えると、小さな判断ミスが大きな事故につながり得る。危険なツールは承認ベースで分離すべきである。\n\n### 3. メモリがない、または汚染されている場合\n\n状態保存がなければ同じ失敗を繰り返す。反対に誤ったメモリが蓄積されると、誤った前提を継続して再利用する可能性がある。メモリには検証済みの事実、推定、失敗記録を区分して保存するのがよい。\n\n### 4. サブエージェント間で責任が重なる場合\n\n複数のエージェントが同じファイルを同時に修正すると衝突が発生し得る。作業範囲、ファイル所有権、レビュー順序、マージ規則を決めるべきである。\n\n### 5. コスト制限がない場合\n\nループは反復構造であるため、モデル呼び出しとツール実行コストが急速に増加し得る。反復回数、トークン使用量、外部API呼び出し数、実行時間を制限すべきである。\n\n## 実装チェックリスト\n\nループエンジニアリングを実際のプロジェクトに適用するときは、次の順序で点検するのがよい。\n\n### 目標と評価基準\n\n- 解決すべき問題を1文で定義したか？\n- 完了基準は自動検証可能か？\n- 人間の承認が必要な基準を区別したか？\n- 失敗時の中断条件があるか？\n\n### 作業環境\n\n- メインコードと分離されたワークツリーがあるか？\n- テスト実行環境は再現可能か？\n- 秘密鍵と機密情報へのアクセスを制限したか？\n- 変更事項をdiffで追跡できるか？\n\n### 指針とコンテキスト\n\n- プロジェクト構造の説明があるか？\n- コーディング規則とテスト規則が文書化されているか？\n- 禁止行動とセキュリティ規則は明確か？\n- エージェントが参照する文書は最新か？\n\n### ツールと権限\n\n- 必要なツールが事前に接続されているか？\n- ツール別の権限は最小化されているか？\n- 危険なツール呼び出しに承認段階があるか？\n- すべてのツール呼び出しログが残るか？\n\n### ループ制御\n\n- 最大反復回数と時間制限があるか？\n- コスト制限があるか？\n- 同じエラーの反復を検知するか？\n- 中間状態を保存して再開できるか？\n\n## ループエンジニアリングに適した作業と適さない作業\n\n| 作業タイプ | 適合度 | 理由 |\n|---|---:|---|\n| テストがあるコード修正 | 高 | 実行結果で成功可否を判断しやすい |\n| リント、フォーマット、マイグレーション | 高 | 反復的で検証基準が明確である |\n| 文書草案の生成と検収 | 中 | 自動化可能だが事実検証が必要である |\n| データ精製 | 中〜高 | 規則とサンプル検証があれば効果的である |\n| セキュリティパッチ | 中 | 自動化可能だが専門家レビューが必要である |\n| 法的判断、医療診断、投資助言 | 低 | 責任と専門性、規制リスクが大きい |\n| 運用システムの直接変更 | 低 | 承認のない自動ループは事故リスクが大きい |\n\nループエンジニアリングは「検証可能な作業」で最も強い。検証基準が不明確だったり責任の大きい意思決定だったりする場合は、人間の専門家による制御が必須である。\n\n## 実務適用ロードマップ\n\n### 1段階：単一作業ループを作る\n\nまず小さな作業1つを対象に始める。たとえばテスト失敗を直すループ、文書リンクエラーを修正するループ、型エラーを解決するループのように範囲を狭める。\n\n### 2段階：ハーネスを固定する\n\n作業前確認、修正可能ファイル、実行可能なコマンド、禁止行動、承認条件を文書化する。この段階が弱いと、ループが大きくなるほどリスクも一緒に大きくなる。\n\n### 3段階：ワークツリーとログ体系を作る\n\nすべての変更は隔離された空間で行い、ツール呼び出しとテスト結果を記録する。失敗した試行も重要なデータである。\n\n### 4段階：スキル文書化\n\n反復的に必要な知識をスキルにする。「このプロジェクトでテストを追加する方法」、「API変更時のチェックリスト」、「フロントエンドアクセシビリティ基準」のような文書が有用である。\n\n### 5段階：サブエージェントを分離する\n\n作業が複雑になれば、プランナー、実装者、QA、レビュアーを分離する。最初から過度に多くのエージェントを作るより、ボトルネックが確認された役割から分けるのがよい。\n\n### 6段階：メモリと評価指標を改善する\n\n反復失敗原因、成功パターン、コスト、人間の介入回数を記録する。このデータを基に、ループの効率と安全性を改善する。\n\n## 結論\n\nループエンジニアリングは、AIエージェントを単純な応答生成器から**目標志向の作業遂行システム**へ変える設計アプローチである。核心はAIにむやみに自律性を与えることではなく、ハーネスエンジニアリングで制御された環境を作り、その中でオートメーション、ワークツリー、スキル、プラグインおよびコネクター、サブエージェント、メモリを結合して安全な反復構造を作ることである。\n\nよく設計されたループは、人間の反復指示の負担を減らし、作業速度を高める。しかし安全装置のないループは、コスト増加、品質低下、権限の誤用・乱用、無限反復の問題を生み得る。したがってループエンジニアリングの核心原則は、「自動化しつつ、検証可能にし、必要な瞬間には必ず止まるようにすること」である。","content_html":"\u003ch2\u003e\n\u003ca href=\"#%E6%A6%82%E8%A6%81\" class=\"anchor\" id=\"概要\"\u003e\u003c/a\u003e概要\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングは、AIエージェントが1つの目標に向かって\u003cstrong\u003e計画し、実行し、結果を検査し、失敗原因を反映して再試行する反復構造\u003c/strong\u003eを設計する方法である。特にソフトウェア開発、データ処理、文書生成、テスト自動化のように結果検証が可能な作業で重要になっている。\u003c/p\u003e\n\u003cp\u003eこの用語は、まだすべての標準文書で固定された学術用語として使われているわけではない。ただし実務的には、プロンプトエンジニアリング、コンテキストエンジニアリング、ハーネスエンジニアリングの次の段階の概念として説明できる。核心は「AIに良い指示を一度与えること」ではなく、「AIが安全な環境の中で目標達成まで反復できるシステムを作ること」である。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#ai%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E9%80%B2%E5%8C%96%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%81%8B%E3%82%89%E3%83%AB%E3%83%BC%E3%83%97%E3%81%BE%E3%81%A7\" class=\"anchor\" id=\"aiエンジニアリングの進化プロンプトからループまで\"\u003e\u003c/a\u003eAIエンジニアリングの進化：プロンプトからループまで\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e段階\u003c/th\u003e\n\u003cth\u003e核心となる問い\u003c/th\u003e\n\u003cth\u003e人間の役割\u003c/th\u003e\n\u003cth\u003eAIの役割\u003c/th\u003e\n\u003cth\u003e代表的な成果物\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"段階\"\u003eプロンプトエンジニアリング\u003c/td\u003e\n\u003ctd data-label=\"核心となる問い\"\u003eどのように尋ねるか\u003c/td\u003e\n\u003ctd data-label=\"人間の役割\"\u003e指示文の作成と結果確認\u003c/td\u003e\n\u003ctd data-label=\"AIの役割\"\u003e単一応答の生成\u003c/td\u003e\n\u003ctd data-label=\"代表的な成果物\"\u003e回答、草案、コード片\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"段階\"\u003eコンテキストエンジニアリング\u003c/td\u003e\n\u003ctd data-label=\"核心となる問い\"\u003eどの背景情報を与えるか\u003c/td\u003e\n\u003ctd data-label=\"人間の役割\"\u003e文書、例、ポリシー、データの提供\u003c/td\u003e\n\u003ctd data-label=\"AIの役割\"\u003e与えられた文脈内での推論\u003c/td\u003e\n\u003ctd data-label=\"代表的な成果物\"\u003eより一貫した回答、カスタム結果\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"段階\"\u003eハーネスエンジニアリング\u003c/td\u003e\n\u003ctd data-label=\"核心となる問い\"\u003eどの環境と規則の中で働かせるか\u003c/td\u003e\n\u003ctd data-label=\"人間の役割\"\u003e権限、ツール、手順、安全規則の設計\u003c/td\u003e\n\u003ctd data-label=\"AIの役割\"\u003e定められた環境内でのツール使用\u003c/td\u003e\n\u003ctd data-label=\"代表的な成果物\"\u003e制御されたエージェント作業フロー\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"段階\"\u003eループエンジニアリング\u003c/td\u003e\n\u003ctd data-label=\"核心となる問い\"\u003e目標達成までどのように反復させるか\u003c/td\u003e\n\u003ctd data-label=\"人間の役割\"\u003e目標、制約、評価基準、中断条件の設定\u003c/td\u003e\n\u003ctd data-label=\"AIの役割\"\u003e実行、検証、修正、再試行の反復\u003c/td\u003e\n\u003ctd data-label=\"代表的な成果物\"\u003e自動改善される作業ループ\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%83%97%E3%83%AD%E3%83%B3%E3%83%97%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0\" class=\"anchor\" id=\"プロンプトエンジニアリング\"\u003e\u003c/a\u003eプロンプトエンジニアリング\u003c/h3\u003e\n\u003cp\u003eプロンプトエンジニアリングは、AIから望む結果を得るために、質問、命令、例、出力形式を精巧に作成する方式である。最も基本的な相互作用であり、人間が毎回指示を変えて結果を確認する構造に近い。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0\" class=\"anchor\" id=\"コンテキストエンジニアリング\"\u003e\u003c/a\u003eコンテキストエンジニアリング\u003c/h3\u003e\n\u003cp\u003eコンテキストエンジニアリングは、モデルが参照する文書、ポリシー、コードベース情報、ユーザーの好み、出力スタイル、過去の会話などを一緒に提供し、より正確な結果を得る方式である。長いコンテキストウィンドウ、検索拡張生成、ファイル添付、コードベースのインデックス化などがこの段階に関連する。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%83%8F%E3%83%BC%E3%83%8D%E3%82%B9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0\" class=\"anchor\" id=\"ハーネスエンジニアリング\"\u003e\u003c/a\u003eハーネスエンジニアリング\u003c/h3\u003e\n\u003cp\u003eハーネスエンジニアリングは、AIがツールを使用し、複数の段階を遂行するときに、\u003cstrong\u003eどのような手順と制約の中で行動すべきか\u003c/strong\u003eを設計する。たとえば「コードを修正する前に関連ファイルを読め」、「テストに通らなければマージするな」、「機密情報を含むファイルは閲覧するな」といった規則を環境に組み込む。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0\" class=\"anchor\" id=\"ループエンジニアリング\"\u003e\u003c/a\u003eループエンジニアリング\u003c/h3\u003e\n\u003cp\u003eループエンジニアリングは、ハーネスが作った制御された作業環境の上に\u003cstrong\u003e反復実行エンジン\u003c/strong\u003eを載せる方式である。AIエージェントは目標に向かって自ら次の行動を選択し、ツールを使い、結果を評価し、失敗すれば戦略を修正して再実行する。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E6%A0%B8%E5%BF%83%E7%9A%84%E5%AE%9A%E7%BE%A9\" class=\"anchor\" id=\"ループエンジニアリングの核心的定義\"\u003e\u003c/a\u003eループエンジニアリングの核心的定義\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングは、次の条件を満たすAI作業システム設計として定義できる。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e人間は最終目標、許容範囲、評価基準、中断条件を決める。\u003c/li\u003e\n\u003cli\u003eAIエージェントは目標達成のために作業計画を立てる。\u003c/li\u003e\n\u003cli\u003eエージェントはコード実行、テスト、検索、ファイル修正、API呼び出しなど必要なツールを使用する。\u003c/li\u003e\n\u003cli\u003e実行結果が失敗したり不十分だったりすれば、失敗原因を分析し、次の試行を生成する。\u003c/li\u003e\n\u003cli\u003e目標達成、予算超過、反復回数超過、危険信号の発生、人間の承認が必要など、中断条件が満たされればループを止める。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eつまり、ループエンジニアリングの本質は\u003cstrong\u003e自動化されたフィードバック周期\u003c/strong\u003eである。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%81%AA%E3%81%9C%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%8C%E5%BF%85%E8%A6%81%E3%81%AA%E3%81%AE%E3%81%8B\" class=\"anchor\" id=\"なぜループエンジニアリングが必要なのか\"\u003e\u003c/a\u003eなぜループエンジニアリングが必要なのか\u003c/h2\u003e\n\u003cp\u003e従来のAI利用方式では、人間がボトルネックになりやすい。人間がプロンプトを書き、結果を確認し、再び修正を依頼し、テストを実行し、エラーメッセージをコピーして再入力しなければならないためである。\u003c/p\u003e\n\u003cp\u003eループエンジニアリングは、この反復過程をシステム化する。たとえば開発作業では、AIが次の流れを自動で反復できる。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e要件を読み、作業計画を立てる。\u003c/li\u003e\n\u003cli\u003e別の作業空間でコードを修正する。\u003c/li\u003e\n\u003cli\u003eテストとリンターを実行する。\u003c/li\u003e\n\u003cli\u003eエラーログを分析する。\u003c/li\u003e\n\u003cli\u003e修正プロンプトまたは次の行動を自ら作る。\u003c/li\u003e\n\u003cli\u003e再びコードを修正する。\u003c/li\u003e\n\u003cli\u003e合格基準を満たせば結果を整理し、レビューを依頼する。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eこの構造では、人間がすべての中間段階を直接指示しなくてもよい。代わりに人間は、目標設定、承認、例外処理、最終的な品質判断に集中する。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE6%E3%81%A4%E3%81%AE%E5%BF%85%E9%A0%88%E6%A7%8B%E6%88%90%E8%A6%81%E7%B4%A0\" class=\"anchor\" id=\"ループエンジニアリングの6つの必須構成要素\"\u003e\u003c/a\u003eループエンジニアリングの6つの必須構成要素\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-%E3%82%AA%E3%83%BC%E3%83%88%E3%83%A1%E3%83%BC%E3%82%B7%E3%83%A7%E3%83%B3%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E5%AE%9F%E9%9A%9B%E3%81%AB%E5%9B%9E%E3%81%99%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%B3\" class=\"anchor\" id=\"1-オートメーションループを実際に回すエンジン\"\u003e\u003c/a\u003e1. オートメーション：ループを実際に回すエンジン\u003c/h3\u003e\n\u003cp\u003eオートメーションは、ループが人の手動入力なしに実行されるようにする基盤である。作業キュー、スケジューラー、CI/CDパイプライン、エージェントランタイム、イベントトリガー、再試行ポリシーなどがここに含まれる。\u003c/p\u003e\n\u003cp\u003eオートメーションが担当する機能は次のとおりである。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e作業開始条件の検知\u003c/li\u003e\n\u003cli\u003eエージェント実行\u003c/li\u003e\n\u003cli\u003eツール呼び出しと結果収集\u003c/li\u003e\n\u003cli\u003eテストまたは検証段階の実行\u003c/li\u003e\n\u003cli\u003e失敗時の再試行\u003c/li\u003e\n\u003cli\u003eログ保存\u003c/li\u003e\n\u003cli\u003e人間の承認段階への移行\u003c/li\u003e\n\u003cli\u003eコスト、時間、反復回数の制限\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eオートメーションは単なる「自動実行」ではなく、ループのライフサイクルを管理する制御装置である。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%84%E3%83%AA%E3%83%BC%E5%AE%89%E5%85%A8%E3%81%AA%E4%BD%9C%E6%A5%AD%E7%A9%BA%E9%96%93\" class=\"anchor\" id=\"2-ワークツリー安全な作業空間\"\u003e\u003c/a\u003e2. ワークツリー：安全な作業空間\u003c/h3\u003e\n\u003cp\u003eワークツリーは、AIがメインコードや実際の運用データを直接損なわないように提供する、隔離された作業空間である。Gitの\u003ccode\u003eworktree\u003c/code\u003e機能のように、同じリポジトリで別の作業ディレクトリを作り、独立して修正しテストできる方式が代表的である。\u003c/p\u003e\n\u003cp\u003eワークツリーが重要な理由は次のとおりである。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eメインブランチまたは運用環境を保護する。\u003c/li\u003e\n\u003cli\u003e複数のエージェントが並列で互いに異なる作業を遂行できる。\u003c/li\u003e\n\u003cli\u003e失敗した試行を簡単に破棄できる。\u003c/li\u003e\n\u003cli\u003e変更事項をdiffでレビューできる。\u003c/li\u003e\n\u003cli\u003eテストに通った変更だけをマージ対象にできる。\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eループエンジニアリングにおいて、ワークツリーはAIの実験空間である。エージェントが大胆に修正してもシステム全体が安全に維持されるためには、作業空間の隔離が必要である。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-%E3%82%B9%E3%82%AD%E3%83%AB%E4%BD%9C%E6%A5%AD%E5%9F%BA%E6%BA%96%E3%81%A8%E3%81%AA%E3%82%8B%E6%8C%87%E9%87%9D%E6%9B%B8\" class=\"anchor\" id=\"3-スキル作業基準となる指針書\"\u003e\u003c/a\u003e3. スキル：作業基準となる指針書\u003c/h3\u003e\n\u003cp\u003eスキルは、AIが特定の作業を遂行するときに従うべき指針、手順、チェックリスト、コーディング規則、設計原則、例の集まりである。人が新入チームメンバーにオンボーディング文書を提供するように、エージェントにも業務遂行基準が必要である。\u003c/p\u003e\n\u003cp\u003eスキル文書には次の情報を含めることができる。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003eプロジェクト構造と核心モジュールの説明\u003c/li\u003e\n\u003cli\u003eコードスタイルと命名規則\u003c/li\u003e\n\u003cli\u003eテスト作成方式\u003c/li\u003e\n\u003cli\u003eAPI設計原則\u003c/li\u003e\n\u003cli\u003eセキュリティ上の禁止事項\u003c/li\u003e\n\u003cli\u003eデプロイ前チェックリスト\u003c/li\u003e\n\u003cli\u003e失敗したときに確認すべきログの場所\u003c/li\u003e\n\u003cli\u003e結果報告形式\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eスキルがなければ、エージェントは毎回一般的な推論に依存することになる。反対に、よく書かれたスキルは、組織の作業方式をAIに再利用可能な形で伝える。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-%E3%83%97%E3%83%A9%E3%82%B0%E3%82%A4%E3%83%B3%E3%81%8A%E3%82%88%E3%81%B3%E3%82%B3%E3%83%8D%E3%82%AF%E3%82%BF%E3%83%BC%E5%BF%85%E8%A6%81%E3%81%AA%E3%83%84%E3%83%BC%E3%83%AB%E3%81%B8%E3%81%AE%E3%82%A2%E3%82%AF%E3%82%BB%E3%82%B9\" class=\"anchor\" id=\"4-プラグインおよびコネクター必要なツールへのアクセス\"\u003e\u003c/a\u003e4. プラグインおよびコネクター：必要なツールへのアクセス\u003c/h3\u003e\n\u003cp\u003eプラグインとコネクターは、AIが作業中に必要なツールとシステムへアクセスできるようにする。たとえばコードリポジトリ、イシュートラッカー、検索システム、データベース、文書リポジトリ、テスト実行器、ブラウザー、デプロイツール、通知システムなどが接続対象になり得る。\u003c/p\u003e\n\u003cp\u003eツール接続が必要な理由は明確である。エージェントが「テストを実行すべきだ」と判断したのにテスト実行権限がなければ、ループは止まる。「関連文書を確認すべきだ」と判断したのに文書へのアクセス経路がなければ、推測で答える可能性が高くなる。\u003c/p\u003e\n\u003cp\u003e良いコネクター設計には次の原則が必要である。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e最小権限の原則を適用する。\u003c/li\u003e\n\u003cli\u003e読み取り権限と書き込み権限を分離する。\u003c/li\u003e\n\u003cli\u003e危険な作業には承認段階を置く。\u003c/li\u003e\n\u003cli\u003eすべてのツール呼び出しをログとして残す。\u003c/li\u003e\n\u003cli\u003e機密情報へのアクセスは別途ポリシーで制限する。\u003c/li\u003e\n\u003cli\u003e失敗したツール呼び出しもループ状態に記録する。\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-%E3%82%B5%E3%83%96%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E5%BD%B9%E5%89%B2%E3%82%92%E5%88%86%E3%81%91%E3%81%9Fai%E4%BD%9C%E6%A5%AD%E8%80%85\" class=\"anchor\" id=\"5-サブエージェント役割を分けたai作業者\"\u003e\u003c/a\u003e5. サブエージェント：役割を分けたAI作業者\u003c/h3\u003e\n\u003cp\u003eサブエージェントは、1つのメインエージェントがすべてを処理するのではなく、役割別のエージェントが協業するようにする構造である。人間の開発チームのように、設計、バックエンド、フロントエンド、QA、セキュリティレビュー、文書化の役割を分離できる。\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e役割\u003c/th\u003e\n\u003cth\u003e主な責任\u003c/th\u003e\n\u003cth\u003e出力例\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"役割\"\u003eプランナーエージェント\u003c/td\u003e\n\u003ctd data-label=\"主な責任\"\u003e要件分析、作業分解、優先順位設定\u003c/td\u003e\n\u003ctd data-label=\"出力例\"\u003e実装計画、作業一覧\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"役割\"\u003eバックエンドエージェント\u003c/td\u003e\n\u003ctd data-label=\"主な責任\"\u003eAPI、データモデル、サーバーロジック実装\u003c/td\u003e\n\u003ctd data-label=\"出力例\"\u003eコード変更、テスト\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"役割\"\u003eフロントエンドエージェント\u003c/td\u003e\n\u003ctd data-label=\"主な責任\"\u003eUI、状態管理、アクセシビリティ改善\u003c/td\u003e\n\u003ctd data-label=\"出力例\"\u003eコンポーネント修正、画面テスト\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"役割\"\u003eQAエージェント\u003c/td\u003e\n\u003ctd data-label=\"主な責任\"\u003eテスト実行、バグ再現、回帰検証\u003c/td\u003e\n\u003ctd data-label=\"出力例\"\u003e失敗ログ、再現手順\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"役割\"\u003eレビューエージェント\u003c/td\u003e\n\u003ctd data-label=\"主な責任\"\u003eコード品質、セキュリティ、スタイル点検\u003c/td\u003e\n\u003ctd data-label=\"出力例\"\u003eレビューコメント、リスク一覧\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"役割\"\u003e文書エージェント\u003c/td\u003e\n\u003ctd data-label=\"主な責任\"\u003e変更事項の説明、使い方の作成\u003c/td\u003e\n\u003ctd data-label=\"出力例\"\u003eリリースノート、利用ガイド\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eサブエージェント構造の利点は、専門性を分けられる点である。しかし、エージェント間の衝突、重複作業、責任の不明確さも生じ得るため、調整役と明確な作業契約が必要である。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#6-%E3%83%A1%E3%83%A2%E3%83%AA%E4%B8%AD%E6%96%AD%E3%81%A8%E5%86%8D%E9%96%8B%E3%82%92%E5%8F%AF%E8%83%BD%E3%81%AB%E3%81%99%E3%82%8B%E7%8A%B6%E6%85%8B%E4%BF%9D%E5%AD%98\" class=\"anchor\" id=\"6-メモリ中断と再開を可能にする状態保存\"\u003e\u003c/a\u003e6. メモリ：中断と再開を可能にする状態保存\u003c/h3\u003e\n\u003cp\u003eメモリは、ループの現在状態、過去の試行、失敗原因、決定理由、ファイル変更、テスト結果、次の行動計画を保存する機能である。ループが長くなるほど、メモリは必須に近くなる。\u003c/p\u003e\n\u003cp\u003eメモリは大きく2種類に分けられる。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e短期メモリ：現在の作業セッションの計画、ログ、ツール呼び出し結果、エラーメッセージ\u003c/li\u003e\n\u003cli\u003e長期メモリ：プロジェクト規則、過去の解決方式、繰り返されるバグパターン、ユーザーの好み、チーム標準\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003eメモリがなければ、エージェントは同じミスを繰り返したり、途中で止まった作業を最初からやり直したりする可能性がある。反対に、よく設計されたメモリはループを安定して継続し、コストを減らす。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E5%9F%BA%E6%9C%AC%E3%82%A2%E3%83%BC%E3%82%AD%E3%83%86%E3%82%AF%E3%83%81%E3%83%A3\" class=\"anchor\" id=\"ループエンジニアリングの基本アーキテクチャ\"\u003e\u003c/a\u003eループエンジニアリングの基本アーキテクチャ\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングシステムは通常、次のような構造を持つ。\u003c/p\u003e\n\u003col\u003e\n\u003cli\u003e目標入力：人間が解決すべき問題と完了基準を提供する。\u003c/li\u003e\n\u003cli\u003eコンテキスト収集：コード、文書、イシュー、ログ、ポリシーを読む。\u003c/li\u003e\n\u003cli\u003e計画策定：エージェントが作業を小さな段階に分ける。\u003c/li\u003e\n\u003cli\u003e実行：コード修正、ファイル生成、データ処理、ツール呼び出しを行う。\u003c/li\u003e\n\u003cli\u003e検証：テスト、リント、型検査、ポリシー検査、レビューを実行する。\u003c/li\u003e\n\u003cli\u003e評価：目標基準を満たしたか判断する。\u003c/li\u003e\n\u003cli\u003e反復：失敗すれば原因を分析し、新しい計画に戻る。\u003c/li\u003e\n\u003cli\u003e終了：成功、制限超過、危険検知、人間の承認が必要のいずれかで止まる。\u003c/li\u003e\n\u003cli\u003e報告：変更事項、検証結果、残るリスク、次の推奨措置を要約する。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eこの流れは、「考えるだけを反復するAI」ではなく、「実際の環境で行動し、結果を検証するAI」を前提とする。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%83%8F%E3%83%BC%E3%83%8D%E3%82%B9%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%A8%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AE%E9%81%95%E3%81%84\" class=\"anchor\" id=\"ハーネスエンジニアリングとループエンジニアリングの違い\"\u003e\u003c/a\u003eハーネスエンジニアリングとループエンジニアリングの違い\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e区分\u003c/th\u003e\n\u003cth\u003eハーネスエンジニアリング\u003c/th\u003e\n\u003cth\u003eループエンジニアリング\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"区分\"\u003e目的\u003c/td\u003e\n\u003ctd data-label=\"ハーネスエンジニアリング\"\u003eAIが安全に働く環境を作る\u003c/td\u003e\n\u003ctd data-label=\"ループエンジニアリング\"\u003eAIが目標達成まで反復するようにする\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"区分\"\u003e中心要素\u003c/td\u003e\n\u003ctd data-label=\"ハーネスエンジニアリング\"\u003e規則、権限、ツール、手順、制限\u003c/td\u003e\n\u003ctd data-label=\"ループエンジニアリング\"\u003e反復実行、フィードバック、再試行、状態保存\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"区分\"\u003e失敗対応\u003c/td\u003e\n\u003ctd data-label=\"ハーネスエンジニアリング\"\u003e危険な行動を防ぐか承認を求める\u003c/td\u003e\n\u003ctd data-label=\"ループエンジニアリング\"\u003e失敗原因を反映して次の試行を生成\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"区分\"\u003e人間の介入\u003c/td\u003e\n\u003ctd data-label=\"ハーネスエンジニアリング\"\u003eポリシーと環境設計に集中\u003c/td\u003e\n\u003ctd data-label=\"ループエンジニアリング\"\u003e目標設定、例外処理、最終承認に集中\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"区分\"\u003e比喩\u003c/td\u003e\n\u003ctd data-label=\"ハーネスエンジニアリング\"\u003e作業場と安全装備\u003c/td\u003e\n\u003ctd data-label=\"ループエンジニアリング\"\u003e作業場を動かし続ける生産ライン\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eハーネスなしでループを作ると、エージェントが過剰な権限で危険な行動を取る可能性がある。ループなしでハーネスだけを作ると、安全な環境はあるが生産性が制限される。実務では、この2つのアプローチが共に必要である。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E9%81%A9%E7%94%A8%E4%BE%8Bai%E3%82%B3%E3%83%BC%E3%83%87%E3%82%A3%E3%83%B3%E3%82%B0%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%81%AE%E3%83%AB%E3%83%BC%E3%83%97\" class=\"anchor\" id=\"適用例aiコーディングエージェントのループ\"\u003e\u003c/a\u003e適用例：AIコーディングエージェントのループ\u003c/h2\u003e\n\u003cp\u003eソフトウェア開発において、ループエンジニアリングは比較的理解しやすい。たとえば「ログインエラーを修正せよ」という目標が与えられたとしよう。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E5%85%A5%E5%8A%9B\" class=\"anchor\" id=\"入力\"\u003e\u003c/a\u003e入力\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e目標：特定条件でログイン失敗が発生するバグの修正\u003c/li\u003e\n\u003cli\u003e完了基準：関連テストの通過、既存ログイン機能の回帰なし、変更要約の提出\u003c/li\u003e\n\u003cli\u003e制約：認証トークン保存方式の変更禁止、ユーザーデータベースの直接修正禁止\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E5%AE%9F%E8%A1%8C\" class=\"anchor\" id=\"ループ実行\"\u003e\u003c/a\u003eループ実行\u003c/h3\u003e\n\u003col\u003e\n\u003cli\u003eエージェントがイシュー説明と関連ファイルを読む。\u003c/li\u003e\n\u003cli\u003eワークツリーで別ブランチまたは作業ディレクトリを作る。\u003c/li\u003e\n\u003cli\u003e失敗テストを再現する。\u003c/li\u003e\n\u003cli\u003eエラーログと関連コードを分析する。\u003c/li\u003e\n\u003cli\u003e修正案を適用する。\u003c/li\u003e\n\u003cli\u003eテストを実行する。\u003c/li\u003e\n\u003cli\u003e失敗すれば原因を要約し、別の修正案を試す。\u003c/li\u003e\n\u003cli\u003e成功すればdiff、テスト結果、リスク要素を整理する。\u003c/li\u003e\n\u003cli\u003e人間のレビュアーにマージ承認を求める。\u003c/li\u003e\n\u003c/ol\u003e\n\u003cp\u003eこの例で人間は、毎回エラーログをコピーして新しいプロンプトを作成しない。代わりにループが反復作業を遂行し、人間は最終判断と責任が必要な段階に介入する。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E8%A8%AD%E8%A8%88%E6%99%82%E3%81%AB%E5%BF%85%E3%81%9A%E6%B1%BA%E3%82%81%E3%82%8B%E3%81%B9%E3%81%8D%E5%88%B6%E5%BE%A1%E5%A4%89%E6%95%B0\" class=\"anchor\" id=\"設計時に必ず決めるべき制御変数\"\u003e\u003c/a\u003e設計時に必ず決めるべき制御変数\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングは無限反復を前提に説明されることもあるが、実際のシステムで「無限」は危険である。安全なループには明確な制限が必要である。\u003c/p\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e制御変数\u003c/th\u003e\n\u003cth\u003e説明\u003c/th\u003e\n\u003cth\u003e例\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003e最大反復回数\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003e同じ作業を何回まで再試行するかを制限\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003e最大5回再試行\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003e時間予算\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003eループ実行時間を制限\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003e30分超過時に中断\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003eコスト予算\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003eモデル呼び出し、ツール使用、インフラコストを制限\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003e作業あたり10ドル以下\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003e権限範囲\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003e読み取り、書き込み、実行、デプロイ権限を分離\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003e運用DBへの書き込み禁止\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003e承認地点\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003e人間のレビューが必要な瞬間を定義\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003eデプロイ、削除、決済、外部送信前の承認\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003e成功基準\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003e完了と判断する客観的条件\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003eテスト通過、正確度基準の充足\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"制御変数\"\u003e失敗基準\u003c/td\u003e\n\u003ctd data-label=\"説明\"\u003e中断すべき危険信号\u003c/td\u003e\n\u003ctd data-label=\"例\"\u003e同じエラー3回反復、セキュリティ警告発生\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003e良いループは多く回るループではなく、\u003cstrong\u003e適切な瞬間に止まることを知っているループ\u003c/strong\u003eである。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E5%93%81%E8%B3%AA%E8%A9%95%E4%BE%A1%E5%9F%BA%E6%BA%96\" class=\"anchor\" id=\"品質評価基準\"\u003e\u003c/a\u003e品質評価基準\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングシステムを評価するときは、単に「AIが答えを出したか」ではなく、次の指標を合わせて見るべきである。\u003c/p\u003e\n\u003cul\u003e\n\u003cli\u003e目標達成率：与えられた作業を成功裏に完了した割合\u003c/li\u003e\n\u003cli\u003e初回成功までにかかった反復回数：不要な再試行の有無\u003c/li\u003e\n\u003cli\u003eテスト通過率：自動検証基準の充足有無\u003c/li\u003e\n\u003cli\u003e回帰発生率：既存機能を壊した割合\u003c/li\u003e\n\u003cli\u003e人間の介入回数：自動化が実際にボトルネックを減らしたか\u003c/li\u003e\n\u003cli\u003eコスト対効果：モデル呼び出しコストとインフラコストに対する成果\u003c/li\u003e\n\u003cli\u003e監査可能性：どのツールをなぜ呼び出したか追跡可能か\u003c/li\u003e\n\u003cli\u003e安全違反率：禁止されたファイル、API、データにアクセスしたか\u003c/li\u003e\n\u003cli\u003e再現可能性：同じ条件で類似した結果が出るか\u003c/li\u003e\n\u003c/ul\u003e\n\u003cp\u003e特にソフトウェア開発では、テスト通過だけでは十分でない場合がある。セキュリティ、性能、保守性、ユーザー体験も合わせてレビューすべきである。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%82%88%E3%81%8F%E3%81%82%E3%82%8B%E5%A4%B1%E6%95%97%E3%83%91%E3%82%BF%E3%83%BC%E3%83%B3\" class=\"anchor\" id=\"よくある失敗パターン\"\u003e\u003c/a\u003eよくある失敗パターン\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1-%E6%88%90%E5%8A%9F%E5%9F%BA%E6%BA%96%E3%81%8C%E6%9B%96%E6%98%A7%E3%81%AA%E5%A0%B4%E5%90%88\" class=\"anchor\" id=\"1-成功基準が曖昧な場合\"\u003e\u003c/a\u003e1. 成功基準が曖昧な場合\u003c/h3\u003e\n\u003cp\u003e「良くして」のように完了基準が不明確だと、ループは止まる根拠を見つけにくい。「単体テスト3件追加、既存テストすべて通過、応答時間200ms以下を維持」のように検証可能な基準が必要である。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2-%E3%83%84%E3%83%BC%E3%83%AB%E6%A8%A9%E9%99%90%E3%81%8C%E9%81%8E%E5%89%B0%E3%81%AA%E5%A0%B4%E5%90%88\" class=\"anchor\" id=\"2-ツール権限が過剰な場合\"\u003e\u003c/a\u003e2. ツール権限が過剰な場合\u003c/h3\u003e\n\u003cp\u003eエージェントに運用データベースの書き込み、デプロイ、外部メール送信のような権限を無制限に与えると、小さな判断ミスが大きな事故につながり得る。危険なツールは承認ベースで分離すべきである。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3-%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%8C%E3%81%AA%E3%81%84%E3%81%BE%E3%81%9F%E3%81%AF%E6%B1%9A%E6%9F%93%E3%81%95%E3%82%8C%E3%81%A6%E3%81%84%E3%82%8B%E5%A0%B4%E5%90%88\" class=\"anchor\" id=\"3-メモリがないまたは汚染されている場合\"\u003e\u003c/a\u003e3. メモリがない、または汚染されている場合\u003c/h3\u003e\n\u003cp\u003e状態保存がなければ同じ失敗を繰り返す。反対に誤ったメモリが蓄積されると、誤った前提を継続して再利用する可能性がある。メモリには検証済みの事実、推定、失敗記録を区分して保存するのがよい。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4-%E3%82%B5%E3%83%96%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E9%96%93%E3%81%A7%E8%B2%AC%E4%BB%BB%E3%81%8C%E9%87%8D%E3%81%AA%E3%82%8B%E5%A0%B4%E5%90%88\" class=\"anchor\" id=\"4-サブエージェント間で責任が重なる場合\"\u003e\u003c/a\u003e4. サブエージェント間で責任が重なる場合\u003c/h3\u003e\n\u003cp\u003e複数のエージェントが同じファイルを同時に修正すると衝突が発生し得る。作業範囲、ファイル所有権、レビュー順序、マージ規則を決めるべきである。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5-%E3%82%B3%E3%82%B9%E3%83%88%E5%88%B6%E9%99%90%E3%81%8C%E3%81%AA%E3%81%84%E5%A0%B4%E5%90%88\" class=\"anchor\" id=\"5-コスト制限がない場合\"\u003e\u003c/a\u003e5. コスト制限がない場合\u003c/h3\u003e\n\u003cp\u003eループは反復構造であるため、モデル呼び出しとツール実行コストが急速に増加し得る。反復回数、トークン使用量、外部API呼び出し数、実行時間を制限すべきである。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E5%AE%9F%E8%A3%85%E3%83%81%E3%82%A7%E3%83%83%E3%82%AF%E3%83%AA%E3%82%B9%E3%83%88\" class=\"anchor\" id=\"実装チェックリスト\"\u003e\u003c/a\u003e実装チェックリスト\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングを実際のプロジェクトに適用するときは、次の順序で点検するのがよい。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E7%9B%AE%E6%A8%99%E3%81%A8%E8%A9%95%E4%BE%A1%E5%9F%BA%E6%BA%96\" class=\"anchor\" id=\"目標と評価基準\"\u003e\u003c/a\u003e目標と評価基準\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e解決すべき問題を1文で定義したか？\u003c/li\u003e\n\u003cli\u003e完了基準は自動検証可能か？\u003c/li\u003e\n\u003cli\u003e人間の承認が必要な基準を区別したか？\u003c/li\u003e\n\u003cli\u003e失敗時の中断条件があるか？\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E4%BD%9C%E6%A5%AD%E7%92%B0%E5%A2%83\" class=\"anchor\" id=\"作業環境\"\u003e\u003c/a\u003e作業環境\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eメインコードと分離されたワークツリーがあるか？\u003c/li\u003e\n\u003cli\u003eテスト実行環境は再現可能か？\u003c/li\u003e\n\u003cli\u003e秘密鍵と機密情報へのアクセスを制限したか？\u003c/li\u003e\n\u003cli\u003e変更事項をdiffで追跡できるか？\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E6%8C%87%E9%87%9D%E3%81%A8%E3%82%B3%E3%83%B3%E3%83%86%E3%82%AD%E3%82%B9%E3%83%88\" class=\"anchor\" id=\"指針とコンテキスト\"\u003e\u003c/a\u003e指針とコンテキスト\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003eプロジェクト構造の説明があるか？\u003c/li\u003e\n\u003cli\u003eコーディング規則とテスト規則が文書化されているか？\u003c/li\u003e\n\u003cli\u003e禁止行動とセキュリティ規則は明確か？\u003c/li\u003e\n\u003cli\u003eエージェントが参照する文書は最新か？\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%83%84%E3%83%BC%E3%83%AB%E3%81%A8%E6%A8%A9%E9%99%90\" class=\"anchor\" id=\"ツールと権限\"\u003e\u003c/a\u003eツールと権限\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e必要なツールが事前に接続されているか？\u003c/li\u003e\n\u003cli\u003eツール別の権限は最小化されているか？\u003c/li\u003e\n\u003cli\u003e危険なツール呼び出しに承認段階があるか？\u003c/li\u003e\n\u003cli\u003eすべてのツール呼び出しログが残るか？\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch3\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E5%88%B6%E5%BE%A1\" class=\"anchor\" id=\"ループ制御\"\u003e\u003c/a\u003eループ制御\u003c/h3\u003e\n\u003cul\u003e\n\u003cli\u003e最大反復回数と時間制限があるか？\u003c/li\u003e\n\u003cli\u003eコスト制限があるか？\u003c/li\u003e\n\u003cli\u003e同じエラーの反復を検知するか？\u003c/li\u003e\n\u003cli\u003e中間状態を保存して再開できるか？\u003c/li\u003e\n\u003c/ul\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E3%83%AB%E3%83%BC%E3%83%97%E3%82%A8%E3%83%B3%E3%82%B8%E3%83%8B%E3%82%A2%E3%83%AA%E3%83%B3%E3%82%B0%E3%81%AB%E9%81%A9%E3%81%97%E3%81%9F%E4%BD%9C%E6%A5%AD%E3%81%A8%E9%81%A9%E3%81%95%E3%81%AA%E3%81%84%E4%BD%9C%E6%A5%AD\" class=\"anchor\" id=\"ループエンジニアリングに適した作業と適さない作業\"\u003e\u003c/a\u003eループエンジニアリングに適した作業と適さない作業\u003c/h2\u003e\n\u003cdiv class=\"overflow-x-auto\"\u003e\u003ctable\u003e\n\u003cthead\u003e\n\u003ctr\u003e\n\u003cth\u003e作業タイプ\u003c/th\u003e\n\u003cth\u003e適合度\u003c/th\u003e\n\u003cth\u003e理由\u003c/th\u003e\n\u003c/tr\u003e\n\u003c/thead\u003e\n\u003ctbody\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003eテストがあるコード修正\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e高\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e実行結果で成功可否を判断しやすい\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003eリント、フォーマット、マイグレーション\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e高\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e反復的で検証基準が明確である\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003e文書草案の生成と検収\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e中\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e自動化可能だが事実検証が必要である\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003eデータ精製\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e中〜高\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e規則とサンプル検証があれば効果的である\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003eセキュリティパッチ\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e中\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e自動化可能だが専門家レビューが必要である\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003e法的判断、医療診断、投資助言\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e低\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e責任と専門性、規制リスクが大きい\u003c/td\u003e\n\u003c/tr\u003e\n\u003ctr\u003e\n\u003ctd data-label=\"作業タイプ\"\u003e運用システムの直接変更\u003c/td\u003e\n\u003ctd data-label=\"適合度\"\u003e低\u003c/td\u003e\n\u003ctd data-label=\"理由\"\u003e承認のない自動ループは事故リスクが大きい\u003c/td\u003e\n\u003c/tr\u003e\n\u003c/tbody\u003e\n\u003c/table\u003e\u003c/div\u003e\n\u003cp\u003eループエンジニアリングは「検証可能な作業」で最も強い。検証基準が不明確だったり責任の大きい意思決定だったりする場合は、人間の専門家による制御が必須である。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E5%AE%9F%E5%8B%99%E9%81%A9%E7%94%A8%E3%83%AD%E3%83%BC%E3%83%89%E3%83%9E%E3%83%83%E3%83%97\" class=\"anchor\" id=\"実務適用ロードマップ\"\u003e\u003c/a\u003e実務適用ロードマップ\u003c/h2\u003e\n\u003ch3\u003e\n\u003ca href=\"#1%E6%AE%B5%E9%9A%8E%E5%8D%98%E4%B8%80%E4%BD%9C%E6%A5%AD%E3%83%AB%E3%83%BC%E3%83%97%E3%82%92%E4%BD%9C%E3%82%8B\" class=\"anchor\" id=\"1段階単一作業ループを作る\"\u003e\u003c/a\u003e1段階：単一作業ループを作る\u003c/h3\u003e\n\u003cp\u003eまず小さな作業1つを対象に始める。たとえばテスト失敗を直すループ、文書リンクエラーを修正するループ、型エラーを解決するループのように範囲を狭める。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#2%E6%AE%B5%E9%9A%8E%E3%83%8F%E3%83%BC%E3%83%8D%E3%82%B9%E3%82%92%E5%9B%BA%E5%AE%9A%E3%81%99%E3%82%8B\" class=\"anchor\" id=\"2段階ハーネスを固定する\"\u003e\u003c/a\u003e2段階：ハーネスを固定する\u003c/h3\u003e\n\u003cp\u003e作業前確認、修正可能ファイル、実行可能なコマンド、禁止行動、承認条件を文書化する。この段階が弱いと、ループが大きくなるほどリスクも一緒に大きくなる。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#3%E6%AE%B5%E9%9A%8E%E3%83%AF%E3%83%BC%E3%82%AF%E3%83%84%E3%83%AA%E3%83%BC%E3%81%A8%E3%83%AD%E3%82%B0%E4%BD%93%E7%B3%BB%E3%82%92%E4%BD%9C%E3%82%8B\" class=\"anchor\" id=\"3段階ワークツリーとログ体系を作る\"\u003e\u003c/a\u003e3段階：ワークツリーとログ体系を作る\u003c/h3\u003e\n\u003cp\u003eすべての変更は隔離された空間で行い、ツール呼び出しとテスト結果を記録する。失敗した試行も重要なデータである。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#4%E6%AE%B5%E9%9A%8E%E3%82%B9%E3%82%AD%E3%83%AB%E6%96%87%E6%9B%B8%E5%8C%96\" class=\"anchor\" id=\"4段階スキル文書化\"\u003e\u003c/a\u003e4段階：スキル文書化\u003c/h3\u003e\n\u003cp\u003e反復的に必要な知識をスキルにする。「このプロジェクトでテストを追加する方法」、「API変更時のチェックリスト」、「フロントエンドアクセシビリティ基準」のような文書が有用である。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#5%E6%AE%B5%E9%9A%8E%E3%82%B5%E3%83%96%E3%82%A8%E3%83%BC%E3%82%B8%E3%82%A7%E3%83%B3%E3%83%88%E3%82%92%E5%88%86%E9%9B%A2%E3%81%99%E3%82%8B\" class=\"anchor\" id=\"5段階サブエージェントを分離する\"\u003e\u003c/a\u003e5段階：サブエージェントを分離する\u003c/h3\u003e\n\u003cp\u003e作業が複雑になれば、プランナー、実装者、QA、レビュアーを分離する。最初から過度に多くのエージェントを作るより、ボトルネックが確認された役割から分けるのがよい。\u003c/p\u003e\n\u003ch3\u003e\n\u003ca href=\"#6%E6%AE%B5%E9%9A%8E%E3%83%A1%E3%83%A2%E3%83%AA%E3%81%A8%E8%A9%95%E4%BE%A1%E6%8C%87%E6%A8%99%E3%82%92%E6%94%B9%E5%96%84%E3%81%99%E3%82%8B\" class=\"anchor\" id=\"6段階メモリと評価指標を改善する\"\u003e\u003c/a\u003e6段階：メモリと評価指標を改善する\u003c/h3\u003e\n\u003cp\u003e反復失敗原因、成功パターン、コスト、人間の介入回数を記録する。このデータを基に、ループの効率と安全性を改善する。\u003c/p\u003e\n\u003ch2\u003e\n\u003ca href=\"#%E7%B5%90%E8%AB%96\" class=\"anchor\" id=\"結論\"\u003e\u003c/a\u003e結論\u003c/h2\u003e\n\u003cp\u003eループエンジニアリングは、AIエージェントを単純な応答生成器から\u003cstrong\u003e目標志向の作業遂行システム\u003c/strong\u003eへ変える設計アプローチである。核心はAIにむやみに自律性を与えることではなく、ハーネスエンジニアリングで制御された環境を作り、その中でオートメーション、ワークツリー、スキル、プラグインおよびコネクター、サブエージェント、メモリを結合して安全な反復構造を作ることである。\u003c/p\u003e\n\u003cp\u003eよく設計されたループは、人間の反復指示の負担を減らし、作業速度を高める。しかし安全装置のないループは、コスト増加、品質低下、権限の誤用・乱用、無限反復の問題を生み得る。したがってループエンジニアリングの核心原則は、「自動化しつつ、検証可能にし、必要な瞬間には必ず止まるようにすること」である。\u003c/p\u003e\n","tags":["AIエージェント","ループエンジニアリング","自動化","開発ワークフロー","LLMOps"],"faqs":[{"question":"ループエンジニアリングとは何か？","answer":"ループエンジニアリングは、AIエージェントが目標達成まで計画、実行、検証、修正、再試行を繰り返すように作業システムを設計する方法である。単に良いプロンプトを書くことではなく、自動反復、ツールの使用、状態保存、中断条件まで含む。"},{"question":"ループエンジニアリングとプロンプトエンジニアリングの違いは何か？","answer":"プロンプトエンジニアリングは、AIに一度の指示をうまく伝えることに焦点がある。ループエンジニアリングは、AIが結果を確認し、失敗原因を反映して再実行する閉鎖型フィードバック構造を設計するという点で、よりシステム的なアプローチである。"},{"question":"ハーネスエンジニアリングとループエンジニアリングはどのように違うのか？","answer":"ハーネスエンジニアリングは、AIが安全に作業するためのルール、権限、ツール、環境を作ることである。ループエンジニアリングは、その統制された環境の中でAIが目標達成まで反復実行するようにすることである。"},{"question":"ループエンジニアリングにワークツリーが必要な理由は何か？","answer":"ワークツリーは、AIがメインコードや運用環境を損なうことなく実験できる隔離された作業空間を提供する。失敗した変更を破棄し、成功した変更だけを検討できるため、AIコーディングループの安全性を高める。"},{"question":"ループエンジニアリングにおけるスキルは何を意味するのか？","answer":"スキルは、AIが作業する際に参照するガイドライン、チェックリスト、コーディング規則、テスト規則、セキュリティポリシーのような文書化された作業基準である。スキルが明確であるほど、エージェントは組織の方式に合わせて作業する可能性が高くなる。"},{"question":"プラグインとコネクターはなぜ重要なのか？","answer":"プラグインとコネクターは、AIがリポジトリ、文書、テスト実行機、イシュートラッカー、データベースのようなツールにアクセスできるようにする。必要なツールが接続されていなければ、ループが途中で止まったり、推測に依存したりする可能性がある。"},{"question":"サブエージェントはいつ必要なのか？","answer":"作業が設計、バックエンド、フロントエンド、QA、レビューのように複数の専門的役割に分かれるとき、サブエージェントが有用である。ただし、役割と責任範囲が不明確だと衝突が生じる可能性があるため、調整ルールが必要である。"},{"question":"ループエンジニアリングにおいてメモリはどのような役割を果たすのか？","answer":"メモリは現在の作業状態、以前の試行、失敗原因、テスト結果、次の計画を保存する。これにより、ループが中断されても続きから再開でき、同じミスを繰り返す可能性を減らすことができる。"},{"question":"ループエンジニアリングは無限反復を意味するのか？","answer":"概念的には目標達成まで繰り返すという意味があるが、実際のシステムで無制限の反復は危険である。最大反復回数、時間制限、コスト制限、失敗検知、人間による承認条件を必ず設定しなければならない。"},{"question":"ループエンジニアリングに最も適した作業は何か？","answer":"テストがあるコード修正、リントとフォーマット、データクレンジング、文書検査のように検証基準が明確な反復作業に適している。法律判断、医療診断、投資意思決定のように責任が大きい領域は、自動ループだけで処理してはならない。"},{"question":"ループエンジニアリングの最大のリスクは何か？","answer":"主なリスクは、過度な権限、無限の再試行、コストの急増、誤ったメモリの蓄積、検証のない自動デプロイ、機密情報へのアクセスである。したがって、権限の最小化、ログ記録、承認段階、中断条件が必須である。"},{"question":"ループエンジニアリングを初めて導入するとき、最も良い方法は何か？","answer":"最初は、失敗したテストの修正、文書リンクの点検、型エラーの修正のように、小さく検証可能な作業を一つ選んで始めるのがよい。その後、ワークツリー、スキル文書、ツール接続、メモリ、サブエージェントを段階的に追加する方法が安全である。"}],"sources":[{"url":"https://git-scm.com/docs/git-worktree","title":"Git ドキュメント: git-worktree","type":"source"},{"url":"https://docs.github.com/en/actions","title":"GitHub Docs: GitHub Actions ドキュメント","type":"source"},{"url":"https://platform.openai.com/docs/guides/function-calling","title":"OpenAI Platform Docs: 関数呼び出し","type":"source"},{"url":"https://modelcontextprotocol.io/introduction","title":"Model Context Protocol: はじめに","type":"source"},{"url":"https://langchain-ai.github.io/langgraph/concepts/persistence/","title":"LangGraph ドキュメント: 永続化","type":"source"},{"url":"https://arxiv.org/abs/2210.03629","title":"ReAct: 言語モデルにおける推論と行動の相乗効果","type":"source"},{"url":"https://arxiv.org/abs/2303.11366","title":"Reflexion: 言語エージェントと口頭強化学習","type":"source"}],"images":[{"id":234,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMwMSwicHVyIjoiYmxvYl9pZCJ9fQ==--e2cc0e235018c6d93b44f9fe5cf3889bea5aa10a/ai-cccc7ad2.webp","is_representative":true,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"중앙 AI 로봇과 순환 화살표, 자동화·문서·검증·데이터 아이콘이 둘러싼 다이어그램","caption":"AI 시스템을 반복적으로 설계, 실행, 검증하는 루프 엔지니어링 흐름을 보여준다.","description":null},"en":{"alt":"Central AI bot surrounded by circular workflow arrows and icons for automation, documents, validation, and data","caption":"The diagram illustrates a loop engineering workflow around an AI system.","description":null},"ja":{"alt":"中央のAIロボットを囲む循環矢印と自動化、文書、検証、データのアイコン","caption":"AIシステムを中心に設計、実行、検証を繰り返す流れを示している。","description":null},"es":{"alt":"Bot de IA central rodeado de flechas circulares e iconos de automatización, documentos, validación y datos","caption":"El diagrama muestra un flujo de ingeniería en bucle alrededor de un sistema de IA.","description":null},"id":{"alt":"Bot AI di tengah dikelilingi panah alur melingkar dan ikon otomasi, dokumen, validasi, serta data","caption":"Diagram ini menunjukkan alur rekayasa loop yang berulang di sekitar sistem AI.","description":null},"pt":{"alt":"Bot de IA central cercado por setas de fluxo circular e ícones de automação, documentos, validação e dados","caption":"O diagrama mostra um fluxo de engenharia em loop em torno de um sistema de IA.","description":null},"zh-hant":{"alt":"中央 AI 機器人周圍有循環箭頭，以及自動化、文件、驗證與資料圖示","caption":"此圖呈現圍繞 AI 系統反覆設計、執行與驗證的迴圈工程流程。","description":null}}},{"id":235,"url":"https://injoys.com/rails/active_storage/blobs/proxy/eyJfcmFpbHMiOnsiZGF0YSI6MjMwNywicHVyIjoiYmxvYl9pZCJ9fQ==--6e96b4db0ce479ff3ba8d0cefc6dafb74a3e9ce0/ai-20876eb8.webp","is_representative":false,"generation_method":"ai_image","license":"ai_generated","mime_type":"image/webp","translations":{"ko":{"alt":"로봇과 연결된 작업대가 순환 파이프라인으로 이어진 자동화 검증 시스템","caption":"보안, 테스트, 피드백이 연결된 루프 엔지니어링 흐름을 시각화합니다.","description":null},"en":{"alt":"Automated validation system with robots, connected stations, and a looping pipeline","caption":"The illustration shows a loop engineering workflow linking security, testing, and feedback.","description":null},"ja":{"alt":"ロボットと接続された端末が循環パイプラインでつながる自動検証システム","caption":"セキュリティ、テスト、フィードバックを結ぶループエンジニアリングの流れを示しています。","description":null},"es":{"alt":"Sistema de validación automatizada con robots, estaciones conectadas y canalización en bucle","caption":"La ilustración muestra un flujo de ingeniería en bucle que conecta seguridad, pruebas y retroalimentación.","description":null},"id":{"alt":"Sistem validasi otomatis dengan robot, stasiun terhubung, dan alur pipa berulang","caption":"Ilustrasi ini menampilkan alur rekayasa loop yang menghubungkan keamanan, pengujian, dan umpan balik.","description":null},"pt":{"alt":"Sistema de validação automatizada com robôs, estações conectadas e pipeline em ciclo","caption":"A ilustração mostra um fluxo de engenharia em loop que conecta segurança, testes e feedback.","description":null},"zh-hant":{"alt":"機器人與連接工作站透過循環管線組成的自動化驗證系統","caption":"這張插圖呈現連結安全、測試與回饋的迴圈工程流程。","description":null}}}],"published_at":"2026-07-20T15:26:45+09:00","updated_at":"2026-07-20T15:26:45+09:00","license":"cc_by","translation_status":"reviewed","available_locales":["ko","en","ja","es"],"data_locales":["ko","en","ja","es","id","pt","zh-hant"],"url":"https://injoys.com/ja/articles/loop-engineering-concept-components"}