**AIエージェントハーネスの設計(2026年最新思想対応版)**
「モデルはエンジン、ハーネスは車(またはOS)」という考え方が主流になっています。プロンプトエンジニアリング → コンテキストエンジニアリング → **ハーネスエンジニアリング** への明確な進化です。
良いハーネス設計により、モデルを交換しても成果が安定し、長期実行(数ヶ月・数百万行規模)でも信頼性が保たれます。以下に、実践的なアーキテクチャ設計を示します。
### 1. 設計原則(最重要)
1. **Intelligence Externalization(知能の外部化)**
LLMは「薄く」保つ。記憶・スキル・判断基準・プロトコルはハーネス側に持つ。
2. **Environment Design First**
モデル能力より環境(ハーネス)が進捗を決める(OpenAIの実例より)。
3. **Human Steer, Agent Execute**
人間は「地図(ゴール・制約・品質基準)」を渡し、AIは実行。失敗時は「何が足りないか」を人間が特定。
4. **Self-Review & Iterative Loops**
セルフレビュー、自動テスト実行、修正ループをハーネスに組み込む。
5. **Plugin-First & Observability-First**
モデル・ストレージ・サンドボックス・スケジューラ・UIまで全てプラグイン化。全ての行動をトレース可能にする。
6. **Protocol & Permission Centric**
Agent-User、Agent-Agent、Agent-Tool間の契約を明確に定義。
### 2. 全体アーキテクチャ
```mermaid
graph TD
Kernel[Harness Kernel
Execution Engine + Plugin System] --> Memory[Memory Hierarchy]
Kernel --> Skills[Skills & Tools Registry
+ Sandbox]
Kernel --> Protocols[Protocols & Interfaces]
Kernel --> Mediators[Operational Mediators]
Mediators --> Evaluator[Evaluator & Self-Critic
Quality Gates]
Mediators --> Observer[Observability & Tracing]
Mediators --> Orchestrator[Orchestrator
Multi-Agent / Workflow]
Mediators --> Guardrails[Guardrails & Permissions]
Memory --> STM[Short-term Working Context]
Memory --> Semantic[Semantic Memory
Vector DB]
Memory --> Episodic[Episodic Memory
Trajectory Store]
Memory --> Procedural[Procedural Memory
Skills & Heuristics]
subgraph "Thin LLM"
Kernel
end
classDef core fill:#3b82f6,stroke:#1e40af,color:white
class Kernel core
```
**Harness Kernel**を中心に、全てがプラグインとしてマウントされる設計(DeepSeek dshの思想に近い)です。
### 3. 主要コンポーネント詳細
#### **1. Harness Kernel(中核)**
- メインループの制御(Observe → Reason → Act → Critique → Continue)
- プラグインシステム(モデル、メモリ、ツール、サンドボックス全てを動的にマウント/アンマウント)
- 状態機械(LangGraph風だが、より汎用的なWorkflow Engine)
#### **2. Memory Hierarchy(4層メモリ)**
- **Short-term Working Context**: 現在のタスクに必要な最小情報(「地図を渡す」思想)
- **Semantic Memory**: Vector DB(Qdrant/Chroma)+ 自動圧縮
- **Episodic Memory**: 過去の成功・失敗トレース(RAGで類似事例検索)
- **Procedural Memory**: スキル・ヒューリスティック・規範(再利用可能なプレイブック)
#### **3. Skills & Tools Layer**
- ツールに豊富なメタデータ(権限、事前条件、事後条件、例)
- サンドボックス必須(E2B推奨 or Firecracker)
- スキルは「手順書」としてバージョン管理
#### **4. Evaluation & Self-Review System**
- 専用Critic Agent(別モデルでも可)
- 自動テスト生成 → 実行 → 修正のループ
- LLM-as-Judge + ルールベース検証のハイブリッド
- Quality Gate(一定基準を満たさないと次に進まない)
#### **5. Protocols & Multi-Agent Layer**
- 明確な通信プロトコル定義(JSON Schema厳格)
- Hierarchical(Supervisor + Workers)、Debate、Sequentialなど複数パターンサポート
#### **6. Operational Mediators**
- **Observability**: OpenTelemetry + 専用ダッシュボード(思考・ツールコール・レビュー履歴全て可視化)
- **Guardrails**: 権限チェック、出力検証、コスト/ステップ制限
- **Approval Loops**: 重要なアクションはHuman-in-the-Loop
### 4. 実装のポイント(Pythonスケルトン)
```python
from pydantic import BaseModel
from typing import Protocol
from enum import Enum
class MemoryType(Enum):
SHORT_TERM = "short_term"
SEMANTIC = "semantic"
EPISODIC = "episodic"
PROCEDURAL = "procedural"
class HarnessPlugin(Protocol):
def mount(self, kernel: 'HarnessKernel'): ...
def unmount(self): ...
class HarnessKernel:
def __init__(self):
self.plugins: dict[str, HarnessPlugin] = {}
self.state = AgentState()
self.tracer = Tracer()
def register_plugin(self, name: str, plugin: HarnessPlugin):
self.plugins[name] = plugin
plugin.mount(self)
async def run(self, task: Task) -> Result:
self.tracer.start_trace(task)
# メインループ(Self-Review付きReAct + Critique)
while not self.state.is_complete():
observation = await self.get_observation()
thought = await self.llm.reason(observation, self.state)
action = await self.decide_action(thought)
result = await self.execute_with_sandbox(action)
critique = await self.evaluator.critique(result)
if critique.needs_revision:
self.state.add_revision(critique.feedback)
continue
self.state.update(result)
self.tracer.end_trace()
return self.state.final_result
```
### 5. 推奨技術スタック(2026年現在)
- **Core**: Python 3.11+ + Pydantic v2 + LangGraph(ベースとして)または自前Kernel
- **Memory**: PostgreSQL + PGVector or Qdrant
- **Sandbox**: E2B(最もおすすめ)または Modal / Firecracker
- **Observability**: OpenTelemetry + Phoenix or LangSmith + 自前ダッシュボード
- **Model Layer**: 完全スイッチャブル(OpenAI, Anthropic, Grok, DeepSeek, vLLMローカル)
- **Workflow**: LangGraph or Temporal(長時間実行向け)
### 構築の推奨順序
1. Kernel + Plugin System
2. Observability & Tracing(これを最初に固めると後が楽)
3. Memory Hierarchy
4. Sandbox + Tool Registry + Guardrails
5. Evaluator & Self-Review Loop(これが差別化要因)
6. Multi-Agent Protocols
---
この設計は、OpenAIのハーネス事例、AnthropicのLong-running App Harness、Harrison Chaseらの議論、DeepSeek dshなどの最新動向を統合したものです。
具体的に「コーディングエージェント向け」「Web操作エージェント向け」「社内業務自動化向け」など、**用途を限定**してさらに詳細設計(クラス図、状態遷移、具体的なPlugin APIなど)が必要であれば教えてください。すぐに深掘りします。
X Learn [2026-08-14] AIエージェント ハーネス 設計