AI・機械学習
中級
LLM Function Calling(エルエルエムファンクションコーリング)
LLMが外部ツールや関数を呼び出す機能。モデルが自然言語の指示を解釈し、定義されたAPI・データベース・計算処理を実行して結果を取得する。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
llm
function-calling
tool-use
ai-agent
api-integration
LLM Function Callingとは
LLM Function Calling(関数呼び出し)は、大規模言語モデルが外部ツールや関数を構造化された形式で呼び出す機能。2023年6月にOpenAIがGPT-3.5/GPT-4向けに初導入し、AIエージェント開発に革命をもたらした。
基本動作フロー
- ツール定義: 開発者がJSONスキーマで利用可能な関数を定義
- ユーザー入力: 自然言語で要求を送信(例: 「東京の今日の天気は?」)
- モデル判断: LLMが要求に最適なツールを選択
- 関数呼び出し生成: モデルが構造化されたJSON形式で呼び出し引数を出力
- 実行と返却: アプリが実際に関数を実行し結果をモデルへ返却
- 最終応答生成: モデルが結果を自然言語に変換してユーザーへ提示
2025年の主要実装
OpenAI Tools API
toolsパラメータでtool定義配列を渡すtool_choiceで強制呼び出しや特定ツール指定が可能- Parallel tool callsで複数関数を同時実行
Anthropic Claude Tool Use
tools配列にname/description/input_schemaを定義tool_useコンテンツブロックで呼び出し情報を返却- Extended Thinkingと組み合わせた複雑推論に対応
Google Gemini Function Calling
FunctionDeclarationでツール仕様を定義FunctionCallレスポンスで呼び出し情報取得- Vertex AI統合でエンタープライズ活用可能
ユースケース
- 情報取得: 天気・株価・ニュースAPIの動的取得
- データ操作: データベースCRUD操作の自然言語インターフェース
- コード実行: Pythonサンドボックスでの計算・データ分析
- 外部サービス連携: カレンダー登録・メール送信・Slack通知
- RAG強化: ベクトルDBへのリアルタイム検索
実装上の注意点
- スキーマ精度: JSONスキーマの記述品質が呼び出し精度に直結
- エラー処理: 関数実行失敗時のモデルへのエラー返却設計が重要
- セキュリティ: プロンプトインジェクション経由の不正関数実行リスクへの対策
- コスト管理: マルチステップ呼び出しでのトークン累積コスト注意
関連概念
Tool UseやFunction Callingは実質同義で、各社の呼称が異なるだけ。LangChainやLlamaIndexなどのフレームワークはこの機能を抽象化し、プロバイダー非依存の統一APIを提供している。