AIエージェント開発の新常識「ハーネス」と「ループエンジニアリング」入門
はじめに
AIエージェント開発では、LLMそのものの性能だけを追いかけても、実用的なシステムはなかなか作れません。
重要なのは、
「AIに何を考えさせるか」だけではなく、「AIがどう動き、失敗し、観測され、改善される環境をどう設計するか」
です。
そこで重要になるのが、
- Harness(ハーネス)
- Loop Engineering(ループエンジニアリング)
という2つの考え方です。
本記事では、この2つをAIエージェント開発の観点から整理します。
1. そもそも「AIモデルが賢い」だけではエージェントは強くならない
従来のAI開発では、モデルの性能が中心でした。
例えば、
- GPT-4よりGPT-5のほうが賢い
- 推論性能が高いモデルを使う
- コンテキストウィンドウが大きいモデルを使う
といった話です。もちろん、これは重要です。
しかし、AIエージェントになると話が変わります。AIエージェントは、単発で回答するだけではありません。
目的を理解する
↓
計画する
↓
ツールを使う
↓
結果を見る
↓
失敗する
↓
修正する
↓
再実行する
↓
成果物を確認する
↓
次の行動を決める
というループを回します。つまり、エージェントの能力は、
モデルの知能 × 実行環境 × フィードバックループ
によって決まります。ここで登場するのが「ハーネス」です。
2. Harness(ハーネス)とは何か
Harnessという言葉は、もともと「馬具」「安全装置」のような意味を持っています。
AIエージェントの文脈では、
AIエージェントが目的に向かって安全かつ効率的に行動できるようにする実行環境・仕組み
と考えると分かりやすいでしょう。単なるプロンプトではありません。
ハーネスには、例えば以下のようなものが含まれます。
- エージェントへの指示
- ツール
- ファイルシステム
- Git
- テスト環境
- 実行環境
- 状態管理
- コンテキスト管理
- ログ
- 評価システム
- エラー処理
- 権限管理
- サンドボックス
- 人間によるレビュー
- フィードバック機構
つまり、「AIそのもの」ではなく、「AIが仕事をするための環境」です。
3. AIエージェントの性能は「モデル」だけで決まらない
例えば、同じLLMを使っている2つのエージェントがあるとします。
Agent A
ユーザー
↓
LLM
↓
回答
Agent B
ユーザー
↓
目的設定
↓
LLM
↓
ツール利用
↓
ファイル操作
↓
コード実行
↓
テスト
↓
結果確認
↓
エラー分析
↓
修正
↓
再テスト
↓
成果物
同じモデルを使っていても、後者のほうが複雑な仕事を自律的に遂行できます。
ここで重要なのは、モデルを交換するだけではなく、モデルを取り囲む環境を設計することです。これがHarness Engineeringの重要なポイントです。
4. そして重要になる「Loop Engineering」
では、Loop Engineeringとは何でしょうか。私はこれを、
AIエージェントが「実行 → 観測 → 評価 → 修正 → 再実行」という改善ループを継続的に回せるように設計すること
と捉えています。例えばソフトウェア開発なら、
コードを書く
↓
テストする
↓
失敗する
↓
ログを見る
↓
原因を分析する
↓
コードを修正する
↓
もう一度テストする
というループです。人間が全部やる必要はありません。AIエージェント自身にこのループを回させることができます。
5. 「答えを出すAI」から「改善するAI」へ
ここには非常に大きな違いがあります。
従来型のAIは、
質問
↓
回答
です。しかし、エージェント型AIでは、
目的
↓
計画
↓
実行
↓
観測
↓
評価
↓
修正
↓
再実行
↓
評価
↓
完成
となります。つまりAIの価値が、
「一回で正解する能力」から、「失敗しても自分で改善できる能力」へ
移っていきます。これはAIエージェントを考える上で極めて重要な変化です。
6. HarnessとLoop Engineeringの関係
この2つは別々の概念ですが、非常に強く結びついています。簡単に言えば、
- Harness = ループを回すための環境
- Loop Engineering = そのループ自体を設計・改善すること
です。図にすると、
┌──────────────┐
│ AI Agent │
└──────┬───────┘
│
▼
┌──────────────┐
│ Execute │
└──────┬───────┘
│
▼
┌──────────────┐
│ Observe │
└──────┬───────┘
│
▼
┌──────────────┐
│ Evaluate │
└──────┬───────┘
│
▼
┌──────────────┐
│ Repair │
└──────┬───────┘
│
└──────────────┐
│
▼
再実行
このループを成立させるための土台がHarnessです。
7. なぜ「ループ」が重要なのか
AIには必ず失敗があります。例えば、
- コードが動かない
- テストに失敗する
- APIの使い方を間違える
- ファイルを読み間違える
- 要件を取り違える
- 不完全な回答をする
- ツールの実行に失敗する
といった問題です。ここで重要なのは、「AIが失敗しないこと」ではありません。むしろ、
「失敗したときに、その失敗を検出して修正できること」
です。人間のエンジニアも同じです。優秀なエンジニアは、「最初から一発で完璧なコードを書く人」ではありません。むしろ、「問題を素早く発見し、原因を特定し、修正し、再検証できる人」です。AIエージェントにも同じ能力が必要になります。
8. 「AIに考えさせる」より「AIに検証させる」
AIエージェント開発で非常に重要なのが、生成より検証という考え方です。
例えば、「AI:コードを書きました」だけでは不十分です。その後に、
実行する
↓
テストする
↓
結果を見る
↓
期待値と比較する
↓
問題があれば修正
まで必要になります。つまり、
Generate
↓
Execute
↓
Verify
↓
Repair
↓
Repeat
という構造です。この「Verify」と「Repair」がループの品質を大きく左右します。
9. Harnessを設計するときに考えるべきもの
AIエージェント用のHarnessを設計するなら、少なくとも以下を考える必要があります。
① Context
AIが必要な情報にアクセスできるか。例えば、ドキュメント、コード、過去の実行結果、ユーザー要求、プロジェクトルールなどです。
② Tools
AIが実際に行動できるか。例えば、Shell、Git、Browser、API、Database、ファイル操作などがあります。
③ Execution
AIが実際に仕事を実行できる環境があるか。
④ Observation
AIが実行結果を見ることができるか。ここが非常に重要です。「実行した」だけでは意味がありません。実行結果をAIが観測できる必要があります。
⑤ Evaluation
結果が良かったのか悪かったのか判断できるか。
⑥ Recovery
失敗したときに復旧できるか。
⑦ Feedback
失敗から次の行動を改善できるか。
10. 良いHarnessは「AIの自由度」を上げる
一見すると、「AIに制限をかけるのがHarness」のように思えます。しかし、実際には逆の側面があります。
安全な実行環境、テスト環境、ログ、ロールバック、権限管理などが整っていれば、AIにより大きな仕事を任せることができます。
例えば、
安全なサンドボックス
+
Git
+
自動テスト
+
ログ
+
評価
+
ロールバック
があれば、AIにかなり自由にコードを書かせることができます。つまりHarnessは、
AIを縛るための仕組みではなく、AIに自由に仕事をさせるための安全装置とも言えます。
11. Loop Engineeringは「AIへの指示」ではなく「環境への設計」
ここも重要なポイントです。AIが失敗したとき、「もっと注意して」とプロンプトを追加するだけでは、根本的な解決にならない場合があります。
例えばAIがコードを間違えるなら、「もっと丁寧にコードを書いてください」ではなく、
コードを書く
↓
自動テスト
↓
失敗結果を取得
↓
エラーをAIへ返す
↓
修正
↓
再テスト
という仕組みにする。つまり、プロンプトで解決するのではなく、ループで解決するという発想です。
12. AIエージェント開発の本質は「ループの設計」になる
今後、AIモデルの性能がさらに向上すると、単純な「プロンプトエンジニアリング」だけでは差別化が難しくなります。モデルそのものは、多くの開発者が同じAPIから利用できるからです。
そこで重要になるのが、
モデル
+
Harness
+
Tools
+
Context
+
Evaluation
+
Feedback Loop
です。つまり、「どのモデルを使うか」だけではなく、「そのモデルをどんなループの中に置くか」が競争力になるということです。
13. これはソフトウェア開発だけの話ではない
Loop Engineeringは、コード生成だけに限定されません。
リサーチエージェントなら、
調査 → 情報収集 → 情報源評価 → 矛盾発見 → 追加調査 → レポート作成 → ファクトチェック → 修正
営業エージェントなら、
顧客分析 → 提案作成 → 顧客反応 → 分析 → 提案改善 → 再アプローチ
コンテンツ制作なら、
企画 → 執筆 → SEO分析 → 読者評価 → 修正 → 公開 → アクセス解析 → 改善
という形になります。このように、「仕事そのものが改善ループになる」領域では、Loop Engineeringの考え方を応用できます。
14. Human-in-the-loopからAgent-in-the-loopへ
これまでのAIシステムでは、
AI → 人間が確認 → 人間が修正
というHuman-in-the-loopが中心でした。しかし、AIエージェントが発達すると、
AI → 実行 → 評価 → AI自身が修正 → 再実行
というループを構築できるようになります。もちろん、人間が最終承認する場面も残ります。したがって、理想的には、
Agent Loop
↓
自律的な改善
↓
Human Review
↓
最終承認
という構造になります。
15. これからのAIエンジニアに必要な能力
この変化によって、AIエンジニアの仕事も変わります。
これまでは、「モデルにどう指示するか」が重要でした。これからは、「AIがどう仕事をするシステムを設計するか」が重要になります。
必要になる能力は、
- LLM
- プロンプト
- エージェント設計
- API
- ツール設計
- コンテキスト設計
- 評価
- 自動テスト
- Git
- セキュリティ
- オブザーバビリティ
- フィードバックループ
などです。つまり、AIを使う能力から、AIが働く環境を設計する能力へ移っていきます。
16. 実際にAIエージェントを設計するなら
ここまでの話を実際の開発に落とし込むと、次のような構造になります。
┌─────────────────────────────┐
│ User Goal │
│ ユーザーの目的 │
└──────────────┬──────────────┘
↓
┌─────────────────────────────┐
│ AI Agent │
│ Planning / Reasoning │
└──────────────┬──────────────┘
↓
┌─────────────────────────────┐
│ Tools │
│ Git / Shell / API / Browser │
└──────────────┬──────────────┘
↓
┌─────────────────────────────┐
│ Execution │
│ 実際に仕事をする │
└──────────────┬──────────────┘
↓
┌─────────────────────────────┐
│ Observation │
│ 実行結果を観測する │
└──────────────┬──────────────┘
↓
┌─────────────────────────────┐
│ Evaluation │
│ 成果を評価する │
└──────────────┬──────────────┘
↓
┌──────┴──────┐
│ │
Success Failure
│ │
↓ ↓
完了 Repair
│
↓
再実行
│
└──────→ Loop
このループ全体を支えるのがHarnessです。
17. Harness EngineeringとLoop Engineeringの違い
ここまでを整理すると、両者には次のような違いがあります。
| 概念 | 主な役割 |
|---|---|
| AI Model | 推論・生成する |
| Agent | 目的に向かって行動する |
| Tools | AIに行動能力を与える |
| Harness | AIが行動する環境を提供する |
| Evaluation | 結果を評価する |
| Feedback | 次の行動に情報を返す |
| Loop Engineering | 実行・評価・修正のループを設計する |
つまり、Harnessは「AIが働く場所」であり、Loop Engineeringは「AIが仕事を改善し続ける仕組み」です。
18. AI時代のソフトウェア開発は「コードを書くこと」だけではなくなる
これまでのソフトウェア開発では、
人間 → コードを書く → テストする → 修正する
という流れが基本でした。しかしAIエージェントがコードを書くようになると、
人間
↓
目的を定義する
↓
AI Agent
↓
コード生成
↓
実行
↓
テスト
↓
評価
↓
修正
↓
再実行
↓
人間が承認
という構造になります。ここで人間の仕事は、「コードを1行ずつ書くこと」から、「AIが正しく仕事をするシステムを設計すること」へ移っていきます。
19. 最も重要なのは「失敗を前提に設計する」こと
AIエージェントを設計するとき、「AIが間違えないようにする」ことだけを考えると、非常に複雑なプロンプトやルールを大量に追加することになります。しかし、AIが完全に間違えない状態を作るのは困難です。
そこで発想を変えます。
AIは間違える。だから、間違えても安全に修正できるようにする。
これがHarnessとLoop Engineeringの重要な思想です。例えば、
AIが間違える
↓
エラーを検出する
↓
原因を観測する
↓
AIにフィードバックする
↓
修正する
↓
再実行する
↓
再評価する
というループを最初から設計しておけば、AIの失敗をシステムの一部として扱えます。
20. まとめ
AIエージェント時代に重要になるのは、単純なモデル性能だけではありません。重要なのは、
Model
↓
Harness
↓
Tools
↓
Execution
↓
Observation
↓
Evaluation
↓
Repair
↓
Feedback
↺(Loopへ戻る)
というシステム全体です。私はこの考え方を、Harness Engineering × Loop Engineeringとして捉えると、AIエージェント開発の本質がかなり分かりやすくなると考えています。
そして最も重要なのは、
AIに「正しい答えを出させる」ことではなく、AIが「間違いを発見し、自分で修正し、より良い結果に到達できるループ」を設計すること。
これからのAIエンジニアリングでは、この「ループを設計する能力」が大きな競争力になるはずです。
最後に
AIエージェントの進化を考えるとき、「どのLLMが一番賢いか?」という問いだけでは不十分です。むしろ、
「そのAIを、どんな環境に置き、どんなツールを与え、どんなフィードバックループを回すのか?」
という問いが重要になります。AIの能力は、モデルの中だけに存在するわけではありません。
AIが置かれている環境そのものが、AIの能力を決める。
これが、Harness EngineeringとLoop Engineeringを考える上での重要なポイントです。
関連キーワード
AI / AIエージェント / LLM / 生成AI / Agentic AI / AI Agent / AIエンジニアリング / Harness Engineering / Harness / Loop Engineering / ループエンジニアリング / LLMエージェント / プロンプトエンジニアリング / ソフトウェア開発 / 自律型AI / AI開発 / AIコーディング / AIプログラミング
Tags
AI AIエージェント LLM 生成AI AgenticAI ソフトウェア開発