AI・機械学習
中級
Anthropic Tool Use(Claude)(アンソロピックツールユーズ)
AnthropicのClaudeが外部ツールを呼び出す機能。`tools`配列にname/description/input_schemaを定義し、モデルが`tool_use`コンテンツブロックで呼び出し情報を返す。
0 回閲覧
0 いいね
2026/6/6 更新
関連タグ
anthropic
claude
tool-use
function-calling
ai-agent
Anthropic Tool Use(Claude)の概要
AnthropicのClaude APIにおけるTool Use機能は、Claude 3シリーズで本格的に提供開始。コンテンツブロック(content blocks)方式の独自設計を採用し、テキストとツール呼び出しを同一レスポンス内に混在させられる点が特徴。
基本的なAPI構造
{
"model": "claude-sonnet-4-6",
"max_tokens": 1024,
"tools": [
{
"name": "get_weather",
"description": "指定した都市の現在の天気情報を取得します",
"input_schema": {
"type": "object",
"properties": {
"location": {
"type": "string",
"description": "都市名(日本語または英語)"
},
"unit": {
"type": "string",
"enum": ["celsius", "fahrenheit"],
"description": "温度の単位"
}
},
"required": ["location"]
}
}
],
"messages": [{"role": "user", "content": "東京の天気を教えて"}]
}
レスポンス構造
ツール呼び出し時のレスポンス:
{
"content": [
{
"type": "text",
"text": "東京の天気を確認します。"
},
{
"type": "tool_use",
"id": "toolu_01A09q90qw90lq917835lq9",
"name": "get_weather",
"input": {"location": "東京", "unit": "celsius"}
}
],
"stop_reason": "tool_use"
}
ツール結果の返却
実行結果をモデルに返却:
{
"role": "user",
"content": [
{
"type": "tool_result",
"tool_use_id": "toolu_01A09q90qw90lq917835lq9",
"content": "東京: 28°C、晴れ、湿度65%"
}
]
}
OpenAI実装との違い
| 項目 | Anthropic | OpenAI |
|---|---|---|
| スキーマキー | input_schema | parameters |
| 呼び出し構造 | tool_useブロック | tool_calls配列 |
| 結果返却ロール | userロール内 | toolロール |
| テキスト混在 | 同一content配列内 | 別メッセージ |
特殊ツール(Claude 3.5+)
Computer Use
GUI操作ツール(ベータ機能):
computer: スクリーンショット取得・クリック・キータイプtext_editor: ファイル表示・編集bash: シェルコマンド実行
Extended Thinkingとの組み合わせ
thinkingブロック有効時、モデルは内部推論でツール選択を深く検討。複雑なマルチステップエージェントタスクで精度向上。
tool_choiceの制御
"tool_choice": {"type": "auto"} // 自動判断
"tool_choice": {"type": "any"} // 必ずどれかを選択
"tool_choice": {"type": "tool", "name": "get_weather"} // 特定ツール強制