【ふぁんくしょんこーりんぐ】

Function Calling(ファンクションコーリング) とは?

💡 AIに「電話をかける力」を与える仕組み
📌 このページのポイント
Function Calling の流れ 👤 ユーザー ①質問 🤖 LLM 関数を選択・引数を決定 ②呼出指示 アプリ 関数を実行 ③呼出 外部 API ④結果 ⑤結果を渡す ⑥自然言語で回答 関数定義(JSON) name: "get_weather" params: { location: "東京" } desc: "指定地域の天気を取得" 実行例 💬「明日の東京の天気は?」 → get_weather("東京","明日") → 「明日の東京は晴れです☀」
Function Callingの処理フローのイメージ
ひよこ ひよこ

Function Callingって、AIが勝手にプログラムを動かすってこと?

ペンギン先生 ペンギン先生

正確にはAIが「この関数をこの引数で呼んでほしい」と指示を出すだけで、実際に実行するのはアプリケーション側だよ。レストランで例えると、AIはウェイターで注文を伝えるだけ、料理を作るのはキッチン(外部API)なんだ

ひよこ ひよこ

どうやってAIに関数のことを教えるの?

ペンギン先生 ペンギン先生

関数の名前、引数の型、何をする関数かの説明をJSON形式で定義して、APIリクエスト時に一緒に渡すんだ。AIはその定義を見て、ユーザーの質問に合う関数を選んでくれるよ

ひよこ ひよこ

具体的にはどんな場面で使うの?

ペンギン先生 ペンギン先生

「明日の東京の天気は?」と聞かれたら get_weather(location="東京", date="明日") を呼ぶ、とか。他にもデータベース検索、メール送信、カレンダー登録など、外部サービスとAIをつなぐあらゆる場面で使われているよ

ひよこ ひよこ

Tool Useとは違うの?

ペンギン先生 ペンギン先生

ほぼ同じ概念だけど、Function CallingはOpenAIが最初に使い始めた用語で、AnthropicはTool Useと呼んでいるよ。業界的には統一されつつあって、どちらも「LLMが外部ツールを活用する能力」を指しているんだ

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「Function Calling」って出てきたら「AIが外部の関数やAPIを呼び出せる機能」と思えればだいたいOK!
📖 おまけ:英語の意味
「Function Calling」 = 関数呼び出し
💬 Function(関数)をCalling(呼び出す)というプログラミング用語そのままで、LLMが適切な関数を選んで呼び出す能力を指すよ
← 用語集にもどる