実装

ファンクションスキーマ

ファンクションスキーマ

一文定義

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等のフレームワークが抽象化レイヤーを提供しています。

参考情報・出典

最終更新: 2026-02-26← 用語集一覧へ

AIスキルだけでなく、自分と未来を再設計する

生成AI活用力を体系的に習得し、自己理解・キャリアデザインを深め、志を同じくする仲間と共に学ぶ場がここにあります。

AIリブートアカデミーを見る