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

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

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

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.


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

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