**AIエージェント ハーネス設計(2026年現在のベストプラクティス)**

「ハーネスエンジニアリング」は、プロンプトエンジニアリングやコンテキストエンジニアリングの次のレイヤーです。LLM(モデル)を**エンジン**とし、その周囲に信頼性・安全性・再現性を提供する「足場(scaffolding)」や「手綱(harness)」全体を設計する考え方です。モデルが賢くなることに頼るのではなく、ハーネス(Memory、Skills、Protocols、運用レイヤー)を強くすることで、エージェントを本番で使えるレベルに引き上げます。[[1]](https://x.com/tetumemo/status/2037876018745385083)[[2]](https://x.com/CobusGreylingZA/status/2043638576848707662)

モデルは「CPU」、ハーネスは「OS」に相当します。同じモデルを使ってもハーネスの質で性能が劇的に変わる事例(LangChainがTerminal BenchでTop30→Top5に躍進、OpenAIのCodexエージェントで人間が1行も書かずに100万行の社内プロダクト構築)が報告されています。[[3]](https://x.com/taimuhanashiro/status/2023008135464788127)

### 1. 設計の基本原則

- **外部化(Externalization)**:知能をモデル内に閉じ込めず、Memory(作業記憶・意味記憶・エピソード記憶)、Skills(手順・ヒューリスティック・規範的制約)、Protocols(対ユーザー・対エージェント・対ツールの契約)をハーネス側に置く。
- **安全性優先**:閲覧・提案・実行の権限を明確に分離。送信・削除・本番反映などの破壊的操作は必ず人間承認を挟む。同じモデルで実行と監査を完結させない。[[4]](https://x.com/kevin_aiuse/status/2077637478220222728)
- **Scaffolding is temporary**:ハーネスは足場。モデルが向上したら計画ステップや複雑なツール定義を削除できる設計に(AnthropicのClaude Codeが実践)。ただし、モデルが特定のハーネスで訓練されている場合は慎重に。[[5]](https://x.com/i/status/2042586319390674994)
- **観測可能性と学習**:すべての軌跡(trajectory)を構造化ログ化。失敗からハーネス自体を動的に適応させる(MemoHarnessのようなアプローチ)。
- **ループ設計**:単純なReActではなく、Plan → Act → Observe → Verify → Learnのネストされたループを複数階層(エージェント分・開発者分・市場フィードバック分)で設計。

「禁止事項を増やしてマイクロマネジメント」ではなく、「AIが安心して最大限能力を発揮できる明確な境界と環境」を作るのが重要です。[[6]](https://x.com/_maogeng/status/2078451674029654401)

### 2. 推奨アーキテクチャ

```mermaid
graph TD
subgraph "AI Agent Harness Core"
Orchestrator[Orchestrator
Router & State Manager]
Loop[Execution Loop Engine
Plan-Act-Observe-Verify-Learn]
Safety[Safety & Permission Layer
RBAC + Human Approval Gates]
Memory[Memory System
Working | Semantic | Episodic | Procedural]
Skills[Skills & Tools Registry
with Schema Validation]
Eval[Independent Evaluator
LLM-as-Judge + Rules + Human]
Observability[Observability Stack
OpenTelemetry + Logs + Metrics]
Human[Human-in-the-Loop Interface]
end

LLM[(Swappable LLM Engine
Thin Model)]
Tools[(External Tools / APIs
Sandbox: Docker/Firecracker)]

Orchestrator --> Loop
Loop <--> Safety
Loop <--> Memory
Loop <--> Skills
Loop <--> Eval
Loop <--> Observability
Orchestrator <--> LLM
Skills <--> Tools
Safety <--> Human
Eval <--> Human
Observability -.-> All
```

この図の中心は**Orchestrator**と**Loop**。LLMは薄く保ち、ハーネスが意思決定の大部分を構造化します。LangGraph寄り(厚いハーネス)かAnthropic寄り(薄いハーネス)かはユースケース次第ですが、2026年現在は「厚く始めて、徐々に薄くしていく」アプローチが現実的です。[[5]](https://x.com/i/status/2042586319390674994)

### 3. 主要コンポーネント詳細

**Execution Loop Engine**
Plan(計画立案)→ Act(ツール実行)→ Observe(結果取得)→ Verify(独立評価)→ Learn(記憶更新・ハーネス適応)の閉ループ。状態を必ず永続化(worktreeやJSONLログ)。中断・再開・人間介入を第一級でサポート。

**Safety & Permission Layer**
- 権限モデル:閲覧(read)、提案(propose)、実行(execute)を分離。
- 破壊的操作は人間ゲート必須。
- Sandbox必須(Docker + gVisor または Firecracker microVM)。
- 「判断不能時は拒否・停止・エスカレーション」フローを明示的に実装。[[4]](https://x.com/kevin_aiuse/status/2077637478220222728)

**Memory System**
- Working Context(現在のタスク)
- Semantic Knowledge(ベクトルDB)
- Episodic Memory(過去軌跡)
- Procedural Memory(スキル・ベストプラクティス)
コンテキスト圧縮(compression)を定期実行。

**Skills & Tools Registry**
ツールは厳格なJSON Schema + 出力パーサ必須。ツール呼び出し失敗時の自動リトライと代替パスをハーネス側で定義。

**Independent Evaluator**
エージェント自身に自己採点させない。別モデル or ルールベース + 人間レビュー。差分ログと操作履歴を重視。[[4]](https://x.com/kevin_aiuse/status/2077637478220222728)

**Observability & State Management**
OpenTelemetryで思考トレース、Prometheus/Grafanaでメトリクス、構造化ログ(LangSmith風)。すべての状態をgit-like worktreeやoutboxパターンで管理(複数エージェント非同期協調時にも有効)。[[7]](https://x.com/methylone/status/2077285777218875546)

### 4. ループデザインパターン(実践例)

坂本直樹氏らが整理しているように、Agent Loopを以下の契約で設計すると運用しやすくなります:
- 状態保存・復元契約
- 検証・人間承認契約
- 学習・ハーネス更新契約
- テナント/プロジェクト分離契約
- graceful degradation(性能低下時も安全に停止)

特にコーディングエージェントでは「worktree分離 + diffレビュー + 自動テストループ」が鉄板です。

### 5. 実装Tipsと技術スタック(2026年推奨)

- **フレームワーク基盤**:LangGraph(状態機械として強い)または自前実装(Pydantic v2 + asyncio + persistence layer)。
- **Sandbox**:Firecracker + strict schema validation。
- **Observability**:OpenTelemetry + Loki + Grafana。
- **Memory**:Chroma / PGVector + episodic store(SQLite + JSON)。
- **評価**:専用Evaluator LLM(小さめのモデルで十分な場合が多い) + Rule Engine。
- **動的適応**:MemoHarness風に、失敗診断ドキュメントを生成して類似ケースからハーネスを編集。

シンプルなPythonコアループの骨格例:

```python
class AgentHarness:
def __init__(self, safety: SafetyLayer, memory: MemorySystem, evaluator: Evaluator):
self.loop = ExecutionLoop(safety, memory, evaluator)

async def run(self, task: Task) -> Result:
trajectory = []
while not task.is_complete():
plan = await self.llm.plan(task, self.memory.get_context())
action = await self.loop.execute_step(plan)
observation = await self.tools.execute(action)
verification = await self.evaluator.verify(action, observation)

if verification.needs_human:
await self.human_approval(verification)

await self.memory.learn(observation, verification)
trajectory.append((plan, action, observation, verification))

if verification.is_critical_failure:
await self.safety.escalate()
break
return self.synthesize_result(trajectory)
```

### 6. 適用例

- **コーディングエージェント**:権限分離 + worktree + 自動テスト + 人間PR承認。
- **Design Agent**:UI Journey自動検証ループ + 物理的制約を考慮したカスタム思考ハーネス(ARC-AGI-3で効いたSchemaハーネス類似)。[[8]](https://x.com/minervacosmetic/status/2077982938856403314)
- **複数エージェント協調**:outboxパターン + 中央特権なし + identity = (project, role) でテナント分離。[[7]](https://x.com/methylone/status/2077285777218875546)

### まとめと次のアクション

2026年現在、最もレバレッジが高いのは「ハーネス設計」です。モデルは頻繁に変わりますが、良いハーネスは長期的に価値を発揮し続けます。まずは**現在のワークフローで「何を外部化するか」「どこに人間ゲートを入れるか」「どう状態を永続化するか」**を紙に書き出してみてください。

具体的なユースケース(コーディング、デザイン、業務自動化など)があれば、もっと詳細なアーキテクチャやコード、Mermaid図を一緒に設計します。必要に応じてLoop Engineeringの10パターンやMemoHarness風動的適応の実装も深掘りできます。

参考文献・議論元:
- Anthropic / OpenAI / LangChain / CrewAIのハーネス哲学
- MemoHarness論文
- 実際の企業内大規模エージェント構築事例

ハーネスを強くすれば、エージェントは「賢い」だけでなく「信頼できる」ものになります。それが今の最前線です。