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エージェント開発に革命をもたらした。

基本動作フロー

  1. ツール定義: 開発者がJSONスキーマで利用可能な関数を定義
  2. ユーザー入力: 自然言語で要求を送信(例: 「東京の今日の天気は?」)
  3. モデル判断: LLMが要求に最適なツールを選択
  4. 関数呼び出し生成: モデルが構造化されたJSON形式で呼び出し引数を出力
  5. 実行と返却: アプリが実際に関数を実行し結果をモデルへ返却
  6. 最終応答生成: モデルが結果を自然言語に変換してユーザーへ提示

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を提供している。

この記事について
カテゴリーAI・機械学習
難易度中級
作成日2026/6/6