基礎
AIのツール呼び出しは実際にどう機能するのか
ツールを呼び出すモデルは、それ自体では何も実行しません——名前と引数を提案するだけで、その呼び出しを実行するかどうかはアプリケーションが決めます。リクエストと応答のループがどう機能するか、そしてなぜ提案が推測であって保証ではないのかを解説します。
すべての解説 · 最終確認日:
モデルに渡されるのはメニューであり、キーボードではない
リクエストが送られる前に、アプリケーションは利用可能なツールをモデルに説明します。名前、それぞれが何をするかの説明、そして期待される引数のスキーマです。モデルは動作するコードや何かへのライブ接続を受け取るわけではありません——人が厨房にアクセスできないままメニューを読むのと同じように、説明だけを受け取ります。
モデルはそれ自体で何も実行しない
モデルがツールが役立つと判断すると、構造化された出力——通常はツール名と引数の組——を生成し、そこで止まります。まだ何も検索されておらず、呼び出されておらず、変更もされていません。リクエストを送ったアプリケーションがその構造化出力を読み取り、それに基づいて行動するかどうかを判断し、行動する場合は自分自身のインフラ上で実際の関数やAPI呼び出しを実行します。
一連のやり取りは単一のステップではなくループである
典型的な流れはこうです。アプリケーションがプロンプトと利用可能なツールの一覧を送信する。モデルは回答か、提案されたツール呼び出しのどちらかで応答する。ツール呼び出しであれば、アプリケーションがそれを実行し、結果を会話の一部として送り返す。モデルはその後続行し、多くの場合その結果を使った最終的な回答を生成する。複数ステップのタスクでは、ユーザーに応答が届くまでにこのループが何度も繰り返されることがあります。
提案された呼び出しはもっともらしい推測であり、正しさの保証ではない
モデルは間違ったツールを提案したり、スキーマに一度も存在しなかった引数を作り出したり、そもそも呼び出す必要がなかったのにツールを呼び出したりすることがあります——他のどんな出力を生成するのとも同じ確率的な生成過程が、ツール呼び出しも生成しているからです。この仕組みのどこにも、提案された呼び出しを本質的に安全に実行できるものにする要素はありません。引数をスキーマと照合せず、呼び出しが実際に何に触れることを許されているかを承認せずに実行するアプリケーションは、推測に本物のアクセス権を委ねています。
スキーマはモデルが実際に目にする唯一のインターフェースである
ツールの名前、説明、引数スキーマは、モデルが頼ることのできる仕様のすべてです——ツールが何をするか、パラメータを正しく埋める方法を知る他の手段はありません。明確かつ的確に説明された同じ関数は、曖昧に説明されたり無関係なオプションとまとめられたりした関数よりも、はるかに高い頻度で正しく呼び出される傾向があります。モデルはその説明だけから選択と引数の入力を行っているからです。
モデルにコードを書かせるのとはなぜ違うのか
モデルに動作するスクリプトを生成させることと、あらかじめ定義されたツールを呼び出させることは、同じ依頼ではありません。ツール呼び出しは、アプリケーションがすでに安全に扱う方法を知っている名前と引数に限定されています。自由生成されたコードは、それを実行する環境が許すあらゆることを試みる可能性があり、はるかに大きく異なる種類のセキュリティ問題です。ツール呼び出しは、モデルが要求できる範囲を、固定された検査可能な選択肢の集合に絞り込みます。
よくある質問
- モデルはツールを自分で実行しますか?
- いいえ。モデルはツール名とその引数を指定した構造化リクエストを出力します。リクエストを送ったアプリケーションがそれを実行するかどうかを決め、実際の関数やAPI呼び出しはモデルの内部ではなく、アプリケーション自身のインフラ上で実行されます。
- モデルは作り話の引数でツールを呼び出せますか?
- はい。呼び出しは他のどんな出力とも同じように生成されるため、モデルはスキーマに一度も存在しなかった値や、そのツールにとって意味をなさない値を渡すことがあります。実際の何かを実行する前に引数を検証することはアプリケーションの責任であり、モデルが保証するものではありません。
- モデルが間違ったツールを呼び出したらどうなりますか?
- それは完全にアプリケーションの作り方次第です。よく作られたアプリケーションは、呼び出しを実行する前にそれが理にかなっているかを確認し、不一致なリクエストに基づいて行動する代わりにエラーや説明を求める結果をモデルに返すことができます。作りの悪いアプリケーションは、受け取ったものをそのまま実行します。
- ツール呼び出しはAIエージェントと同じものですか?
- いいえ、ただしエージェントは通常その上に構築されます。ツール呼び出しは基盤となるリクエスト・応答のメカニズムであり、エージェントは通常そのループを何度も繰り返し、各結果に基づいて次に何を試すかを決める追加のロジックを備えています。
読むより試してみる
ClawAIはチャットリクエスト中に、ワークスペースコネクタやその他のアクションを呼び出し可能なツールとしてモデルに公開しています。提案された呼び出しは、ClawAIがあなたに代わって実際のコネクタに対して何かを実行する前に、そのスキーマと照合して検証されます。