用語

エージェントのハーネスとは?定義と構成要素

更新日: · Skillaria.Top

エージェントのハーネス(agent harness)とは、AIエージェントにおいて言語モデルを取り囲み、実用的なツールにするすべての要素です。指示、ツール、実行環境、セッションをまたぐ状態、フィードバックループを含みます。公式は「エージェント = モデル + ハーネス」。モデルが推論し、ハーネスがルール、手足、記憶、結果の検証を提供します。

定義

エージェントのハーネス(agent harness)は、言語モデルを取り囲むソフトウェアの枠組みです。モデル以外のものすべてを含み、かつエージェントの動作に影響するものを指します。公式はエージェント = モデル + ハーネスです。モデルは推論やコード生成を担い、ハーネスは何を見せるか、どのツールで行動するか、コマンドをどこで実行するか、セッションをまたいで何を保存するか、そしてエラーをどう検知させるかを決めます。

ハーネスの5つの構成要素

  • 指示——システムプロンプト、CLAUDE.md や AGENTS.md などのプロジェクトファイル、専門ドキュメント、skills。
  • ツール——shellでのコマンド実行、ファイル編集、ブラウザ、MCP経由の接続。
  • 環境——本番に影響を与えずにコードを実行できるサンドボックスやコンテナ。
  • 状態——計画ファイル、進捗ファイル、gitの履歴。セッション終了後も残る記憶です。
  • フィードバック——テスト、リンター、型チェック、フック。エラーの信号をエージェントに返します。

ハーネスは一つのプロンプトファイルではありません。エージェントがテストにアクセスできなかったり、環境が起動しなかったりすれば、どれほど長い AGENTS.md も役に立ちません。信頼性は、五つのうち最も弱い部分によって決まります。

例

エージェントが同じバグの修正を三回連続のセッションで試みています。再起動するたびに、すでに何を試したかを覚えていません。モデルの問題に見えますが、実際は状態のサブシステムが壊れています。解決策は PROGRESS.md ファイルです。エージェントはセッションの終わりに、うまくいかなかった仮説と次のステップを書き残します。

## バグ:リクエスト再送で二重決済
確認済みで棄却:
- HTTPクライアントのタイムアウト——影響なし
- webhookハンドラの競合状態——再現せず
次のステップ:payments/service.py の冪等性キーを確認

新しいセッションはこのファイルを読み、正しい場所から直ちに作業を再開できます。モデルは変わっていません。変わったのはハーネスです。

まとめ

エージェントのハーネスとは、モデルを取り巻く指示、ツール、環境、状態、フィードバックのことです。同じエージェントが安定して動くか、それとも頻繁に壊れるかを決めるのはこの部分です。各要素の組み立て方は、ハーネスエンジニアリングの講座で実践を通して解説しています。

よくある質問

ハーネスとエージェント用フレームワークの違いは何ですか?

フレームワークはエージェントを組み立てるためのライブラリです。ハーネスは、あなたのプロジェクト向けにモデルを構成する具体的な設定で、ルール、権限、環境、テスト、状態ファイルを含みます。Claude Code のような既製のエージェントには基本的なハーネスが組み込まれており、そこに自分の部分を追加します。

ハーネスとプロンプトは同じものですか?

違います。プロンプトは指示サブシステムの一部にすぎません。ハーネスには、ツール、環境、セッション間の記憶、結果の検証も含まれます。

ハーネスのどの部分から始めればよいですか?

フィードバックから始めてください。エージェントが自分で動かして結果を確認できるコマンドを用意します。人間のレビューに届くエラーを最も早く減らせます。

動画でこのテーマを学ぶ

このテーマはコース「Harness Engineering: инженерия надёжности AI-агентов」で実践とともに詳しく解説しています。

コースへ