ツール使用により、Claudeはユーザーが定義した関数やAnthropicが提供する関数を呼び出すことができます。Claudeはユーザーのリクエストとツールの説明に基づいてツールを呼び出すタイミングを判断し、アプリケーションが実行する(クライアントツール)またはAnthropicが実行する(サーバーツール)構造化された呼び出しを返します。
以下は、Anthropicが実行を処理するサーバーツールを使用した最もシンプルな例です。
import anthropic
client = anthropic.Anthropic()
response = client.messages.create(
model="claude-opus-4-8",
max_tokens=1024,
tools=[{"type": "web_search_20260209", "name": "web_search"}],
messages=[{"role": "user", "content": "What's the latest on the Mars rover?"}],
)
print(response.content)ツールは主にコードが実行される場所によって異なります。クライアントツール(ユーザー定義ツールや、bashやtext_editorなどのAnthropicスキーマツールを含む)はアプリケーション内で実行されます。Claudeはstop_reason: "tool_use"と1つ以上のtool_useブロックで応答し、コードが操作を実行した後、tool_resultを返送します。サーバーツール(web_search、code_execution、web_fetch、tool_search)はAnthropicのインフラストラクチャ上で実行されます。実行を処理することなく、結果を直接確認できます。
エージェントループや各アプローチを選択するタイミングを含む完全な概念モデルについては、ツール使用の仕組みを参照してください。
MCPサーバーへの接続については、MCPコネクタを参照してください。独自のMCPクライアントを構築する場合は、modelcontextprotocol.ioを参照してください。
厳密なツール使用でスキーマ準拠を保証する
ツール定義にstrict: trueを追加すると、Claudeのツール呼び出しが常にスキーマと正確に一致することを保証できます。厳密なツール使用を参照してください。
ツールアクセスは、エージェントに与えることができる最もレバレッジの高いプリミティブの1つです。LAB-Bench FigQA(科学的図表の解釈)やSWE-bench(実世界のソフトウェアエンジニアリング)などのベンチマークでは、基本的なツールを追加するだけでも大幅な能力向上が得られ、多くの場合、人間の専門家のベースラインを上回ります。
デフォルトのtool_choiceである{"type": "auto"}では、Claudeは各ターンでツールを呼び出すか直接応答するかを判断します。リクエストがそのツールの説明された機能に対応し、答えがまだコンテキストにない場合にツールを呼び出します。安定した知識、創造的なタスク、会話的なターンには直接応答します。
この境界はシステムプロンプトを通じて調整可能です。期待どおりにClaudeがツールを呼び出さない場合、"Use the tools to investigate before responding."(応答する前にツールを使用して調査してください)のような軽い指示でツール使用が測定可能なほど増加します。"Always call a tool first before responding."(応答する前に必ず最初にツールを呼び出してください)のようなより強い形式はさらに効果を高めます。逆に、"Use your judgment about whether to call a tool or respond directly."(ツールを呼び出すか直接応答するかは自分で判断してください)はトリガー動作を控えめに保ちます。
促しではなく確実な保証が必要な場合は、tool_choiceを使用してください。
各サーバーツールのページでは、それぞれのトリガー境界についてより詳しく説明しています。例として、ウェブ検索ツールやコード実行ツールを参照してください。
完全なハンズオンのウォークスルーについては、チュートリアルを参照してください。個々の概念のリファレンス例については、ツールの定義およびツール呼び出しの処理を参照してください。
ツール使用リクエストは、以下に基づいて料金が計算されます。
tools パラメータに含まれるものを含む)クライアントサイドツールは他のClaude APIリクエストと同じ料金体系ですが、サーバーサイドツールはその特定の使用量に基づいて追加料金が発生する場合があります。
ツール使用による追加トークンは、以下から発生します。
tools パラメータ(ツール名、説明、スキーマ)tool_use コンテンツブロックtool_result コンテンツブロックtools を使用すると、APIはツール使用を有効にするための特別なシステムプロンプトをモデルに自動的に含めます。各モデルに必要なツール使用トークン数は以下のとおりです(上記の追加トークンを除く)。なお、この表は少なくとも1つのツールが提供されていることを前提としています。tools が提供されていない場合、ツール選択が none であれば追加のシステムプロンプトトークンは0になります。
| モデル | ツール選択 | ツール使用システムプロンプトのトークン数 |
|---|---|---|
| Claude Opus 4.8 | auto、noneany、tool | 290トークン 410トークン |
| Claude Opus 4.7 | auto、noneany、tool | 675トークン 804トークン |
| Claude Opus 4.6 | auto、noneany、tool | 497トークン 589トークン |
| Claude Opus 4.5 | auto、noneany、tool | 496トークン 588トークン |
| Claude Opus 4.1(非推奨) | auto、noneany、tool | 313トークン 315トークン |
| Claude Opus 4(非推奨) | auto、noneany、tool | 313トークン 315トークン |
| Claude Sonnet 4.6 | auto、noneany、tool | 497トークン 589トークン |
| Claude Sonnet 4.5 | auto、noneany、tool | 496トークン 588トークン |
| Claude Sonnet 4(非推奨) | auto、noneany、tool | 313トークン 315トークン |
| Claude Haiku 4.5 | auto、noneany、tool | 496トークン 588トークン |
| Claude Haiku 3.5(BedrockおよびVertex AIを除き提供終了) | auto、noneany、tool | 264トークン 355トークン |
これらのトークン数は、通常の入力および出力トークンに加算され、リクエストの総コストが計算されます。
現在のモデルごとの料金については、モデル概要表を参照してください。
ツール使用プロンプトを送信すると、他のAPIリクエストと同様に、レスポンスは報告されるusageメトリクスの一部として入力トークン数と出力トークン数の両方を出力します。
ツールが実行される場所、ループの仕組み、ツールを使用するタイミング。
チュートリアル:単一のツール呼び出しから本番環境まで。
Anthropic提供のツールとプロパティのディレクトリ。
Was this page helpful?