Skip to content

🟡 ハーネスエンジニアリングとは?

💡 このドキュメントの核心的な問い: 「モデルをうまく使うこと」と「モデルでシステムを作ること」はどう違うのか?


1. ハーネス(Harness)とは何か

「ハーネス」はもともと馬具(馬に装着する器具)に由来する言葉です。馬の力を安全に制御し、望む方向へ導くための道具です。

AIにおけるハーネス(Harness)は、言語モデルを包む構造的なシステムです。モデル自体ではなく、モデルが正しく動作するようコンテキスト、ツール、制御フロー、メモリを提供する外側の枠組みです。

┌─────────────────────────────────────┐
│          ハーネス (Harness)           │
│  ┌───────────┐  ┌────────────────┐  │
│  │コンテキスト│  │ ツール/権限    │  │
│  └───────────┘  └────────────────┘  │
│  ┌───────────┐  ┌────────────────┐  │
│  │ メモリ    │  │ 実行ループ     │  │
│  └───────────┘  └────────────────┘  │
│           ┌──────────┐              │
│           │  モデル  │ ← コアエンジン│
│           └──────────┘              │
└─────────────────────────────────────┘

例え話:

  • モデル = エンジン(強力だが、単独では動かない)
  • ハーネス = 自動車全体(エンジンを包み、操舵・安全・燃料供給を担う)

2. なぜハーネスが重要なのか

raw APIだけを使うとどうなるか

python
# raw API呼び出し — 最もシンプルな方法
response = anthropic.messages.create(
    model="claude-opus-4-5",
    messages=[{"role": "user", "content": "コードレビューして"}]
)

この方法ではモデルの能力の20%以下しか活用できません。

欠けているもの結果
プロジェクトのコンテキストなし違う言語/フレームワークでレビュー
ファイル読み込みツールなし実際のコードを見られない
メモリなし以前のフィードバックを覚えていない
権限制御なし誤ったファイルを変更するリスク
実行ループなし一度答えて終わり

ハーネスを備えると

ハーネス = コンテキスト + ツール + メモリ + 権限 + 実行ループ

同じモデルが80%以上の能力を発揮します。モデルが賢くなったのではなく、モデルを正しく活用するシステムが整ったのです。

⚠️ 重要な視点の転換: AIシステムの品質は、モデルの性能よりもハーネスの設計に大きく左右されます。


3. ハーネスエンジニアリングの台頭

AI活用の能力は3段階で進化してきました。

第1世代: プロンプトエンジニアリング (2022〜2023)

「どう質問すればより良い答えが得られるか?」

良い質問 → より良い回答

プロンプトをうまく書くことが核心スキルでした。しかし、複雑なタスクにはプロンプトだけでは限界がありました。

第2世代: コンテキストエンジニアリング (2024〜)

「適切な情報を適切なタイミングでモデルにどう与えるか?」

プロンプト + 関連ドキュメント + 履歴 + システム情報 → はるかに良い結果

RAG(検索拡張生成)、メモリシステム、コンテキストウィンドウ管理が主要トピックになりました。

第3世代: ハーネスエンジニアリング (2025〜)

「実際の環境でモデルが自律的に動作するシステムをどう設計するか?」

コンテキスト + ツール + 実行ループ + メモリ + 権限 = 自律エージェントシステム

「良い回答」を得るだけでなく、モデルがタスクを完遂できる全体システムを設計することが核心スキルです。


4. Claude Code自体がハーネスである

Claude Codeが単純なAIチャットと異なる理由を考えてみてください。

構成要素Claude Codeでの実装
コンテキストCLAUDE.md.claude/rules/、自動コードベース読み込み
ツールRead, Write, Edit, Bash, Grep, Globなど
メモリTODO.mdPlans.md、メモリファイルシステム
権限制御settings.json allowedTools/deniedTools、Hooks
実行ループ会話→分析→ツール実行→結果反映→繰り返し

Claude Codeは、Claudeモデルをコード作業に特化したハーネスで包んだものです。モデルではなくハーネスが、Claude CodeをClaude Codeたらしめています。

この観点でカスタマイズを見ると

CLAUDE.md の記述        → コンテキストレイヤーの改善
カスタムコマンド(/doc)  → 実行ループの制御
MCPサーバーの接続       → ツールレイヤーの拡張
Hooksの設定             → 権限レイヤーの強化

Claude Codeをカスタマイズすること = ハーネスを自分で設計すること。


5. なぜ今学ぶべきか

AIモデルの性能は急速に収束しています。GPT-4o、Claude、Geminiはいずれも同程度の知性を持つようになりました。

今、差を生み出すのはモデルの選択ではなくハーネス設計の能力です。

10年前: 優れたアルゴリズムを書ける開発者が優位
5年前:  クラウドインフラを使いこなせる開発者が優位
今:     優れたAIハーネスを設計できる開発者が優位

💡 次のステップ → ハーネス設計法で、実践的な5レイヤー設計方法を学びましょう。

PRを歓迎します ✦