Function Calling
別名: 関数呼び出し / ファンクションコーリング
LLMが自分で外部APIや関数を呼び出すための仕組み。AIエージェントの基礎技術です。
一言で
Function Callingとは、LLMが「この処理は外部の関数に任せた方が良い」と自分で判断し、その関数を呼び出して結果を取り込む仕組みのことです。
もう少し詳しく
通常のLLMは文章を生成するだけで、天気を調べたりカレンダーに予定を入れたりはできません。Function Callingでは、開発者があらかじめ「使える関数の一覧と説明(JSON Schema)」をAIに渡しておきます。AIはユーザーの質問を読み、「天気を聞かれているからget_weather関数を使うべき」と判断し、必要な引数(東京、明日など)を組み立てて返します。
2023年6月にOpenAIが先導して導入し、現在はGPT-5系・Claude・Gemini・Llamaなど主要モデルがすべて対応しています。並列ツール呼び出しが標準となり、複数の関数を同時に走らせて結果をまとめる使い方も一般的です。
2024年に導入されたStructured Outputsを使えば、引数がJSON Schemaに完全準拠することが保証されるため、本番運用での信頼性が大きく上がりました。
主な特徴
- 判断と呼び出しを分担: AIは「何を呼ぶか」を決め、実際の実行はアプリ側が行う
- 強い型保証: Structured Outputsで引数の形式が保証される
- 並列実行: 複数の関数を同時に呼ぶことで処理が高速になる
使われ方の例
- 天気・株価・予約状況などのリアルタイム情報取得
- データベース検索や社内システムへの問い合わせ
- ChatGPTのプラグインやカスタムGPTの実体
関連する話題
Anthropicでは同じ機能をTool Useと呼びます。これらを共通規格にまとめたのがMCPで、Function Callingはあくまで各社の独自仕様、MCPはモデル横断の標準、という関係になります。