Claudeはツールや関数と相互作用する能力があり、Claudeの機能を拡張してより幅広いタスクを実行できます。

新しいコースの一部として、Claudeでのツール使用をマスターするために必要なすべてを学びましょう!このフォームを使用してアイデアや提案を引き続き共有してください。

Messages APIを使用してClaudeにツールを提供する方法の例を以下に示します:

curl https://api.anthropic.com/v1/messages \
  -H "content-type: application/json" \
  -H "x-api-key: $ANTHROPIC_API_KEY" \
  -H "anthropic-version: 2023-06-01" \
  -d '{
    "model": "claude-opus-4-20250514",
    "max_tokens": 1024,
    "tools": [
      {
        "name": "get_weather",
        "description": "Get the current weather in a given location",
        "input_schema": {
          "type": "object",
          "properties": {
            "location": {
              "type": "string",
              "description": "The city and state, e.g. San Francisco, CA"
            }
          },
          "required": ["location"]
        }
      }
    ],
    "messages": [
      {
        "role": "user",
        "content": "What is the weather like in San Francisco?"
      }
    ]
  }'

ツール使用の仕組み

Claudeは2種類のツールをサポートしています:

  1. クライアントツール:あなたのシステム上で実行されるツールで、以下が含まれます:

  2. サーバーツールウェブ検索ツールなど、Anthropicのサーバー上で実行されるツール。これらのツールはAPIリクエストで指定する必要がありますが、あなたの側での実装は不要です。

Anthropicが定義したツールは、モデルバージョン間での互換性を確保するためにバージョン付きタイプ(例:web_search_20250305text_editor_20250124)を使用します。

クライアントツール

以下の手順でクライアントツールをClaudeと統合します:

1

Claudeにツールとユーザープロンプトを提供

  • APIリクエストで名前、説明、入力スキーマを持つクライアントツールを定義します。
  • これらのツールが必要になる可能性のあるユーザープロンプトを含めます(例:「サンフランシスコの天気はどうですか?」)。
2

Claudeがツールの使用を決定

  • Claudeはユーザーのクエリにツールが役立つかどうかを評価します。
  • 役立つ場合、Claudeは適切にフォーマットされたツール使用リクエストを構築します。
  • クライアントツールの場合、APIレスポンスのstop_reasontool_useになり、Claudeの意図を示します。
3

ツールを実行して結果を返す

  • Claudeのリクエストからツール名と入力を抽出します
  • あなたのシステム上でツールコードを実行します
  • tool_resultコンテンツブロックを含む新しいuserメッセージで結果を返します
4

Claudeがツール結果を使用して応答を作成

  • Claudeはツール結果を分析して、元のユーザープロンプトに対する最終応答を作成します。

注意:手順3と4はオプションです。一部のワークフローでは、Claudeのツール使用リクエスト(手順2)だけで十分で、結果をClaudeに送り返す必要がない場合があります。

サーバーツール

サーバーツールは異なるワークフローに従います:

1

Claudeにツールとユーザープロンプトを提供

  • ウェブ検索などのサーバーツールには独自のパラメータがあります。
  • これらのツールが必要になる可能性のあるユーザープロンプトを含めます(例:「AIに関する最新ニュースを検索してください」)。
2

Claudeがサーバーツールを実行

  • Claudeはサーバーツールがユーザーのクエリに役立つかどうかを評価します。
  • 役立つ場合、Claudeはツールを実行し、結果が自動的にClaudeの応答に組み込まれます。
3

Claudeがサーバーツール結果を使用して応答を作成

  • Claudeはサーバーツール結果を分析して、元のユーザープロンプトに対する最終応答を作成します。
  • サーバーツールの実行には追加のユーザー操作は必要ありません。

ツール使用の例

さまざまなツール使用パターンとテクニックを示すコード例をいくつか紹介します。簡潔にするため、ツールはシンプルなツールであり、ツールの説明は最高のパフォーマンスを確保するために理想的な長さよりも短くなっています。


価格設定

Tool use requests are priced based on:

  1. The total number of input tokens sent to the model (including in the tools parameter)
  2. The number of output tokens generated
  3. For server-side tools, additional usage-based pricing (e.g., web search charges per search performed)

Client-side tools are priced the same as any other Claude API request, while server-side tools may incur additional charges based on their specific usage.

The additional tokens from tool use come from:

  • The tools parameter in API requests (tool names, descriptions, and schemas)
  • tool_use content blocks in API requests and responses
  • tool_result content blocks in API requests

When you use tools, we also automatically include a special system prompt for the model which enables tool use. The number of tool use tokens required for each model are listed below (excluding the additional tokens listed above). Note that the table assumes at least 1 tool is provided. If no tools are provided, then a tool choice of none uses 0 additional system prompt tokens.

ModelTool choiceTool use system prompt token count
Claude Opus 4auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 4auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 3.7auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 3.5 (Oct)auto, none
any, tool
346 tokens
313 tokens
Claude Sonnet 3.5 (June)auto, none
any, tool
294 tokens
261 tokens
Claude Haiku 3.5auto, none
any, tool
264 tokens
340 tokens
Claude Opus 3auto, none
any, tool
530 tokens
281 tokens
Claude Sonnet 3auto, none
any, tool
159 tokens
235 tokens
Claude Haiku 3auto, none
any, tool
264 tokens
340 tokens

These token counts are added to your normal input and output tokens to calculate the total cost of a request.

現在のモデル別価格については、モデル概要表を参照してください。

ツール使用プロンプトを送信すると、他のAPIリクエストと同様に、応答は報告されるusageメトリクスの一部として入力トークンと出力トークンの両方のカウントを出力します。


次のステップ

クックブックで、すぐに実装できるツール使用コード例のリポジトリを探索してください: