**AIエージェントのハーネス設計(Harness Engineering)**

「ハーネス」とは、LLM(モデル)を単なるエンジンとして使い、周囲の環境・仕組み全体で信頼性・安全性を確保する「足場・手綱」のことです。モデルそのものより、ハーネス(Memory + Skills + Protocols + Operational Layer)がエージェントの性能を大きく左右するフェーズに入っています。[[1]](https://x.com/CobusGreylingZA/status/2043638576848707662)

モデルは「CPU」、ハーネスは「OS」や「車体」に相当します。プロンプトエンジニアリングの次に来るレイヤーとして、2025-2026年にAnthropic、OpenAI、LangChainコミュニティで急速に注目されています(OpenAIが人間が1行も書かずに100万行のプロダクションコードをエージェントで構築した事例など)。[[2]](https://x.com/taimuhanashiro/status/2023008135464788127)

### 1. ハーネス設計の核心原則

- **Non-opinionated(非 prescriptive)であること**:ループを基本構造にし、モデルに「どのツールを使うか」「サブエージェントを spawn するか」「いつ終了するか」をできるだけ自由に決めさせる。Bitter Lesson(Sutton)を意識し、手厚い手作業ルールより検索の自由度を優先。[[3]](https://x.com/wenkafka/status/2076651355960455503)
- **Externalization(外部化)**:知能をモデル内部ではなく外部システムに押し出す。
- **Memory**:Working Context / Semantic / Episodic / Personalized
- **Skills**:Operational procedures、decision heuristics、normative constraints(境界ルール)
- **Protocols**:Agent-User、Agent-Agent、Agent-Tool の契約
- **Operational Mediators**:Sandboxing、Observability、Evaluation、Approval Loops、Compression、Sub-agent Orchestration がこれらを仲介。[[4]](https://x.com/i/status/2043638576848707662)

- **権限の細分化とHuman-in-the-Loop(HITL)**:閲覧・提案・実行を分け、破壊的操作(本番反映、削除)は必ず人間承認を挟む。
- **評価ファースト**:単発実行ではなく、継続的な評価ハーネス(自動メトリクス + LLM Judge + 回帰テスト)を持つ。
- **トレース収集と自己改善**:全実行履歴を構造化保存し、後でハーネス自体を改善するフィードバックループを組む。

### 2. 推奨アーキテクチャ(2026年時点の実践的設計)

#### 全体構造(テキスト図)
```
[Goal Input & Session Manager]

[State Graph Orchestrator] ←→ [Observability & Tracing Layer] (LangSmith/Phoenix/OpenTelemetry)

┌────── Memory System ──────┐
│ Working Memory (in-graph) │
│ Semantic (Vector DB) │
│ Episodic (Trajectory Store)│
│ Procedural/Skills (SOP DB) │
└────────────────────────────┘

[Planner / Reasoner (LLM call with structured output)]

[Tool & Action Layer] ←→ [Permission & Guardrail Engine]
- Tiered Tools (Read / Propose / Execute / Destructive)
- Sandbox (Docker / isolated browser / rate limit)

[Verification & Evaluation Harness]
- Rule-based checks
- LLM-as-Judge (専用rubric)
- Regression Test Suite
- Human Approval Gate

[Output / Sub-agent Spawn / Termination Decision]

[Session Close & Trace Persistence → Self-Improvement Loop]
```

**技術スタック例(現実的)**
- **Orchestrator**: LangGraph(状態機械として最強。checkpointing、内蔵persistence、human-in-the-loopが優秀)
- **Model Abstraction**: LiteLLM(複数プロバイダー切り替え容易)
- **Memory**: PostgreSQL + pgvector(semantic)、Redis(working)、専用Trajectory DB
- **Structured Output / Tools**: Pydantic v2 + instructor / Outlines
- **Observability**: LangSmith or Helicone + OpenTelemetry
- **Sandbox**: Docker + Firecracker(コード実行)、Playwright in isolated container(ブラウザ)
- **Evaluation**: Custom Eval Harness + DeepEval / RAGAS風のLLM Judge + 手書き回帰テストスイート

### 3. 各コンポーネントの詳細設計

**Memory Harness**
- Working Memory:グラフのstateとして現在のタスク、未解決質問、仮説を保持。
- Semantic Memory:長期知識はRAG。クエリごとに圧縮・要約してコンテキストを節約。
- Episodic Memory:過去の成功/失敗トレースをembedding + メタデータ(コスト、成功率、レビュー結果)で検索。
- Procedural Memory:SOP(Standard Operating Procedure)をJSON/YAMLでバージョン管理。モデルに「このタスクではこの手順を守れ」と動的に注入。

**Evaluation Harness(特に重要)**
運用品質を決める核心。[[5]](https://x.com/SkillupAi/status/2077709848410833067)
- 自動メトリクス:ステップ数、トークンコスト、成功率、ツール呼び出しパターン。
- LLM Judge:タスクごとに専用rubric(例:コードなら「セキュリティ脆弱性なし」「差分が最小」「テスト通過」)。
- 回帰テスト:重要なベンチマークや社内タスクを固定テストケース化。
- 継続検証:本番実行後も定期的に「drift detection」を行い、ハーネスを更新。
- フォールバック:モデルが自信なしの場合に自動で人間エスカレーション or シンプルモードに切り替え。

**Guardrail & Permission Layer**
- ツールごとにPermission Tierを設定(YAML定義推奨)。
- 破壊的アクションは必ず「提案→人間承認→実行」フロー。
- 監査用サブエージェントは、メインエージェントと異なるモデル・情報セットを使う(価値観の単一化防止)。[[6]](https://x.com/kevin_aiuse/status/2077637478220222728)

**Self-Improving Harness(先進的)**
トレースを蓄積 → 別メタエージェントが「このハーネスのどこがボトルネックか」を分析 → プロンプトテンプレート、ツール定義、チェックポイントの追加を提案・自動適用する仕組み(HarnessX的なアプローチ)。[[7]](https://x.com/dair_ai/status/2066563390538178784)

### 4. 実装のポイントと注意事項

1. **最初は最小限から**:完璧なハーネスを最初から作らず、LangGraphでシンプルReActループ+Memory+基本Evalから始め、運用しながら拡張。
2. **Configuration as Code**:`agent.yaml` でLLM、ツールセット、memory config、eval rubrics、approval policyを一元管理。
3. **コスト・レイテンシ最適化**:ハーネス設計次第でコスト41%、レイテンシ44%、トークン38%削減した研究もある。[[8]](https://x.com/youshenlim/status/2075781941123567626)
4. **運用を見据えた設計**:データ品質、ガードレール、メトリクス、トレース収集、HITLを最初から組み込む。[[5]](https://x.com/SkillupAi/status/2077709848410833067)

### 参考・既存リソース
- LangGraph(最も実践的なハーネス基盤)
- Harrison Chase氏の記事(モデル vs Harnessの考え方の元ネタ)
- AnthropicのAgentic論文群
- 日本語資料:Zenn「Harness Engineeringとは何か?」、SpeakerDeck「運用を見据えたAIエージェント設計」(データ品質・評価ハーネス・HITLの実践例)[[9]](https://x.com/dragonb63254274/status/2077614628037877997)

必要であれば、**具体的なLangGraphコードスケルトン**、**agent.yaml例**、**評価rubricテンプレート**、または特定のユースケース(コーディングエージェント、研究エージェント、社内業務エージェント)に特化した設計をさらに深掘りします。

どのようなドメイン・規模のエージェントを想定していますか? より具体的な設計図や実装例をお渡しします。