Claude Platform Docs
MessagesИнфраструктура инструментов

Справочник по инструментам

Каталог предоставляемых Anthropic серверных инструментов, клиентских инструментов и клиентских наборов инструментов, а также справочник по необязательным свойствам определения инструментов.

Эта страница представляет собой справочник по инструментам, которые предоставляет Anthropic, и по необязательным свойствам, которые вы можете задать в любом определении инструмента. Концептуальное введение в «tool use» (использование инструментов) см. в разделе Использование инструментов с Claude. Рекомендации по реализации использования инструментов в вашем приложении см. в разделе Определение инструментов.

Инструменты, предоставляемые Anthropic

Anthropic предоставляет два вида инструментов: серверные инструменты (server tools), которые выполняются в инфраструктуре Anthropic, и клиентские инструменты (client tools), для которых Anthropic определяет схему, а выполнение обрабатывает ваше приложение. Оба вида указываются в массиве tools вашего запроса наряду с любыми пользовательскими инструментами.

ИнструментtypeВыполнениеБета-заголовок
Инструмент веб-поискаweb_search_20260318
web_search_20260209
web_search_20250305
СерверНет
Инструмент веб-загрузкиweb_fetch_20260318
web_fetch_20260309
web_fetch_20260209
web_fetch_20250910
СерверНет
Инструмент выполнения кодаcode_execution_20260521
code_execution_20260120
code_execution_20250825
СерверНет
Инструмент-советникadvisor_20260301Серверadvisor-tool-2026-03-01
Инструмент поиска инструментовtool_search_tool_regex_20251119
tool_search_tool_bm25_20251119
СерверНет
Коннектор MCPmcp_toolsetСерверmcp-client-2025-11-20
Инструмент памятиmemory_20250818КлиентНет
Инструмент Bashbash_20250124КлиентНет
Инструмент текстового редактораtext_editor_20250728
text_editor_20250124
КлиентНет
Инструмент использования компьютераcomputer_toolset_20260801
computer_20251124
computer_20250124
КлиентНет
computer-use-2025-11-24
computer-use-2025-01-24
Инструмент использования браузераbrowser_toolset_20260801КлиентНет

Сведения о совместимости с моделями см. на странице каждого инструмента. Поддерживаемые модели различаются в зависимости от инструмента и его версии.

Версионирование инструментов

Большинство инструментов, предоставляемых Anthropic, содержат суффикс _YYYYMMDD в строке type. Новая версия выпускается, когда меняется поведение инструмента, его схема или поддержка моделей. Старые версии остаются доступными, чтобы существующие интеграции продолжали работать.

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

  • По возможностям: web_search_20260209 и web_fetch_20260209 добавляют динамическую фильтрацию контента по сравнению со своими предшественниками; web_fetch_20260309 добавляет опцию обхода кэша; web_search_20260318 и web_fetch_20260318 добавляют управление включением ответа. code_execution_20260120 добавляет программный вызов инструментов изнутри песочницы; code_execution_20260521 раскрывает ограничение времени на ячейку в описании инструмента. В каждом случае и новая, и старая версии являются актуальными; какую из них использовать, зависит от того, нужна ли вам новая возможность.
  • По модели: text_editor_20250728 предназначен для моделей Claude 4 и более поздних, а text_editor_20250124 — для более ранних моделей. Используемая версия зависит от целевой модели.
  • Вариант, а не версия: tool_search_tool_regex_20251119 и tool_search_tool_bm25_20251119 — это два алгоритма поиска, выпущенные одновременно. Ни один из них не заменяет другой.
  • Устаревшая: code_execution_20250522 поддерживает только Python. code_execution_20250825 добавляет Bash и файловые операции.
  • Преемник: computer_toolset_20260801 — стабильный преемник бета-версий computer_20251124 и computer_20250124, которые остаются доступными для существующих интеграций и для моделей, не поддерживающих набор инструментов (Более ранние версии инструмента). browser_toolset_20260801 — первая версия инструмента использования браузера. Оба являются клиентскими наборами инструментов.

