Использование инструментов с Claude
Claude способен взаимодействовать с инструментами и функциями, что позволяет расширить возможности Claude для выполнения более широкого спектра задач.
Вот пример того, как предоставить инструменты Claude с помощью Messages API:
Как работает использование инструментов
Claude поддерживает два типа инструментов:
-
Клиентские инструменты: Инструменты, которые выполняются в ваших системах, включая:
- Пользовательские инструменты, созданные и реализованные вами
- Инструменты, определенные Anthropic, такие как использование компьютера и текстовый редактор, которые требуют клиентской реализации
-
Серверные инструменты: Инструменты, которые выполняются на серверах Anthropic, такие как инструмент веб-поиска. Эти инструменты должны быть указаны в API-запросе, но не требуют реализации с вашей стороны.
Инструменты, определенные Anthropic, используют версионированные типы (например, web_search_20250305
, text_editor_20250124
) для обеспечения совместимости между версиями моделей.
Клиентские инструменты
Интегрируйте клиентские инструменты с Claude, выполнив следующие шаги:
Предоставьте Claude инструменты и пользовательский запрос
- Определите клиентские инструменты с именами, описаниями и входными схемами в вашем API-запросе.
- Включите пользовательский запрос, который может потребовать эти инструменты, например, “Какая погода в Сан-Франциско?”
Claude решает использовать инструмент
- Claude оценивает, могут ли какие-либо инструменты помочь с запросом пользователя.
- Если да, Claude создает правильно отформатированный запрос на использование инструмента.
- Для клиентских инструментов API-ответ имеет
stop_reason
равныйtool_use
, сигнализирующий о намерении Claude.
Выполните инструмент и верните результаты
- Извлеките имя инструмента и входные данные из запроса Claude
- Выполните код инструмента в вашей системе
- Верните результаты в новом сообщении
user
, содержащем блок контентаtool_result
Claude использует результат инструмента для формулировки ответа
- Claude анализирует результаты инструмента, чтобы создать свой окончательный ответ на исходный пользовательский запрос.
Примечание: Шаги 3 и 4 являются необязательными. Для некоторых рабочих процессов запрос Claude на использование инструмента (шаг 2) может быть всем, что вам нужно, без отправки результатов обратно Claude.
Серверные инструменты
Серверные инструменты следуют другому рабочему процессу:
Предоставьте Claude инструменты и пользовательский запрос
- Серверные инструменты, такие как веб-поиск, имеют свои собственные параметры.
- Включите пользовательский запрос, который может потребовать эти инструменты, например, “Найдите последние новости об ИИ.”
Claude выполняет серверный инструмент
- Claude оценивает, может ли серверный инструмент помочь с запросом пользователя.
- Если да, Claude выполняет инструмент, и результаты автоматически включаются в ответ Claude.
Claude использует результат серверного инструмента для формулировки ответа
- Claude анализирует результаты серверного инструмента, чтобы создать свой окончательный ответ на исходный пользовательский запрос.
- Дополнительное взаимодействие с пользователем не требуется для выполнения серверного инструмента.
Примеры использования инструментов
Вот несколько примеров кода, демонстрирующих различные паттерны и техники использования инструментов. Для краткости инструменты являются простыми, а описания инструментов короче, чем было бы идеально для обеспечения лучшей производительности.
Ценообразование
Tool use requests are priced based on:
- The total number of input tokens sent to the model (including in the
tools
parameter) - The number of output tokens generated
- 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 responsestool_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.
Model | Tool choice | Tool use system prompt token count |
---|---|---|
Claude Opus 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 4 | auto , none any , tool | 346 tokens 313 tokens |
Claude Sonnet 3.7 | auto , 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.5 | auto , none any , tool | 264 tokens 340 tokens |
Claude Opus 3 | auto , none any , tool | 530 tokens 281 tokens |
Claude Sonnet 3 | auto , none any , tool | 159 tokens 235 tokens |
Claude Haiku 3 | auto , 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
.
Следующие шаги
Изучите наш репозиторий готовых к реализации примеров кода использования инструментов в наших кулинарных книгах:
Инструмент калькулятора
Узнайте, как интегрировать простой инструмент калькулятора с Claude для точных численных вычислений.
Агент службы поддержки клиентов
Создайте отзывчивого бота службы поддержки клиентов, который использует клиентские инструменты для улучшения поддержки.
Экстрактор JSON
Посмотрите, как Claude и использование инструментов могут извлекать структурированные данные из неструктурированного текста.