Function Calling

AI概念
約1分で読めます

LLMがユーザーの要求を解釈し、あらかじめ登録された外部関数やAPIを選択して呼び出すよう連携する機能です。

別名
関数呼び出しTool Useツール使用

詳しい説明

Function Calling(関数呼び出し)は、LLMがユーザーの要求を解釈し、あらかじめ登録された外部関数やAPIの中から適切なものを選択し、必要な引数を入力して呼び出すようにする機能です。モデルは直接コードを実行するのではなく、呼び出す関数名と引数を構造化された形式(JSON)で出力し、実際の実行と結果の返却はアプリケーションが担います。これにより、リアルタイムデータの照会、計算、データベースへのクエリ、外部サービスとの連携など、モデル自身では行えない作業を実行することができます。OpenAI、Anthropic、Googleなどの主要なプロバイダーがサポートしており、AIエージェントを構築する上での中核的なメカニズムとなっています。

ツール選択において重要な理由

Function Callingのサポート有無は、単なるチャットボットと、実際の業務を処理するAIエージェントを分ける基準となります。外部システムと連携して作業を自動化するには、モデルが関数呼び出しを安定して構造化できなければなりません。ツールを選ぶ際は、同時に複数の関数を呼び出せるか、呼び出し引数の形式をスキーマで強制できるか、呼び出し失敗時に再試行や検証ロジックを設けることができるかを確認すると良いでしょう。

ツールを選ぶ際に確認すべき点

  • 関数の引数をJSONスキーマで強制し、形式エラーを減らすことができるか
  • 1回の応答で複数の関数を並列に呼び出すことができるか
  • 呼び出し結果を再びモデルに渡して、後続の推論を継続できるか
  • 誤った呼び出しや不足している引数に対する検証・再試行の手段があるか

実際の適用例

「来週の釜山(プサン)出張の航空便を調べて」という要求を受けると、モデルは直接回答をでっち上げる代わりに、search_flights関数を呼び出し対象として指定し、出発地・目的地・日付の引数を入力して返します。アプリケーションが実際の航空APIを呼び出して得た結果を再びモデルに伝えると、モデルが人間にとって読みやすい形式に整理してくれます。

関連用語

AIエージェントLLMAPI