関数呼び出しとは
関数呼び出し(Function Calling)とは、大規模言語モデルが構造化されたデータ形式で外部関数の呼び出しを生成する機能のことです。ユーザーの自然言語による要求を解釈し、適切な関数名と引数をJSON形式で出力することで、プログラムとの正確な連携を実現します。
Function Callingの仕組み
開発者はまず利用可能な関数のスキーマ(関数名、説明、引数の型・制約)をLLMに提供します。ユーザーのリクエストに対し、LLMは最適な関数とパラメータを判断してJSON形式の呼び出しを生成します。アプリケーション側がこのJSONを実際の関数呼び出しに変換し、結果をLLMに返すことで対話が継続します。
ツール使用との関係
Function Callingはツール使用を実現するための技術的基盤です。OpenAIが2023年に導入したFunction Calling APIを皮切りに、AnthropicのTool Use、GoogleのFunction Callingなど、主要なLLMプロバイダーがこの機能を提供しています。名称は異なりますが基本的な仕組みは共通しています。
活用場面
天気情報の取得、予約システムとの連携、データベースの検索・更新、メール送信、カレンダー操作など、外部システムとの連携が必要なあらゆる場面で活用されています。Function Callingにより、チャットボットは単なる会話AIから実用的なアシスタントへと進化しました。