Использование инструментов с Claude
Claude способен взаимодействовать с инструментами и функциями, что позволяет вам расширить возможности Claude для выполнения более широкого спектра задач.
Изучите всё необходимое для освоения использования инструментов с Claude через наш новый комплексный курс по использованию инструментов! Пожалуйста, продолжайте делиться своими идеями и предложениями, используя эту форму.
Вот пример того, как предоставить инструменты Claude с использованием API Messages:
Как работает использование инструментов
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 и использование инструментов могут извлекать структурированные данные из неструктурированного текста.