関数呼び出し(Function Calling)

Function Calling

関数呼び出しとは

関数呼び出し(Function Calling)とは、大規模言語モデルが構造化されたデータ形式で外部関数の呼び出しを生成する機能のことです。ユーザーの自然言語による要求を解釈し、適切な関数名と引数をJSON形式で出力することで、プログラムとの正確な連携を実現します。

表:関数呼び出し(Function Calling)の要点まとめ
ひとことで言うとAIが決まった形式で「この機能をこの引数で呼んで」と指示を返す仕組み。
どこで使う社内システムとの連携、最新データの取得、エージェントの道具接続。
注意点実行するのはアプリ側。権限チェックと入力検証は必ずアプリで行う。

Function Callingの仕組み

開発者はまず利用可能な関数のスキーマ(関数名、説明、引数の型・制約)をLLMに提供します。ユーザーのリクエストに対し、LLMは最適な関数とパラメータを判断してJSON形式の呼び出しを生成します。アプリケーション側がこのJSONを実際の関数呼び出しに変換し、結果をLLMに返すことで対話が継続します。

図:関数呼び出しの流れ
1関数を定義名前・引数・説明を渡す
▶
2依頼が届く「在庫を調べて」
▶
3AIが呼び出しを出力関数名と引数を決定
▶
4アプリが実行実システムを呼ぶ
▶
5結果から回答取得データを文章に

ツール使用との関係

Function Callingはツール使用を実現するための技術的基盤です。OpenAIが2023年に導入したFunction Calling APIを皮切りに、AnthropicのTool Use、GoogleのFunction Callingなど、主要なLLMプロバイダーがこの機能を提供しています。名称は異なりますが基本的な仕組みは共通しています。

活用場面

天気情報の取得、予約システムとの連携、データベースの検索・更新、メール送信、カレンダー操作など、外部システムとの連携が必要なあらゆる場面で活用されています。Function Callingにより、チャットボットは単なる会話AIから実用的なアシスタントへと進化しました。