本文へスキップ

Function Calling / Tool Use

この記事は6で読めます

ざっくり言うと

Function Calling(関数呼び出し) / Tool Use(ツール利用)とは、AIに使ってよい道具を先に教えておく仕組みです。LLMは「どの道具を、どんな引数(渡す値)で使いたいか」を、決まった形で返します。

道具を実際に動かすのは、AIではありません。アプリ側か、サービスの提供元です。

呼び名は会社によって少し違います(OpenAIとGoogleはFunction calling、AnthropicはTool use)。やっていることはほぼ同じで、自分で判断して動くAIエージェントの、基礎になる技術でもあります。

イメージ

ここで言う道具は、AIが自分で探してくるものではありません。「この天気サービスは使ってよい」「予約はこの形で頼んでよい」と、開発者が先に机へ置いたものだけです。机に置いていない道具は、AIからは見えませんし、使えません

正確には

OpenAIの公式ドキュメントは、Function callingを、外部のシステムや学習データの外にある情報をモデルが使うための仕組みだと説明しています。使ってよい関数はJSON Schema(項目名と値の形をあらかじめ決めておく書式)で定義し、モデルが返すのは関数の名前と引数を含んだ呼び出しの要求です。

会社によって、呼び方や仕組みが違います

呼び方も、道具を誰が実行するかも、会社によって少しずつ違います。

会社呼び方実行の仕組み
OpenAIFunction calling自分で用意したカスタム関数はアプリ側が実行し、Web検索やコード実行のような組み込みツールはOpenAI側が実行する
Anthropic(Claude)Tool useクライアントツールは利用者が、サーバーツールはAnthropicが実行する
Google(Gemini API)Function callingモデルの能力を外部のツールやAPIとつなぐ仕組みを提供する

実行するかどうかを決めるのは、どの会社でもAIの外側です

3社に共通する流れ

やりとりは、大きく次の4ステップで進みます。

ステップ誰がやる内容
1. ツール定義開発者使ってよい関数の一覧をモデルへ渡す(名前・説明・引数の書式)
2. 判断LLM質問を見て、どの関数をどんな引数で呼ぶかを決める
3. 検証・実行アプリまたは提供元権限と引数を確かめて、関数や組み込みツールを動かす
4. 回答LLM実行結果を受け取り、人が読める言葉にまとめる

なぜ道具が要るのか

道具を渡すのは、AIひとりでは手が届かない仕事があるからです。苦手なことは、次の4つあります。

  • 今の情報
    学んだ知識だけでは、いま現在のニュース・在庫・株価までは分かりません
  • 正確な計算
    けた数の多い計算や、込み入った数式はまちがえることがあります
  • 外のシステムを動かすこと
    メール送信、カレンダー登録、データベースの検索は、ひとりではできません
  • 手元のデータ
    社内のデータベースや個人のファイルは、学習していないので知りません

この4つを外の関数やAPIとして用意し、AIから呼べるようにしたのがFunction Callingです。

AIエージェントとの関係

最近よく聞くAIエージェントは、自分で段取りを考えて動くAIのことです。道具の呼び出しを何度も繰り返しながら、仕事を前へ進めていきます。

たとえば「来週の出張の候補を調べて」と頼まれたとします。カレンダーを確認して、航空券を探し、ホテルを探す、というように呼び出しをつなげられます。

予約の確定やメール送信のような書き込み作業は別です。実行の前に内容を見せて、人の承認を取る作りにします。Function Callingは、その一回一回の動作にあたります。

関連用語

  • MCP(Model Context Protocol) — 道具のつなぎ方をそろえて、いろいろな道具を共通の作法で使えるようにする決まりです
  • AIエージェント — 道具の呼び出しを繰り返しながら、目標へ向かって自分で進めるAIです
  • LLM(大規模言語モデル) — 大量の文章から言葉のつながりを学んだ、AIの土台にあたる部分です
  • API — ソフトどうしが決まった形でやりとりするための窓口です

やってみよう

よくある質問

Q. Function Calling(Tool Use)とは何ですか?
A. AIに使ってよい道具を先に教えておく仕組みです。AIは、どの道具をどんな引数で使いたいかを決まった形で返し、実際に道具を動かすのはアプリ側かサービスの提供元です。
Q. なぜAIに道具を渡す必要があるのですか?
A. いま現在のニュースや在庫、けた数の多い計算、メール送信やカレンダー登録、社内のデータは、AIひとりでは扱えないからです。必要になったときだけ、正しい道具を取りに行かせます。
Q. AIが勝手に外のサービスを動かしてしまうことはありませんか?
A. 実行するかどうかを決めるのは、AIの外側です。開発者が先に用意した道具しか使えず、実行する側で権限と引数を確かめます。予約や送金、削除のような書き込みには人の確認をはさみます。
Q. 自分の使っているAIで道具が使えるかは、どこで分かりますか?
A. 使える道具は、製品・プラン・モデル・管理者の設定によって変わります。その製品の公式ヘルプを開き、ウェブ検索・連携・ツールといった言葉を探すと確かめられます。

公開: 更新: ✓ 公式情報と照合:

参考ソース

判断クイズ

AIが道具を使う仕組みで、誰が実行して誰が確かめるのか言えますか?

3問です。答えるとその場で解説が出ます。全問終えたら、「回答を記録する」で学習の記録に残せます。

1. 「AIが自分でうちの在庫システムを操作してくれるんですよね?」と聞かれました
2. AIが「この関数を、この引数で呼びたい」と返してきました。実行前にすることは?
3. 在庫を調べる道具と、予約を作る道具をAIに渡します。設計で分けることは?

全問に答えると、回答を記録できます。

残るのは「答えたかどうか」だけで、正解数は保存されません。この端末の中だけに残り、別の端末には引き継がれません。

この教科書は無料で全文公開しています。仕事で使えるところまで進みたい方は、実習と資料がそろった生徒プランをどうぞ。

生徒プランを見る(14日間無料)

あわせて読みたい