エージェントハーネスとは?AIエージェント精度改善の仕組み

🔄 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」で次のように整理している。

「Agent = Model + 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プロンプト・ハーネス」という設計だ。

STEP 1
初期化エージェントがプロジェクトの土台を作る——ユーザーの最初の指示を、詳細な機能要件リスト(feature_list.json)に展開する。あわせて環境構築スクリプト(init.sh)も作成する
STEP 2
コーディングエージェントが1つずつ機能を実装する——毎回新しいセッションとして起動されるが、まず claude-progress.txt(進捗ログ)とGitの履歴を読み、前回までの状態を素早く把握する
STEP 3
1つの機能だけに集中して実装・テストを行う——欲張って複数の機能に手を出さず、次に失敗しているテストを1つ選んで着手する
STEP 4
進捗を記録してコミットし、セッションを終える——claude-progress.txtを更新し、Gitにコミットしてから終了。次のセッション(=次の”転生”)にバトンを渡す
💡 このパターンの核心は「状態(state)をエージェントの外側に持たせる」という設計思想だ。エージェント自身は毎回”記憶喪失”の状態でスタートするが、ファイルシステム上のprogress.txt・feature_list.json・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つに整理している。

STRATEGY 1
Write(書く)

今のタスクに必要な情報を、コンテキストウィンドウの外(ファイル等)に書き出しておく。claude-progress.txtはこの代表例

STRATEGY 2
Select(選ぶ)

全履歴をそのままプロンプトに詰め込むのではなく、今のタスクに関係しそうな過去ログだけをRAG(検索)で引っ張ってきて注入する

STRATEGY 3
Compress(圧縮する)

生データをそのまま持ち続けるのではなく、「なぜ成功・失敗したか」を言語化した教訓だけを長期記憶として残す

STRATEGY 4
Isolate(隔離する)

タスクごとにコンテキストを分離し、無関係な情報が混ざらないようにする

💡

OpenAIのハーネスエンジニアリングでは、このコンテキスト管理の考え方を「地図を渡せ、1000ページのマニュアルは渡すな」という言葉で表現している。詳細情報を丸ごと渡すのではなく、必要最小限の情報と「どこを見ればいいか」の参照先(ポインタ)だけを渡す設計が効果的、という教訓だ。

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を育てていく習慣自体が、すでにハーネス設計の実践なのだ。

8. よくある質問

エージェントハーネスとエージェントフレームワークは同じものですか?
重なる部分はありますが、完全に同じではありません。LangChainのDeepAgentsのような「フレームワーク」は、ハーネスを構築するための土台・部品を提供するものです。一方「ハーネス」はそれを使って実際に組み上げた、特定のタスクを安定して実行するための仕組み全体を指します。フレームワークが「材料」だとすれば、ハーネスは「完成した装備一式」に近いイメージです。
なぜエージェントは「途中で完成したと思い込む」のですか?
AIモデルは基本的に、1回のコンテキストウィンドウ内で完結する応答を生成するように振る舞います。複雑な複数機能のアプリを一度に作らせようとすると、モデルが全体像を保持しきれず、一部だけ実装した時点で「完成」と誤判断してしまうことがあります。Anthropicの事例のように、機能要件を詳細なリストに分解し、1つずつ着実に処理させる設計が、この問題への対策になります。
個人の開発者でもハーネス設計を実践できますか?
できます。むしろすでに実践している人も多いはずです。CLAUDE.mdやAGENTS.mdにプロジェクトのルールを書く、進捗をメモしながら作業を進める、といった工夫はすべて広義のハーネス設計にあたります。まずは進捗ログをテキストファイルに残す習慣、CIでの自動テストを組み込むことから始めるのが実践的な第一歩です。
「ハーネスエンジニアリング」という言葉もよく見ますが、ハーネスとの違いは何ですか?
「ハーネス」がAIエージェントを支える仕組みそのものを指すのに対し、「ハーネスエンジニアリング」はそのハーネスを設計・構築する営み・技術領域を指す言葉として使われています。両者はセットで語られることが多く、明確な使い分けのルールがあるわけではありません。
この概念は今後も使われ続けますか?
断定はできませんが、Anthropic・OpenAI・LangChain・Databricksといった主要プレイヤーが相次いで言及していることから、少なくとも「長時間動作するAIエージェントをどう安定させるか」という課題自体は今後も重要であり続けると考えられます。「ハーネス」という呼び方自体が定着するかは今後の推移次第ですが、根底にある設計思想(外部への状態保存・段階的な進捗管理・フィードバックループの自動化)は、呼び名が変わっても引き継がれていく可能性が高いでしょう。

本記事はAnthropic公式エンジニアリングブログ「Effective harnesses for long-running agents」、LangChain公式ブログ「The Anatomy of an Agent Harness」、Databricks公式ブログ、Google DeepMind Philipp Schmid氏の解説、日本語コミュニティ(Zenn等)での議論をもとに構成しています。

本記事は2026年7月時点の公開情報をもとに作成しています。エージェントハーネスに関する用語・設計パターンは急速に進化している分野のため、最新情報は各社の公式エンジニアリングブログでご確認ください。
よかったらシェアしてね!
  • URLをコピーしました!
  • URLをコピーしました!
目次