機能・仕様

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はモデル横断の標準、という関係になります。

参考ソース