Тип mcp_toolset не версионируется по дате; вместо этого версионирование передаётся в заголовке anthropic-beta.

Клиентские наборы инструментов

Инструмент использования компьютера и инструмент использования браузера — это определяемые Anthropic «client toolsets» (клиентские наборы инструментов): одна запись в tools объявляет фиксированный набор инструментов-членов, чьи имена, описания и входные схемы определяет Anthropic, а ваше приложение выполняет каждый вызов. Запись не принимает name, поскольку датированный type фиксирует имена членов. configs, cache_control и allowed_callers (который принимает только ["direct"]) необязательны.

Клиентские наборы инструментов — это инструменты Messages API. В настоящее время они недоступны в качестве агентских инструментов в Claude Managed Agents, который предоставляет собственный встроенный агентский набор инструментов, наборы инструментов MCP и пользовательские инструменты.

{
  "type": "browser_toolset_20260801",
  "configs": {
    "javascript_exec": { "enabled": true }
  },
  "cache_control": { "type": "ephemeral" }
}

configs настраивает отдельных членов:

  • Ключи — это имена членов, и каждое значение принимает только enabled и defer_loading.
  • Член, который вы опустили, сохраняет значения по умолчанию. Отсутствующее значение, {} и повторно указанное значение по умолчанию эквивалентны.
  • Неизвестное имя члена или любое другое поле в значении члена отклоняется, как и configs, отключающий всех членов (вместо этого опустите запись).
  • Отключённый член удаляется из инструментов, которые видит Claude. Если Claude всё же называет его, верните tool_result с ошибкой.

Задавайте defer_loading для каждого члена, никогда не на уровне записи, и присваивайте всем включённым членам одинаковое значение: при поиске инструментов набор инструментов загружается и разворачивается как одно определение. Когда все включённые члены отложены, обнаружить набор инструментов может только инструмент поиска инструментов, который сам не отложен, поэтому объявите его в том же запросе. Не помещайте cache_control на запись набора инструментов, члены которого отложены; вместо этого установите точку разрыва на неотложенном инструменте, поскольку отложенные определения не входят в кэшируемый префикс.

cache_control указывается только на уровне записи; чтобы узнать, где оказывается точка разрыва, включая маркеры внутри пакетного действия, см. Использование инструментов с кэшированием подсказок.

Обработка вызовов инструментов-членов. Claude вызывает член блоком tool_use, у которого name — имя члена, а toolset_namecomputer или browser; input содержит параметры этого члена и не содержит поля action. Выполняйте диспетчеризацию по паре toolset_name и name, поскольку пользовательский инструмент может иметь то же имя, что и член, а два набора инструментов имеют общие имена, такие как screenshot. Только результаты членов возвращают toolset_name. Несколько вызовов членов за один ход образуют пакетное действие, которое вы выполняете по порядку (использование компьютера, использование браузера). Новые члены появляются только с новым датированным type.

Не поддерживается для записей наборов инструментов. API отклоняет каждое из следующего с ошибкой invalid_request_error:

  • strict: true или input_examples.
  • defer_loading на уровне записи или включённые члены с различающимися значениями defer_loading (задавайте его для каждого члена в configs, всем одинаковое значение).
  • Вызывающая сторона выполнения кода в allowed_callers (без программного вызова инструментов).
  • Устаревший бета-заголовок fine-grained-tool-streaming-2025-05-14. При потоковой передаче input каждого члена поступает как один полный input_json_delta.
  • tool_choice типа tool, указывающий набор инструментов или член (используйте auto, any или none).
  • Две записи одного и того же набора инструментов или другой инструмент, носящий имя этого набора: инструмент с именем computer рядом с computer_toolset_20260801 или инструмент с именем browser рядом с browser_toolset_20260801. Два набора инструментов можно объявлять вместе.

Свойства определения инструмента

