Function Callingとは?
Function Callingとは、LLMが会話の中でユーザーの意図を解釈し、あらかじめ定義された外部関数(API・データベース・社内システムなど)を呼び出すパラメータを構造化データとして出力する機能です。ツール呼び出し・外部API連携とも呼ばれ、OpenAIが自社APIで採用した実装仕様に由来する呼称であり、Anthropic APIではTool Useという名称で同等の機能が提供されています。
— 背景・課題
LLMは高い言語理解能力を持つ一方、学習データに含まれない最新情報へのアクセスや、外部システムへの書き込み・操作といったリアルタイムの処理は単独では行えません。この限界を超えるために、LLMの出力を外部関数の呼び出し命令として構造化し、実際の処理を外部システムに委ねる仕組みが必要となりました。Function Callingはその課題を解決するための標準的な実装パターンとして、AIエージェント開発の基盤技術として広く普及しています。
— 仕組み・特徴
Function Callingでは、開発者があらかじめ呼び出し可能な関数の名称・パラメータ・説明をJSON形式で定義してLLMに渡します。LLMはユーザーの入力から意図を解釈し、適切な関数名と引数を構造化データとして出力します。実際の関数実行はアプリケーション側が担い、実行結果をLLMに返すことで最終的な回答が生成されます。なお複数の関数を同時に呼び出す並列Function Callingにも対応しており、複数の外部システムへの同時アクセスが必要な場面での処理効率を高めます。Tool Callingはこの概念をより汎用化した呼称であり、Function Callingを含む外部ツール呼び出し全般を指します。MCPサーバーはFunction Callingの実装基盤を標準化したプロトコルとして位置づけられ、ツール定義の再利用性と相互運用性を高める役割を担います。
— 実務利用シーン
上流工程での代表的な活用例は、要件定義AIエージェントが社内ナレッジベースの検索・要件管理ツールへの登録・設計書リポジトリの参照といった複数の外部操作をFunction Calling経由で実行するパターンです。BYOK型AIと組み合わせることで、自社管理のAPIキーを通じて機密性の高い社内システムとのFunction Calling連携をセキュアに構築できます。OpenAI APIとAnthropic APIでは関数定義のスキーマに若干の差異があるため、複数プロバイダーのLLMを使い分けるマルチモデル構成では抽象化レイヤーの設計が実装上の重要な検討事項となります。
— 関連概念との関係性
Function CallingはTool Callingの具体的な実装形態の一つであり、AIエージェントが外部世界と相互作用するための基礎技術です。Agentic WorkflowにおけるAIエージェントの行動実行フェーズを担い、MCPサーバーが提供するToolsリソースとの連携によって利用可能な関数の範囲が標準化・拡張されます。OpenAI API・Anthropic APIそれぞれの実装仕様を理解した上で設計することが、マルチLLM環境での安定した動作の前提となります。
— まとめ・重要性
Function Callingは、LLMを「会話するだけのシステム」から「外部システムと連携して実際の処理を行うエージェント」へと進化させるための中核技術です。上流工程のAIエージェント実装において、社内ツールとの連携を標準化・セキュアに設計するための基盤として、AI駆動開発における実装品質を左右する重要な要素です。
関連用語
監修:ランスティア株式会社
本記事は、AI駆動要件定義・設計ソリューション「GEAR.indigo Biz」の知見をもとに監修しています。GEAR.indigo Bizは、企業向け生成AI活用における要件定義、設計、ガバナンス整備を支援するプラットフォームです。