ツール呼び出し

ツール呼び出し

執筆済 AIシステム

LLM が外部の関数を呼び出せるようにする仕組み。 function calling、tool use。

流れ#

1. 利用可能なツールの定義(名前・説明・引数スキーマ)を渡す
2. LLM が「このツールをこの引数で呼びたい」と構造化出力する
3. アプリケーション側が実際に実行する
4. 結果を LLM に返す
5. LLM が結果を踏まえて回答する

実行するのは LLM ではなくアプリケーション側。 ここが安全性の要になる。

何ができるようになるか#

苦手なこと ツールで解決
正確な計算 電卓、コード実行
最新の情報 検索 API
事実の確認 データベース照会
外部への作用 メール送信、ファイル操作

LLM は確率的な予測器なので、 決定的で正確な処理は外に出すのが正しい設計。

スキーマの設計#

ツールの説明文とスキーマが、そのままモデルへの指示になる。

  • 名前は用途が分かるものにする
  • 説明にいつ使うか・使わないかを書く
  • 引数は必須と省略可能を明示する
  • 曖昧な引数(自由文字列)は誤用されやすい

曖昧なツールは呼ばれ方も曖昧になる。

失敗の扱い#

ツールは失敗する。 エラーメッセージをそのままモデルに返すと、 モデルが引数を直して再試行できることが多い。

ただし無限リトライにならないよう、 回数上限をシステム側で持つ必要がある。

参考文献#

ノート一覧を閉じる