🔄 2026年7月時点の情報
「エージェントハーネス」とは?
AIエージェントの精度を
継続的に改善する仕組み
「同じAIモデルを使っているのに、なぜかこちらのエージェントの方が長時間タスクを安定してこなせる」——その差を生んでいるのがエージェントハーネスという概念だ。Anthropic・OpenAI・LangChain・Databricksが相次いで言及するこの技術を、専門用語を噛み砕きながら解説する。
「AIエージェントの性能はモデルの性能で決まる」——これは半分正しく、半分間違っている。実は、同じモデルを使っていても「ハーネス」の設計次第でエージェントの安定性は大きく変わる。この記事では、AIエンジニアの間で急速に語られ始めた「エージェントハーネス」という概念を、非エンジニアにもわかる形で解説する。
- 「エージェントハーネス」とは何か——馬具(harness)という言葉が使われる理由
- 「Agent = Model + Harness」という業界の合言葉
- Anthropicが公開した実例——claude-progress.txtパターンの仕組み
- 「内部ハーネス」と「外部ハーネス」——用語の混乱を整理する
- コンテキスト管理の4つの戦略(Write/Select/Compress/Isolate)
- 実務での応用——CLAUDE.md・AGENTS.mdもハーネスの一種
1. エージェントハーネスとは何か
エージェントハーネスとは、AIモデルを取り囲み、長時間にわたるタスクの実行を安定させるためのインフラ・仕組み全体を指す言葉だ。Google DeepMindのStaff Engineerで、元Hugging FaceのTechnical LeadでもあるPhilipp Schmid氏は、これを「AIモデルを包み込み、長時間実行されるタスクを管理するためのインフラストラクチャ」と定義している。
重要なのは、ハーネス自体はエージェントそのものではないという点だ。エージェントの動作を制御・管理し、信頼性・効率性・制御可能性を保証する「土台」の役割を果たす。
「ハーネス」とは本来、馬に取り付ける手綱や引き具など「馬具一式」を意味する言葉だ。どれほど強力な馬(=AIモデル)でも、手綱やくびきがなければ、その力を正しい方向に導くことはできない。強力だが予測しづらい力を、望む方向に安定して発揮させるための装備一式——これがエージェントハーネスという言葉が持つイメージだ。
「Agent = Model + Harness」という合言葉
AIエージェント関連の開発ツールを提供するLangChain社は、公式ブログ「The Anatomy of an Agent Harness」で次のように整理している。
— LangChain公式ブログより
この一言に、業界の共通認識が凝縮されている。同じAIモデルを使っていても、周囲のハーネスの設計次第でエージェントとしての実用性はまったく変わる、という考え方だ。CPUがどれほど高速でも、OS(基本ソフト)がなければアプリケーションが動作しないのと同じ関係性に例えられる。LLM(AIモデル)がどれほど優秀でも、ハーネスがなければ長時間のタスク実行は安定しない。
| PCの構成要素 | AIエージェントでの対応関係 |
|---|---|
| CPU(処理性能) | LLM(AIモデル本体) |
| OS(基本ソフト) | ハーネス(実行環境・制御システム) |
| アプリケーション | 実際にユーザーが使うエージェント機能 |
2. なぜ今この概念が注目されているのか——「一発芸」で終わるエージェントの限界
AIエージェントに複雑なタスクを任せると、しばしば起きる問題がある。「まだ途中なのに完成したと思い込んでしまう」「作業の途中で何をしていたか忘れてしまう」という現象だ。OpenAIのチームはこの課題感を「私たちの最も難しい課題は、アプリケーションコードを書くことではなく、環境・フィードバックループ・制御システムを設計することになった」と表現している。
この問題の根本にあるのが「コンテキストウィンドウ」の制約だ。AIモデルは1回の会話(コンテキストウィンドウ)の中でしか情報を保持できない。長時間にわたるタスクでは、新しいセッションが始まるたびに、AIは「前回何をしていたか」の記憶を失った状態からスタートすることになる。
3. Anthropicが公開した実例——claude-progress.txtパターン
この課題に対する具体的な解決策として、Anthropicが技術ブログ「Effective harnesses for long-running agents」で公開した設計パターンが、業界で広く参照されている。「初期化エージェント」と「コーディングエージェント」という2種類のプロンプトを使い分ける「2プロンプト・ハーネス」という設計だ。
初期化エージェントがプロジェクトの土台を作る——ユーザーの最初の指示を、詳細な機能要件リスト(feature_list.json)に展開する。あわせて環境構築スクリプト(init.sh)も作成する
コーディングエージェントが1つずつ機能を実装する——毎回新しいセッションとして起動されるが、まず claude-progress.txt(進捗ログ)とGitの履歴を読み、前回までの状態を素早く把握する
1つの機能だけに集中して実装・テストを行う——欲張って複数の機能に手を出さず、次に失敗しているテストを1つ選んで着手する
進捗を記録してコミットし、セッションを終える——claude-progress.txtを更新し、Gitにコミットしてから終了。次のセッション(=次の”転生”)にバトンを渡す
この設計は2025年11月にAnthropicのエンジニアJustin Young氏が公開して以来、複数の研究・実践者によって「ファイルに紐づいた状態管理(file-backed state)」として理論的にも整理されている。ある分析では、この状態管理の性質を「外部化されている(externalized)」「パスで参照可能(path-addressable)」「圧縮しても安定している(compaction-stable)」の3条件で説明しており、Anthropicの設計はこの3条件をすべて満たしている、と評価されている。
4. 「内部ハーネス」と「外部ハーネス」——用語の混乱を整理する
「エージェントハーネス」という言葉を調べると混乱しやすいのは、「誰の視点から見たハーネスか」によって指すものが変わるからだ。日本のエンジニアコミュニティでも、この点を整理する議論が起きている。
- AIエージェントを開発する人が設計する、LLMモデル「以外」の実装部分
- ツール呼び出し・状態管理・評価(Eval)の仕組みなど
- LangChain社のようなツール提供企業が「ユーザーに作らせたい」領域
- すでに完成したエージェント(Claude Code等)を使う人が設計する、周辺の仕組み
- CLAUDE.md・AGENTS.mdなどのルールファイル、フック、CI/CDとの連携
- コーディングエージェントのユーザーが日常的に触れている領域
つまり、「エージェントを作る人」にとってのハーネスと、「エージェントを使う人」にとってのハーネスは、スコープがまったく違う。同じ言葉が違う意味で使われていることが、この用語をわかりにくくしている一因だ。この記事の後半で触れる「実務での応用」は、主に後者(使い手側)の視点にあたる。
5. コンテキスト管理の4つの戦略
ハーネス設計の中でも、地味だが最も成否を分けるとされるのが「コンテキスト管理」だ。LangChainのブログでは、この戦略を4つに整理している。
Write(書く)
今のタスクに必要な情報を、コンテキストウィンドウの外(ファイル等)に書き出しておく。claude-progress.txtはこの代表例
Select(選ぶ)
全履歴をそのままプロンプトに詰め込むのではなく、今のタスクに関係しそうな過去ログだけをRAG(検索)で引っ張ってきて注入する
Compress(圧縮する)
生データをそのまま持ち続けるのではなく、「なぜ成功・失敗したか」を言語化した教訓だけを長期記憶として残す
Isolate(隔離する)
タスクごとにコンテキストを分離し、無関係な情報が混ざらないようにする
6. ハーネスの「作り方」による分類——使い捨てハーネスと自然言語ハーネス
データ分析基盤大手のDatabricksは、ハーネスの実装アプローチを2つに分類している。
| 分類 | 特徴 |
|---|---|
| 使い捨てハーネス(Disposable harnesses) | 長期運用インフラとしてではなく、単一のワークフロー専用に軽量なハーネスをその都度作成し、使用後に破棄する。実行環境の準備が高速・低コスト化するにつれて実用的になってきたアプローチ |
| 自然言語エージェントハーネス(NLAHs) | コードでハーネスを構成する代わりに、自然言語の指示でエージェントの振る舞いを記述する。共有のランタイムがその指示を解釈・実行するため、プロジェクト間でハーネスを構築・変更・再利用するハードルが下がる |
Databricksはまた、「エージェントの乱立(agent sprawl)」という課題にも言及している。多くの企業は単一のエージェントだけを構築しているわけではなく、さまざまなチーム・ワークフロー・基盤モデルにまたがって数十ものエージェントを構築している。ハーネス設計に一貫したアプローチがないと、どのグループも確実なガバナンス・評価・改善を行えない、孤立したエージェントが散在する状態に陥りやすい、という警鐘だ。
7. 実務での応用——CLAUDE.md・AGENTS.mdもハーネスの一種
ここまで解説してきた「ハーネス」の考え方は、実は多くの人がすでに日常的に触れている。Claude CodeのCLAUDE.mdや、Ghosttyターミナルプロジェクトで知られるMitchell Hashimoto氏が公開しているAGENTS.mdも、広い意味でのハーネス設計の実例だ。
- ルールファイル(CLAUDE.md・AGENTS.md)——コーディング規約・命名規則・禁止事項を明文化し、AIが読み込むことで一貫性のある出力を得る
- アンチパターンのリスト化——AIが過去に繰り返した間違いを記録しておく「学習ノート」として機能させる
- フィードバックループの自動化——CI/CDパイプライン・自動テスト・静的解析ツールを組み込み、AIが生成したコードが品質基準を満たしているかを自動チェックする
つまり「エージェントハーネス」は、研究者だけの難解な概念ではなく、すでにAIコーディングツールを使っている人が無意識にやっていることを、体系立てて言語化したものだと捉えることができる。CLAUDE.mdを育てていく習慣自体が、すでにハーネス設計の実践なのだ。
