Tool Use
ツール利用
つうるりよう
Definition
Tool use is a setup where a model calls external tools (e.g., search or calculators) and incorporates the results to improve answer accuracy. It is common in practical implementations to reduce hallucinations and mistakes.
「今日の東京の天気は?」とLLMに聞くと、学習データに基づいた推測しか返せません。しかし天気APIを呼び出せれば、リアルタイムの正確な情報を提供できます。ツール利用(Tool Use)とは、LLMが外部のツールやAPIを呼び出して情報取得や操作を実行し、自身の能力を拡張する仕組みです。
LLM単体の限界を超える
LLMは言語の理解と生成に優れていますが、いくつかの根本的な限界があります。リアルタイム情報にアクセスできない、複雑な数学計算が苦手、外部システムを操作できない、といった制約です。ツール利用はこれらの限界を補完します。検索エンジンで最新情報を取得し、計算ツールで正確な計算を行い、APIを通じて予約や注文を実行する。LLMは「何をすべきか判断する頭脳」として機能し、実際の作業はツールに委ねるという分業構造です。
仕組みの流れ
ツール利用の流れはシンプルです。まず、利用可能なツールの一覧(名前、説明、パラメータの定義)をLLMに提示します。ユーザーの質問を受けると、LLMは適切なツールを選択し、必要なパラメータを生成して呼び出しを指示します。アプリケーション側がツールを実行し、結果をLLMに返すと、LLMがその結果を解釈してユーザーへの回答を生成します。OpenAIのFunction Calling、AnthropicのTool Use、GoogleのFunction Callingなど、主要なモデルプロバイダーがこの機能を提供しています。
ハルシネーションの低減
ツール利用の重要な効果の1つがハルシネーションの低減です。為替レートや株価を聞かれたとき、モデルが推測で答える代わりにAPIから実データを取得すれば、正確な回答が保証されます。計算問題でも、LLMが暗算する代わりにコード実行ツールを使えば、桁数の多い計算でもミスしません。「知っているふりをする」代わりに「調べて答える」ことが可能になります。
実装の広がり
ツール利用のエコシステムは急速に拡大しています。Anthropicが提唱するMCP(Model Context Protocol)は、ツールの定義と呼び出しを標準化するプロトコルで、異なるツールやサービスをプラグインのように接続できます。また、ブラウザ操作、ファイル読み書き、データベースクエリ、メール送信など、ツールの種類も多様化しています。エージェントが複数のツールを組み合わせて複雑なタスクを遂行するマルチツール利用も一般的になりつつあり、ツールの質と量がAIアプリケーションの実用性を直接左右する時代になっています。