Каждый инструмент в массиве tools, включая пользовательские инструменты, принимает необязательные свойства, которые управляют тем, как инструмент загружается, кто может его вызывать и как проверяются его входные данные. Эти свойства сочетаются: вы можете задать defer_loading, cache_control и strict для одного и того же инструмента.

СвойствоНазначениеДоступно дляПодробное руководство
cache_controlУстановить точку разрыва кэша подсказок на этом определении инструментаВсе инструменты (для computer_toolset_20260801 и browser_toolset_20260801 задавайте его на самой записи набора инструментов, а не внутри configs членов)Кэширование подсказок
strictГарантировать проверку схемы для имён инструментов и входных данныхВсе инструменты, кроме mcp_toolset, computer_toolset_20260801 и browser_toolset_20260801Строгое использование инструментов
defer_loadingИсключить инструмент из начальной системной подсказки; загружать его по требованию, когда поиск инструментов возвращает для него tool_referenceВсе инструменты (для mcp_toolset см. конфигурацию инструментов). Для наборов инструментов использования компьютера и браузера задавайте его для каждого члена внутри configs; см. Клиентские наборы инструментов.Инструмент поиска инструментов
allowed_callersОграничить, какие вызывающие стороны могут вызывать инструментВсе инструменты, кроме mcp_toolset (для computer_toolset_20260801 и browser_toolset_20260801 принимается только ["direct"]; см. Клиентские наборы инструментов)Программный вызов инструментов
input_examplesПредоставить примеры входных объектов, чтобы помочь Claude понять, как вызывать инструментПользовательские инструменты и клиентские инструменты со схемой Anthropic, кроме computer_toolset_20260801 и browser_toolset_20260801. Недоступно для серверных инструментов.Определение инструментов
eager_input_streamingВключить детализированную потоковую передачу входных данных (true) или сохранить стандартную буферизованную потоковую передачу (false) для этого инструментаТолько пользовательские инструментыДетализированная потоковая передача инструментов

Значения allowed_callers

allowed_callers — это массив, принимающий любую комбинацию следующих значений:

ЗначениеСмысл
"direct"Модель может вызывать этот инструмент напрямую в блоке tool_use. Это значение по умолчанию, если allowed_callers опущен.
"code_execution_20260120"Код, выполняющийся внутри песочницы code_execution_20260120 или более поздней, может вызывать этот инструмент.

И "code_execution_20260120", и "code_execution_20260521" принимаются в allowed_callers и взаимозаменяемы: запрос, использующий любую из версий инструмента выполнения кода, удовлетворяет инструментам, в которых указана любая из этих вызывающих сторон. Блоки ответа всегда помечают вызывающую сторону как code_execution_20260120 независимо от того, какую версию объявил запрос.

Исключение "direct" из массива (например, "allowed_callers": ["code_execution_20260120"]) направляет Claude вызывать инструмент только изнутри выполнения кода. Блок tool_use в ответе включает поле caller, которое указывает, какая вызывающая сторона вызвала инструмент. Полное описание, включая форму caller в ответе и поведение при ошибках, см. в разделе Программный вызов инструментов.

defer_loading и кэширование подсказок

Инструменты с defer_loading: true удаляются из отрисованного раздела инструментов до вычисления ключа кэша. Они вообще не появляются в префиксе системной подсказки. Когда поиск инструментов обнаруживает отложенный инструмент и возвращает для него tool_reference, полное определение инструмента разворачивается непосредственно в этой точке тела разговора, а не в префиксе.

Это означает, что defer_loading: true сохраняет ваш кэш подсказок. Вы можете добавлять отложенные инструменты в запрос, не аннулируя существующую запись кэша, и кэш остаётся действительным на протяжении хода, в котором инструмент обнаружен, и хода, в котором он вызван.

Чтобы узнать, как сочетать defer_loading с точками разрыва cache_control, см. рекомендации по кэшированию подсказок для инструмента поиска инструментов.

Was this page helpful?