Function Calling(ツール呼び出し)とは
Function Calling(ツール呼び出し)は、モデルに使えるツールの一覧を渡しておき、必要なときに「どのツールを、どんな引数で呼ぶか」を構造化データで返させる仕組みです。ツールの一覧には、名前・説明・引数の形を書きます。
モデル自身はツールを実行しません。モデルが返した呼び出し内容を受けて、プログラムが実際に処理を行い、その結果をモデルに戻します。モデルは結果を読んで、回答を作るか、次のツールを呼ぶかを判断します。
この仕組みで、モデルは最新の在庫数を調べる、予定を登録する、計算を正確に行う、といった自分だけではできない処理を扱えます。AIエージェントの土台となる機能です。
品質を決めるのはツールの設計です。名前と説明が具体的で、引数が少なく、失敗したときのエラー内容が分かりやすいほど、モデルは正しく使えます。与える権限は必要最小限にします。
具体例
在庫照会のチャット
営業担当が「品番A-100の在庫は?」と尋ねると、モデルは在庫照会ツールを品番つきで呼び出します。プログラムが基幹システムから在庫数を取得して返し、モデルが「倉庫に120個あります」と答えます。数値はシステムの値なので、推測で答えることがありません。
ツールの説明文の書き方
モデルはツールの説明文を読んで、いつ使うかを判断します。説明が曖昧だと、呼ぶべき場面で呼ばなかったり、誤った引数を渡したりします。
名前:search 説明:検索する 引数:q
名前:search_inventory 説明:品番を指定して、倉庫ごとの在庫数を返す。品番が分からない場合は呼ばずに、利用者に品番を尋ねる。 引数:product_code(例:A-100。英大文字・ハイフン・数字)