ツールユースとは?AIが外部の機能を呼び出す仕組み

ツールユース、AIが外部の機能を、呼び出す。寅次郎先生と記事の内容を表すイラスト。
確認日:2026年10月7日

AIに「明日の東京の天気は?」と聞くと、最新の予報をもとにした答えが返ってくることがあります。学習した時点の知識しか持たないはずのAIが、なぜいまの情報を答えられるのでしょうか。

その裏で使われているのが、ツールユースという仕組みです。本記事では、AIの開発元3社の公式ドキュメントをもとに、ツールユースの流れを解説します。

ツールユースとは

ツールユースは、LLMが、アプリの用意した外部の機能(ツール)を呼び出せるようにする仕組みです。関数呼び出し(function calling)や、ツール呼び出し(tool calling)とも呼ばれます。

LLMに依頼とツールの説明書を渡すと、LLMは答えの文章の代わりに、使うツールと値を決まった形で返し、それをアプリが実行することを示す図

LLMに依頼と一緒にツールの説明書を渡しておくと、ツールが要る場面で、LLMは答えの文章の代わりに「どのツールを、どんな値で使いたいか」を決まった形で返してきます。天気の例なら、「天気を調べるツールを、場所=東京で使いたい」という返事です。

ここで押さえておきたいのは、LLMが自分でツールを実行するわけではない点でしょう。Claude、OpenAI、Geminiのドキュメントはいずれも、実行するのはアプリの側だと明記しています。LLMの役目は、何を使いたいかを伝えるところまでです。

なぜツールが要るのか

LLMは文章を作るのが得意な一方で、それだけではできないことがあります。Claudeのドキュメントは、ツールが向いている場面として、次のようなものを挙げていました。

  • メールの送信やファイルの書き込みのように、実際に何かを起こす操作
  • 今日の天気や在庫の数のように、新しい情報や外部のデータが要る作業
  • 決まった項目を持つデータを、その形のまま受け取りたい場合
  • データベースや社内のシステムなど、すでにある仕組みを呼び出す作業

反対に、要約や翻訳のように、学習した知識だけで答えられる作業にツールは要りません。呼び出すたびにやりとりが1往復増えるため、簡単な質問ではかえって遅くなるからです。

ツールの説明書

アプリがLLMに渡す説明書(ツールの定義)は、3社とも、ほぼ同じ3つの項目でできています。

ツールの説明書は、名前、説明、受け取る値の形の3つでできていることを、天気を調べるツールを例に示す図

名前はLLMがツールを呼び出すときに使う識別子です。説明の欄には、そのツールが何をするのか、いつ使うのかを書いておきましょう。LLMはこの説明を読んでツールを使うかどうかを決めるため、説明の書き方しだいで呼び出しの正確さが変わります。

受け取る値の形は、JSON Schemaという書式で書くのが一般的です。「場所は文字列で、必ず指定する」のように、値の名前、種類、必須かどうかを、ここで決めておきましょう。

値の形が合わない呼び出しを防ぐため、定義どおりの形だけを返させる設定(strict)を用意している開発元もあります。必要な値が依頼に含まれていないとき、LLMが聞き返さずに、もっともらしい値を推測して埋める場合があると、Claudeのドキュメントは注意を促していました。

呼び出しの流れ

ツールユースでは、アプリとLLMの間を何度か行き来しながら作業が進みます。

ツールを使う流れ。アプリがLLMに依頼とツールの説明書を渡す。LLMは使いたいツールと値を返し、アプリがツールを実行して結果を受け取り、LLMに渡す。LLMがツールを使いたいと言う間はこれを繰り返し、最後にLLMが答えを作る

最初にアプリが渡すのは、利用者の依頼とツールの説明書です。LLMはツールが要ると判断すると、使うツールと値を返し、アプリがそのツールを実行して結果を受け取ります。アプリはその結果をLLMに渡す、という流れです。

LLMは結果を読んで、別のツールが要ればまた呼び出しを返すため、この往復は何度でも続きます。ツールが要らなくなった時点でLLMが答えを作れば、繰り返しは終わりです。1回の返事で、互いに関係のない複数のツールをまとめて呼び出すこともできます。

この繰り返しを自分で回しながら、目的に向かって作業を進めるAIが、AIエージェントです。

ツールが動く場所

ツールは、どこで実行されるかによって2つに分かれます。

ツールが実行される場所は2つあり、自分で作ったツールや、開発元が形を決めた画面操作やコマンドのツールはアプリの側で、Web検索やコードの実行はAIの開発元のサーバーで動くことを示す図

1つ目は、アプリの側で実行するツールです。自分で作ったツールのほか、コマンドの実行、ファイルの編集、画面の操作のように、AIの開発元が説明書の形を決めて配っているツールもここに入ります。開発元が形を決めたツールは、LLMがその形で大量に学習しているため、同じ働きのツールを自作するより確実に呼び出せる、とClaudeのドキュメントは説明していました。画面の操作をツールにしたものは、コンピューターユースと呼ばれます。

もう1つは、AIの開発元のサーバーで実行するツールです。Web検索、Webページの取得、コードの実行などがこれにあたり、アプリは使うと指定するだけで済み、結果をLLMに渡す仕事もサーバーが受け持ちます。冒頭の天気の例のように、チャットのAIが最新の情報を調べて答えられるのは、こうしたツールがあるからです。

安全面の注意

LLMが返すのは「使いたい」という希望で、実行するかどうかを最後に決めるのはアプリの側です。そのため、ツールの作り方と、渡す権限の範囲が安全を左右します。

  • 削除、送信、支払いのように取り消せない操作は、実行の前に利用者へ確認を求める
  • ツールに渡す権限は、必要な範囲に絞る
  • Webページやメールなど、ツールが持ち帰った内容に指示が紛れていても従わない

3つ目は、プロンプトインジェクションと呼ばれる攻撃への備えです。ツールの結果はLLMにそのまま読まれるので、信頼できない内容を取り込むツールほど注意が要ります。

製品での使われ方

ツールユースは、主なAIの開発元のAPIがそろって備えています。名前は少しずつ違い、Claudeは「tool use」、OpenAIとGeminiは「function calling」という呼び名です。

チャットのAIでWeb検索をしたり、AIエージェントがファイルを書き換えたりするときも、裏ではこの仕組みが動いています。どのアプリからでも同じ形でツールをつなげるようにした取り決めはMCP、LLMを呼び出してツールの実行を受け持つ外側の仕組みはハーネスです。

参考にした一次情報

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