エージェント
Function callingとは?
別名: Tool calling
AIに「この関数使っていいよ」と伝える仕組み。
⚡ 30秒でわかる
Function calling の主なポイント
- 1 Function calling は、AIが「どの関数をどんな引数で呼ぶか」を構造化データ(JSON)で返す仕組み。
- 2 AI自身は関数を実行せず、実際に動かすのは開発者のプログラム側で、その結果を再びAIに渡す。
- 3 関数は「名前・説明・引数の形(JSON Schema)」としてAIに事前に伝えておく。
- 4 2023年にOpenAIが導入し、現在はAIエージェントやMCPの基礎となる標準機能。
- 5 Tool use が道具利用の総称、function calling はそれを実現する具体的な仕組み、という関係。
📖 詳しく
Function calling とは
Function calling(ファンクションコーリング/関数呼び出し)とは、AIモデルに「使ってよい関数(道具)の一覧」をあらかじめ教えておき、必要なときにAIがどの関数をどんな引数で呼ぶべきかを判断して教えてくれる仕組みです。重要なのは、AI自身が関数を実行するわけではない点で、AIは「get_weather を location=東京 で呼んで」という構造化データ(JSON)を返すだけで、実際にプログラムを動かすのは開発者側のコードです。実行結果をAIに渡し直すことで、AIは最新の天気やDBの中身など、学習データには含まれない情報を踏まえて回答できます。たとえるなら、料理人(AI)が「冷蔵庫から卵を取って」と指示を出し、助手(プログラム)が実際に取ってきて手渡す関係に近いものです。2023年にOpenAIがAPI機能として導入して以降、いまではAIエージェントやMCPの土台となる標準機能になっています。よく似た「Tool use(ツール利用)」はAIが道具を使う行為全般を指す広い言葉で、function calling はそれを実現する具体的な実装手段の一つ、という関係です。
❓ FAQ
よくある質問
- Q. Function calling とは何ですか?
- A. AIに「使ってよい関数の一覧」を事前に教えておき、必要なときにAIがどの関数をどんな引数で呼ぶべきかを判断して教えてくれる仕組みです。AI自身が関数を実行するのではなく、どの関数を呼ぶかを構造化データ(JSON)で返すのがポイントです。天気検索やDB照会など、AIが外部の情報や機能を扱う土台になります。
- Q. Function calling と Tool use の違いは何ですか?
- A. Tool use はAIが計算機・検索・コード実行などの道具を使う行為全般を指す広い言葉です。Function calling はそれを実現する具体的な実装手段の一つで、関数の呼び出しを構造化データでやり取りする仕組みを指します。つまり「道具を使う」という目的が Tool use、「関数として呼ぶ」という手段が function calling という関係です。
- Q. Function calling と MCP はどう違いますか?
- A. Function calling は、各AIモデルのAPIが備える「関数の呼び方」の仕組みそのものです。一方MCP(Model Context Protocol)は、AIと外部ツールをつなぐための共通規格で、function calling より一段上の「道具の渡し方を標準化する取り決め」にあたります。両者は競合ではなく、MCPで接続したツールを最終的にAIが呼ぶ場面で function calling の考え方が使われる、という補完関係です。
- Q. 初心者が Function calling を使うときの注意点は?
- A. まず「AIは関数を実行しない。実際に動かすのは自分のコード」という役割分担を理解するのが大切です。関数の説明文(description)が曖昧だとAIが正しく呼べないため、何をする関数かを丁寧に書くと精度が上がります。最初はChatGPTやClaudeなど、function calling に対応した公式APIのサンプルを1つ動かしてみるのが分かりやすい入口です。
🔗 関連
あわせて読みたい
関連 AI モデル