ツール利用(tool use)は、LLMが外部の道具を呼び出して回答を補強する仕組みです。モデルは、渡された「ツール定義(=道具の名前・用途・受け取る引数の形を書いた仕様)」を見て、いまの質問に対しどの道具をどんな引数で呼ぶべきかを判断します。判断そのものはモデルが行い、実際の実行(検索の実施、計算、APIの呼び出しなど)はアプリケーション側が担い、返ってきた結果をモデルに戻します。Claudeのドキュメントでは、自分で定義する道具については「スキーマ(=引数の形式)は開発者が書き、各呼び出しの実行もアプリが行う」と説明され、モデルがツールを呼ぶかどうかの境界はシステムプロンプト(=AIへの前提指示)で調整できるとされています。
呼び出しの流れは往復構造です。(1) モデルが「この道具をこの引数で呼びたい」という指示(tool_use=道具呼び出しの意思表示)を出す、(2) アプリがそれを解釈して実際に実行する、(3) 実行結果を tool_result(=道具の返答)としてモデルに返す、(4) モデルがその結果を踏まえて回答を続ける、あるいは次の道具を呼びます。Claudeでは、道具を必ず呼ばせたい場合に tool_choice(=呼び出しを強制する設定)を使ったり、スキーマへの厳密な適合を保証する strict モードを付けたりできます。この「呼ぶ意思→実行→結果の差し戻し」という往復が、ツール利用の基本形です。
ツール利用が重要なのは、AI検索を支える2つの柱——RAG(検索拡張生成)と自律エージェント——のどちらもがこの仕組みの上に立つからです。RAGは、まず「検索」という道具で質問に関連する文書を取得し、それを根拠にLLMが回答を生成します。外部の一次情報に基づくため、ハルシネーション(=事実でない内容をもっともらしく生成する現象)を抑え、出典(citation=回答の根拠として示すソース)を示しやすくなります。エージェントは、検索に限らず計算・API・ブラウザ操作など複数の道具を状況に応じて選び、実行結果を見て次を決めます。いずれも「LLMが道具を呼べる」ことが出発点で、ツール利用はAI検索の可視化(=生成AIに引用・参照されること)を支える最下層の技術です。
ツール利用は「呼ぶ意思(LLM)→実行(アプリ)→結果の差し戻し(アプリ)→続き(LLM)」の往復で成り立ちます。
| ステップ | 担い手 | 内容 |
|---|
| 1. 道具を定義する | 開発者 | 道具の名前・用途・引数の形(スキーマ)を書く |
| 2. 呼び出しを判断する | LLM | 質問に応じ、どの道具をどの引数で呼ぶか決める(tool_use) |
| 3. 実行する | アプリケーション | 検索・計算・API呼び出しなどを実際に行う |
| 4. 結果を返す | アプリケーション | 実行結果を tool_result としてモデルに戻す |
| 5. 回答を続ける | LLM | 結果を踏まえて回答する、または次の道具を呼ぶ |
横にスクロールできます
モデルが道具を呼ぶか直接答えるかの境界は、指示で調整できます。Claudeのドキュメントでは、「応答の前に道具で調べてから答えて」と促すと呼び出しが増え、「必ず先に道具を呼んで」とするとさらに強まり、逆に「道具を呼ぶか直接答えるかは自分で判断して」とすると呼び出しは控えめになる、と説明されています。確実に呼ばせたいときは tool_choice で強制でき、strict モードでスキーマ(引数の形式)への厳密な適合も保証できます。
- 自分で定義するツール:開発者がスキーマ(引数の形)と説明を書き、実行もアプリ側で行います。用途に応じて自由に作れます。
- Anthropic提供スキーマのツール:記憶(Memory)・シェル実行(Bash)・テキスト編集・コンピュータ操作(Computer use)など、Anthropicがスキーマを公開しClaudeを訓練済みの道具群。実行は依然アプリ側が担います。
- サーバーツール:Anthropicの基盤側で実行され、アプリにハンドラ(=実行を受け持つコード)を書かなくてよい種類の道具もあります。
- RAGでの使い方:まず「検索」ツールで関連文書を取得し、それを根拠に回答を生成します。出典提示とハルシネーション抑制に効きます。
- 道具を明快に定義する:名前・用途・引数の形(スキーマ)を分かりやすく書き、モデルが選び間違えないようにします。
- 呼び出しの強さを指示で調整する:まず調べてほしいなら促す指示を、確実に呼ばせたいなら tool_choice で強制します。
- スキーマ適合を担保する:引数の形を厳密に守らせたい場合は strict モードを使い、不正な呼び出しを防ぎます。
- 結果の扱いを設計する:tool_result(道具の返答)をモデルに戻す形式・エラー時の扱いを決め、失敗しても回復できるようにします。
- RAG・エージェントに接続する:検索ツールでの根拠取得(RAG)や、複数ツールを回す自律実行(エージェント)へ発展させ、出典提示と正確性を高めます。
Claudeのドキュメントでは、ツールを大きく3系統に分けています。第一に「自分で定義するツール(client tools)」で、開発者がスキーマ(引数の形式)と説明を書き、実行もアプリ側で担います。用途に応じて何でも作れる自由度の高い形です。第二に「Anthropicがスキーマを公開しているツール」で、記憶(Memory=会話をまたいで情報を保存・取り出す)、シェル実行(Bash=コマンドを持続的なセッションで走らせる)、テキスト編集(ファイルの閲覧・修正)、コンピュータ操作(Computer use=スクリーンショットを撮りマウス・キーボードを操作する)などがあります。これらはAnthropicがスキーマを定めClaudeを訓練済みですが、実行は依然としてアプリ側が行います。第三に「サーバーツール(server tools)」で、Anthropicの基盤側で実行され、アプリにハンドラ(=実行を受け持つコード)を書かなくてよい種類です。
「誰がスキーマを書くか」「誰が実行するか」で3系統に分かれます。多くの構成で実行はアプリ側が担う点が共通します。
| ツールの種類 | スキーマを書くのは誰か | 実行するのは誰か | 例 |
|---|
| 自分で定義するツール | 開発者 | アプリ側 | 自社DB照会・独自APIの呼び出し |
| Anthropic提供スキーマ | Anthropic(Claudeは訓練済み) | アプリ側 | Memory・Bash・テキスト編集・Computer use |
| サーバーツール | Anthropic | Anthropicの基盤側 | ハンドラ不要で使える種類の道具 |
横にスクロールできます
モデルが道具を呼ぶか、それとも直接答えるかの境界は、システムプロンプト(=AIへの前提指示)で調整できます。Claudeのドキュメントによれば、「応答の前に道具を使って調べてから答えて」と促すと呼び出しが増え、「常に、応答の前にまず道具を呼んで」とするとさらに強く道具を使うようになります。逆に「道具を呼ぶか直接答えるかは自分の判断で」とすると、呼び出しは控えめになります。指示ではなく確実に呼ばせたい場合は、tool_choice(=道具の呼び出しを強制する設定)を使います。さらに、ツール定義に strict(厳密)モードを付けると、モデルの呼び出しがスキーマ(引数の形式)に必ず一致することを保証でき、不正な引数での呼び出しを防げます。
この制御は、AI検索最適化の実務でも意味を持ちます。たとえば、事実確認を伴う回答では「まず検索ツールで一次情報を取ってから答える」よう促すことで、ハルシネーション(=事実でない内容の生成)を抑え、出典(citation)を示しやすくなります。逆に、道具を呼びすぎるとコストと待ち時間が増えるため、用途に応じて呼び出しの強さを調整する——この匙加減が、精度とコストのバランスを取る勘所です。
AI検索の中核をなす「出典付きで最新情報を答える」という体験は、突き詰めればツール利用の上に成り立っています。生成AIが自分の学習時点より新しい情報や、学習に含まれない専門情報を答えられるのは、検索という道具を呼んで外部から取得しているからです。取得した文書を根拠に回答を組み立てる(RAG=検索拡張生成)ことで、回答は検証可能な情報源に結び付き(grounding=根拠づけ)、出典リンクを示せます。つまり、AI検索で自社が引用・参照されるかどうかは、「AIがツールで自社ページを取得し、根拠として採用するか」という問題に還元されます。ツール利用を理解することは、AI検索での可視化(=生成AIに引用されること)の仕組みを理解することとほぼ同義です。
この視点に立つと、サイト側の打ち手も見えてきます。AIが検索ツールで取得したときに、機械が事実を正確に抽出できる構造(明快な見出し・箇条書き・構造化データ・一貫した数値表記)を整えておくほど、根拠として採用されやすくなります。逆に、情報が画像の中に埋もれていたり、事実がページ内で矛盾していたりすると、取得はされても根拠に採られにくくなります。ツール利用の仕組みを踏まえた情報整備が、AI検索最適化の地に足のついた出発点です。
ツール利用と関数呼び出し(function calling)は違いますか?
ほぼ同じ概念を指します。LLMが外部の関数・APIを呼び出し、その結果を回答に取り込む仕組みで、提供元によって「tool use」「function calling」など呼び方が異なるだけです。
ツール利用があればハルシネーションはなくなりますか?
なくなりはしませんが、抑えられます。検索などの道具で外部の一次情報を取得し、それを根拠に回答すれば(RAG)、事実に基づく確度が上がり出典も示せます。ただし取得した情報の質や解釈次第で誤りは残り得ます。
LLMが道具を呼ぶ実行そのものもモデルがやるのですか?
多くの構成では違います。モデルは「この道具をこの引数で呼びたい」という意思を出すだけで、実際の実行はアプリケーション側が行い、結果をモデルに返します。サーバー側で実行される種類の道具など、例外的な構成もあります。
ツール利用とMCPの関係は何ですか?
ツール利用は「LLMが道具を呼ぶ」仕組みそのもの、MCPは「AIと外部の道具・データのつなぎ方」を標準化した規格です。MCPで標準化された接続を通じて、LLMがツール利用を行う——という重なり方をします。