AI
AIエージェント問題集
Q.
ツール連携において、言語モデル自身の役割として正しいものはどれか。
解説まとめ
正解はAです。言語モデルの役割は、状況に応じてどのツールをどんな引数で呼ぶべきかを判断し、その「呼び出し要求」を構造化された形で返すことです。実際にツールを実行するのは、その要求を受け取った実装側(実行環境)です。モデルは判断役、実装は実行役、と分かれています。
ポイント
よくある誤解は「モデルがツールを実行している」というものです。モデルは呼び出しを要求するだけで、実行と結果取得はアプリ側が担います。この責任分担を押さえると、ログの読み方や安全設計の勘所が見えてきます。
ワンポイントアドバイス
ツール実行の安全性を考えるときは「実行するのは実装側」という前提に立ちましょう。モデルが危険な呼び出しを要求しても、実装側で検証・承認・権限制限を挟めば実行を止められます。守りを置くべき場所は実行の手前です。
解説詳細
なぜAが正解か
Function calling では、モデルは与えられたツール定義をもとに「このツールをこの引数で呼びたい」という構造化された要求(JSON引数など)を生成して返します。実際の実行は、その要求を受け取ったアプリケーション側が行い、結果をモデルへ戻します。Aはこの「判断して要求を返す」モデルの役割を正しく表しています。
なぜ他の選択肢が誤りか
Bはモデルが物理的に実行・サーバーアクセスを行うとしていますが、実行は実装側の責務であり誤りです。Cの無断外部送信は、ツール連携の正常な仕様ではなく、むしろ防ぐべき挙動です。Dの「常に全ツールを同時実行」も誤りで、モデルは必要なツールを選んで要求するのが本来の動きです。いずれもモデルと実装の役割分担を取り違えています。