Claude способен взаимодействовать с инструментами и функциями, что позволяет вам расширить возможности Claude для выполнения более широкого спектра задач.

Изучите всё необходимое для освоения использования инструментов с Claude через наш новый комплексный курс по использованию инструментов! Пожалуйста, продолжайте делиться своими идеями и предложениями, используя эту форму.

Вот пример того, как предоставить инструменты Claude с использованием API Messages:

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 поддерживает два типа инструментов:

  1. Клиентские инструменты: Инструменты, которые выполняются на ваших системах, включая:

  2. Серверные инструменты: Инструменты, которые выполняются на серверах Anthropic, например, инструмент веб-поиска. Эти инструменты должны быть указаны в API-запросе, но не требуют реализации с вашей стороны.

Инструменты, определенные Anthropic, используют версионированные типы (например, web_search_20250305, text_editor_20250124) для обеспечения совместимости между версиями моделей.

Клиентские инструменты

Интеграция клиентских инструментов с Claude происходит в следующие этапы:

1

Предоставьте Claude инструменты и запрос пользователя

  • Определите клиентские инструменты с именами, описаниями и схемами ввода в вашем API-запросе.
  • Включите запрос пользователя, который может потребовать эти инструменты, например, “Какая погода в Сан-Франциско?”
2

Claude решает использовать инструмент

  • Claude оценивает, могут ли какие-либо инструменты помочь с запросом пользователя.
  • Если да, Claude создает правильно отформатированный запрос на использование инструмента.
  • Для клиентских инструментов API-ответ имеет stop_reason со значением tool_use, сигнализирующий о намерении Claude.
3

Выполните инструмент и верните результаты

  • Извлеките имя инструмента и входные данные из запроса Claude
  • Выполните код инструмента в вашей системе
  • Верните результаты в новом сообщении user, содержащем блок контента tool_result
4

Claude использует результат инструмента для формулирования ответа

  • Claude анализирует результаты инструмента для составления своего окончательного ответа на исходный запрос пользователя.

Примечание: Шаги 3 и 4 являются необязательными. Для некоторых рабочих процессов запрос Claude на использование инструмента (шаг 2) может быть всем, что вам нужно, без отправки результатов обратно Claude.

Серверные инструменты

Серверные инструменты следуют другому рабочему процессу:

1

Предоставьте Claude инструменты и запрос пользователя

  • Серверные инструменты, такие как веб-поиск, имеют свои собственные параметры.
  • Включите запрос пользователя, который может потребовать эти инструменты, например, “Найди последние новости об ИИ.”
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.


Следующие шаги

Изучите наш репозиторий готовых к реализации примеров кода использования инструментов в наших сборниках: