LLM 本体ではなく、その周囲に配置する制御レイヤー(CLAUDE.md・Skills・Agents・Hooks・Memory など)を設計する工学。Anthropic が「長時間稼働エージェントの信頼性は、モデルの賢さよりハーネスの完成度に依存する」として提唱した。
概要
ハーネス(harness)とは「装具・支持具」の意。LLM にプロンプトを投げる前後で、次のような制御を外側から加える仕組み全般を指す。
- プロンプト前処理(コンテキストの自動追加・編集・除外)
- ツール呼び出しの権限制御(allow / deny)
- イベント駆動フック(SessionStart / PreToolUse / PostToolUse / Stop 等)
- セッション跨ぎのメモリ永続化
- サブエージェントの役割分離と並列制御
モデル自体の性能が同じでも、ハーネスの設計次第でエージェントの 信頼性・監査性・コスト・持続可能性 が大きく変わる。
なぜハーネスが必要か
長時間稼働するエージェントは、以下のような問題に必ず直面する。
| 問題 | ハーネスによる解決 |
|---|---|
| Context Rot | Phase 境界で compact、常時ロードの最小化 |
| 破壊的操作のリスク | Hooks と deny で宣言的にブロック |
| セッション切断で文脈消失 | ステアリング・メモリに状態を永続化 |
| サブエージェントの観点重複 | 責務マトリクスで役割を分離 |
| Prompt cache の崩壊 | 揮発情報の配置ルール化 |
これらはモデル側で完全には解けないため、ハーネス層で吸収する必要がある。
Claude Code における 7 層ハーネスの例
| 層 | 役割 |
|---|---|
| CLAUDE.md | 必須ルール・禁止事項 |
| Skills | 領域別ワークフロー |
| Agents | 専門特化サブエージェント |
| Settings | 権限・hooks 定義 |
| Hooks | イベント駆動の自動ゲート |
| Memory | セッション跨ぎの学習永続化 |
| Steering | タスク単位の詳細仕様・進捗 SSoT |
詳細は Claude Code 7層ハーネスエンジニアリング を参照。
関連記事
- Claude Code 7層ハーネスエンジニアリング — 7 層の具体的な実装と運用
- Claude Code ベストプラクティス — CLAUDE.md / hooks / commands / skills によるハーネス構築
- 品質ゲート編 — ハーネスが支える品質ゲートの 5 段構成
- Agent Teams 編 — ハーネス上で協調するマルチエージェント
関連用語
- コンテキストエンジニアリング — ハーネス内部で流通するトークンを curation する上位概念
- Context Rot — ハーネスが防ぐべき代表的な失敗モード