ハーネスとは?AIエージェントを動かす「外側」の仕組み

ハーネス、AIを動かす、外側のしくみ。寅次郎先生と記事の内容を表すイラスト。
確認日:2026年10月6日

同じAIモデルを使う製品でも、できる作業や進め方が違うのはなぜでしょうか。その差を生む外側の仕組みの1つがハーネスです。本記事では、AIエージェントを作るAnthropicの技術記事をもとに、ハーネスの役割を説明します。

ハーネスとは

ハーネスは、AIエージェントの中でLLMを呼び出し、LLMが求めたツールの実行を受け持つ、外側の仕組みです。

ハーネスの中でLLMが考え、ツールの振り分けがLLMを呼び出して使いたいツールを受け取り、ツールや作業場所での実行を受け持つ様子を示す図

英語のharnessには、馬につける引き具という意味があります。力の強い馬も、引き具がなければ荷車を引けません。LLMも同じで、文章を作る力はあっても、自分でファイルを開いたり、コマンドを実行したりはできないのです。その力を作業に結び付けるのが、ハーネスの役目になります。

Anthropicの説明では、ハーネスは「Claudeを呼び出し、Claudeのツール呼び出しを、それを実行する仕組みへ振り分けるループ」です。開発キットのClaude Agent SDKも、汎用のエージェントのハーネスと呼ばれています。

LLMとの役割分担

Anthropicは、AIエージェントを「脳」と「手」に分けて考えています。

LLMとハーネスが「脳」、ツールとサンドボックスが「手」にあたり、ハーネスが手に指示を出し、起きたことを残す記録が別にあることを示す図

脳にあたるのが、LLMとハーネスです。LLMが考え、ハーネスがその考えを実行に移します。手にあたるのは、実際に操作をするツールと、プログラムを実行したりファイルを書き換えたりする作業場所(サンドボックス)です。これに、起きたことをすべて書き残す記録(セッション)が加わります。

こう分けておくと、同じハーネスで手だけを取り替えたり、LLMを新しいものに替えたりしやすくなるのが利点です。

ハーネスが受け持つ仕事

ハーネスの仕事は、大きく3つあります。

ハーネスの仕事として、LLMの呼び出しとツールの振り分け、会話の記憶の整理、指示と決まりごとの管理の3つを並べた図

1つ目の仕事は、AIエージェントの繰り返しを回すことにあります。LLMに依頼とツールの一覧を渡し、LLMが使いたいと言ったツールを実行し、結果をLLMに返す、という流れです。実行の前に利用者へ確認を求める仕事も、ハーネスに含まれます。

2つ目は、記憶の整理です。LLMが一度に読める量(コンテキストウィンドウ)には上限があるため、作業が長くなると、それまでの経過をすべては渡せません。Anthropicの記事も、古いやりとりを要約して詰める(compaction)といった管理を、ハーネスの働きに数えていました。

3つ目は指示と決まりごとの管理で、LLMに渡す指示(プロンプト)の組み立てや、作業の進め方の決まりを扱います。

長い作業を続けるための工夫

何時間もかかる作業では、LLMが読める量の上限を何度も超えるため、途中で記憶を引き継ぐ必要があります。Anthropicの記事は、ハーネスの工夫として次のような方法を紹介しました。

  • 最初に、作業の環境を整える役のエージェントを動かし、やるべきことの一覧を作る
  • 進み具合を記録するファイルと、変更の履歴(Git)を残し、次の回はそれを読んでから始める
  • 一度にすべてを作らせず、1つずつ進めて、そのつど動作を確かめさせる

Anthropicは、ハーネスには「LLMが自分だけではできないこと」についての前提が含まれる、とも書いています。LLMの性能が上がれば、その前提は古くなり、ハーネスも作り直されていくものです。

製品での使われ方

ファイルやコマンドを扱うAIエージェントの製品は、LLMを外から動かすハーネスにあたる部分を、それぞれ持っています。同じLLMを使う製品どうしでも使い勝手が違うのは、このハーネスの作りが違うためです。

自分でAIエージェントを作るときは、Claude Agent SDKのような開発キットを使うと、ハーネスを一から作らずに済みます。

参考にした一次情報

当サイトが作成した本文はCC BY 4.0です。引用画像は対象外です。AIエージェントの記事の一覧へもどる