LLMが外部ツールを使用する能力。Function Calling、API連携、計算・検索・コード実行。
最終更新:2025年11月
※画像は生成AIによるイメージです。
LLMの限界を補完:
| 時期 | 発展 |
|---|---|
| 2022 | Toolformer(自動ツール使用学習) |
| 2023/6 | GPT Function Calling |
| 2023 | Claude Tool Use |
| 2024 | 並列ツール呼び出し、Computer Use |
1. ユーザー: 「東京の天気を教えて」
2. LLM: ツール呼び出しを決定
→ get_weather(location="東京")
3. システム: ツールを実行、結果を取得
→ {"temp": 15, "condition": "晴れ"}
4. LLM: 結果を自然言語で回答
→ 「東京は現在15℃で晴れています」
LLMが構造化されたJSON形式でツール呼び出しを出力。
{
"name": "get_weather",
"description": "指定した場所の現在の天気を取得",
"parameters": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "都市名(例:東京、大阪)"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "温度の単位"
}
},
"required": ["location"]
}
}
{
"function_call": {
"name": "get_weather",
"arguments": "{\"location\": \"東京\", \"unit\": \"celsius\"}"
}
}
複数のツールを同時に呼び出し:
ユーザー: 「東京と大阪の天気を比較して」
モデル出力:
[
{"name": "get_weather", "arguments": {"location": "東京"}},
{"name": "get_weather", "arguments": {"location": "大阪"}}
]
Toolformer(Schick et al. 2023):自己教師ありでツール使用を学習。
ReAct(Reasoning + Acting)(Yao et al. 2023):
推論と行動を交互に行うフレームワーク。
Thought: [現在の状況の分析・次に何をすべきか]
Action: [実行するツール/アクション]
Observation: [アクションの結果]
... (繰り返し)
Thought: [最終的な結論]
Answer: [回答]
Question: アルバート・アインシュタインの妻の出身国は?
Thought: アインシュタインの妻を調べる必要がある
Action: Search[アルバート・アインシュタイン 妻]
Observation: ミレヴァ・マリッチ(最初の妻)...
Thought: ミレヴァ・マリッチの出身を調べる
Action: Search[ミレヴァ・マリッチ]
Observation: セルビア出身の数学者・物理学者...
Thought: 答えが分かった
Answer: セルビア
| ツール | 機能 |
|---|---|
| Web検索 | 最新情報の取得 |
| RAG/検索 | ドキュメント検索 |
| API呼び出し | 天気、株価等 |
| データベース | SQLクエリ |
| ツール | 機能 |
|---|---|
| 電卓 | 数値計算 |
| コード実行 | Python等の実行 |
| 画像生成 | DALL-E等 |
| ファイル操作 | 読み書き、変換 |
| ツール | 機能 |
|---|---|
| メール送信 | メール作成・送信 |
| カレンダー | 予定の追加・確認 |
| タスク管理 | Todo作成 |
| Computer Use | 画面操作 |
Anthropic(2024):LLMがコンピュータを直接操作。
while not done:
response = llm.generate(messages, tools)
if response.has_tool_call:
result = execute_tool(response.tool_call)
messages.append(tool_result(result))
else:
done = True
return response.text
Anthropic(2024):ツール連携の標準プロトコル。
ツール統合フレームワーク: