**AIエージェント ハーネス設計ガイド(2026年最新)**
「AIエージェント ハーネス設計」は、現在最も重要なトピックのひとつです。プロンプトエンジニアリングやコンテキストエンジニアリングの次に来るレイヤーとして、**Harness Engineering(ハーネスエンジニアリング)** が業界の主流になっています。
### 1. ハーネスとは何か
**ハーネス = LLMを本物のAgentに変える「足場(scaffolding)」全体**です。
LLM自体はただの「ステートレスなテキスト→テキスト関数」です。記憶もなく、外部とのやり取りもできず、結果を検証することもできません。これを**本物の自律ワーカー**にするために包み込む全レイヤーがハーネスです。[[1]](https://x.com/ShinkaIoT/status/2065937994364920010)
よく使われる比喩:
- **モデル = CPU**
- **ハーネス = OS**
モデルが賢くなればなるほど「薄いモデル+厚いハーネス(Thin Model + Thick Harness)」という逆転アーキテクチャが有効になっています。知能をモデル weights の中に詰め込むのではなく、**外部(Memory / Skills / Protocols)に押し出す**設計です。[[2]](https://x.com/akshay_pachaar/status/2045510648474530263)
### 2. 主要コンポーネント(必須プリミティブ)
優れたハーネスは以下の要素を持っています:
**1. Persistent Memory & Workspace**
- 単一の長いコンテキストに全部詰め込まない
- 孤立した作業ディレクトリ(workspace)を初期化し、中間成果物をファイルシステムに書き出す
- 階層構造:Working Memory + Semantic Memory + Episodic Memory + Vector Store
**2. Context Optimization / Token Compaction**
- 長いツール出力(例: 10,000行のログ)を自動で要約・クリッピング
- 重要なヘッダーとフッターだけをモデルに返し、完全ログは別途保存
**3. Tool Execution + Sandbox**
- Containerization(Docker / セキュアな実行環境)
- 権限管理(Read-only → 確認必須 → Destructive Action)
- 実行結果を構造化してモデルにフィードバック
**4. Governance & Runtime Loop**
- 最大ステップ数・時間制限・予算保護(無限ループ防止)
- **Ralph Loop**(最重要パターンのひとつ):モデルが「終了しました」と出力しても、ハーネスがインターセプト → 自動テスト/linter/validationを実行 → 失敗したら「修正して続けろ」と強制的に戻す
**5. Mediators(仲介層)**
- Observability(OpenTelemetryトレース、コスト・レイテンシ追跡)
- Evaluators(確定論的validator + LLM-as-Judge)
- Approval Loops(Human-in-the-Loop)
- Sub-agent Orchestration(Supervisorパターン)
**6. Skills & Protocols**
- Skills:手続き的知識、ヒューリスティック、ドメイン制約
- Protocols:Agent-User、Agent-Agent、Agent-Toolの契約定義
### 3. 設計原則(これを守るのが最も重要)
1. **Reliability First** — LLMを絶対に信用しない。すべてをvalidateする。
2. **Scaffolding Designed to be Removed** — モデルが賢くなったらハーネスを薄くできるように設計(Anthropicが実際にやっている手法)。
3. **Human Steer, Agent Execute** — 人間は目標・制約・品質基準を決め、エージェントに実行させる。
4. **Observability by Default** — すべてのステップがトレース可能。
5. **Build vs Buyの判断** — 2026年現在、ゼロから全部作る人は少ない。**LangGraph** をベースに拡張するか、CrewAI/OpenAI Agents SDKをカスタマイズするのが現実的。完全に自作するなら「最小の didactic なハーネス」から始めるのがおすすめ。[[3]](https://x.com/pauliusztin_/status/2064614918217675067)
### 4. 高レベル設計例(擬似コード)
```python
class AgentHarness:
def __init__(self,
llm,
tools,
memory, # Persistent workspace + hierarchical
sandbox, # 隔離実行環境
evaluators, # validator + LLM judge
governance): # 制限・HITL・予算
async def run(self, task: str, max_steps=30):
workspace = self.memory.create_workspace()
state = AgentState(task=task, workspace=workspace)
for step in range(max_steps):
# 1. Context Compaction
context = self.memory.get_compacted_context(state)
# 2. LLM呼び出し(tool calling)
response = await self.llm.generate(context, tools=self.tools)
# 3. Ralph Loop的な終了判定
if response.is_finish():
if await self.evaluators.validate(workspace):
break
# 失敗したら強制継続 + フィードバック注入
state.add_feedback(self.evaluators.get_detailed_failure())
continue
# 4. Sandboxで安全に実行
execution_result = await self.sandbox.execute(response.tool_call)
# 5. State更新 + 観測可能性
state.update(execution_result)
self.observer.trace(step, response, execution_result, cost)
return workspace.get_final_artifacts()
```
### 5. 実践的な推奨
- **スタートおすすめ**:LangGraph(状態を明示的なグラフで管理できる最強のハーネス基盤)
- 次に追加すべきもの(優先度順):
1. Persistent Workspace
2. 強力なContext Compaction
3. Ralph Loop的な自動検証ループ
4. きめ細かいPermission & Governance
- 評価:単なる最終回答精度ではなく、**Trajectory評価**(過程全体)と**確定論的validator**を組み合わせる。
---
ハーネスは「一度作ったら終わり」ではなく、**継続的に進化させるもの**です。モデルがアップデートされるたびに「この部分はもうハーネスでやらなくてよくなった」と削れる設計が理想です。
具体的に深掘りしたい部分があれば教えてください:
- Sandboxの実装パターン
- Memory階層の詳細設計
- Ralph Loopのコード例
- LangGraphを使った実装テンプレート
- マルチエージェントハーネス
- 企業内導入時のガバナンス設計
必要に応じて、さらに具体的なアーキテクチャ図やコード例も出せます。
X Learn [2026-06-16] AIエージェント ハーネス 設計