一文定義
LLMのFunction Calling・Tool Useで使用するJSON Schema形式の関数定義。関数名・パラメータ・説明を記述し、モデルが適切に呼び出せるよう設計する。
詳細解説
ファンクションスキーマ(Function Schema)とは、LLMのFunction CallingやTool Use機能において、LLMが呼び出し可能なツール・関数の仕様を記述したJSON Schema形式の定義です。関数名・説明・パラメータの型・必須/任意の区別・パラメータの説明を含み、LLMがユーザーの意図に基づいて適切な関数を選択・呼び出すための判断材料として機能します。
スキーマの主要要素として、(1)name:関数の識別子(例:「get_weather」「search_product」)、(2)description:LLMがいつこの関数を使うべきかを理解するための説明。品質がツール選択精度に直結する最重要フィールド、(3)parameters:JSON Schemaで記述したパラメータ定義(type・description・enum・required等)、(4)type:「function」固定値(OpenAI形式)から構成されます。
スキーマ設計のベストプラクティスとして、(1)descriptionを明確・具体的に記述:「何をする関数か」「いつ使うか」「何を返すか」を含める、(2)パラメータのdescriptionも詳しく:LLMがユーザー入力から適切な値を抽出する判断材料になる、(3)enumで有効値を限定:カテゴリ・ステータス等の決まった選択肢はenumで明示、(4)必須パラメータと任意パラメータを明確に区別する、(5)一つの関数に多くのパラメータを詰め込まない(ツールの分割設計)があります。
Anthropicのtool_use形式・OpenAIのfunction形式・Geminiのtool形式はそれぞれ微妙に異なる仕様を持つため、複数APIを統一的に扱うLangChain・LlamaIndex等のフレームワークが抽象化レイヤーを提供しています。
参考情報・出典
- ▸Function calling – OpenAI Documentation— OpenAI(参照日: 2026-02-26)
- ▸Tool use – Anthropic Documentation— Anthropic(参照日: 2026-02-26)