Claude API снижает затраты на поиск в агентных пайплайнах: параметр response_inclusion, который должен знать каждый оператор

Обновление платформы Anthropic от 11 июня добавляет response_inclusion к web_search_20260318 и web_fetch_20260318, позволяя операторам исключать уже обработанные блоки результатов поиска из API-ответа и снижать расходы на output-токены в многошаговых агентных воркфлоу.

TheRouter Newsroomисточник Anthropic
Абстрактная схема потока токенов в API-ответе с фильтрующим шлюзом, который выборочно отбрасывает уже обработанные блоки результатов поиска — иллюстрация параметра response_inclusion для контроля затрат

Если ваш агентный пайплайн вызывает инструмент web search Claude в многошаговых циклах, вы наверняка замечали: API-ответ возвращает полные блоки результатов поиска даже после того, как модель их обработала. Этот лишний объём напрямую отражается на счёте. Обновление платформы Anthropic от 11 июня закрывает этот пробел через новый параметр — достаточно изменить одно поле в запросе.

Что изменилось

Версии инструментов web_search_20260318 и web_fetch_20260318, вышедшие 11 июня 2026 года в рамках обновления платформы Anthropic, вводят параметр response_inclusion. При значении "excluded" API не включает в ответ пары server_tool_use и блоки результатов, если результат был полностью обработан вызовом code execution в том же туре. По умолчанию остаётся "full" — существующие интеграции не затронуты, пока вы сами не включите новый режим.

{
  "tools": [
    {
      "type": "web_search_20260318",
      "name": "web_search",
      "response_inclusion": "excluded"
    }
  ]
}

В том же обновлении выходит code_execution_20260521: в описание инструмента добавлен явный лимит 90 секунд на исполнение одной ячейки кода. Теперь Claude может читать этот лимит и планировать длительные задачи так, чтобы не натолкнуться на него молча.

Почему это важно для AI-инженерных команд

Web search — один из самых токено-ёмких агентных операций. Стандартный сценарий: Claude решает выполнить поиск, API исполняет запрос и возвращает результаты, Claude рассуждает над содержимым, финальный ответ содержит ссылки. В наивной реализации все промежуточные блоки результатов оказываются в API-ответе, даже если модель уже обработала их внутри вызова code execution с динамической фильтрацией.

Для одиночных интерактивных запросов такие накладные расходы терпимы. Для многошаговых исследовательских агентов, grounding-циклов или пайплайнов цитирования с 10–20 поисками за тур накопленный объём результатов — ощутимая статья затрат. С response_inclusion: "excluded" эти уже обработанные блоки отбрасываются до того, как ответ достигает вашего gateway, сокращая количество output-токенов без изменений в том, что видит модель.

Явное указание лимита code execution усиливает оптимизацию. Когда Claude знает о 90-секундном ограничении на ячейку, она разбивает работу на меньшие блоки и не вызывает повторные запросы из-за молчаливых таймаутов. Меньше повторов — меньше тарифицируемых запросов.

Угол зрения router/operator

Для команд, маршрутизирующих вызовы Claude API через AI gateway или любой промежуточный слой, изменение response_inclusion создаёт чёткую точку оптимизации затрат — без изменений на уровне модели или переписывания prompt:

Версионирование tool-вызовов: переходите с web_search_20250305 или web_search_20260209 на web_search_20260318 только для агентных путей, где Claude использует code execution для фильтрации результатов. Для интерактивных ассистентов, которым нужны сырые блоки поиска в ответе, оставьте старую версию.

Планирование размера ответа: при "excluded" снижение числа output-токенов пропорционально количеству поисков за тур, обработанных через code execution. Экономия не одинакова для всех форм запросов — параметр действует только на завершённые вызовы code execution в том же туре. Снимите baseline по usage.output_tokens до и после переключения, чтобы оценить реальный эффект для каждого типа воркфлоу.

Совместимость с ZDR и routing: документация уточняет, что web search недоступен на Amazon Bedrock, а динамическая фильтрация (используется вместе с response_inclusion) недоступна на Vertex AI. Если вы распределяете трафик Claude между Bedrock, Vertex и прямым Anthropic API, выбор версии инструмента должен учитывать провайдера. Запросы, направляемые в Bedrock или Vertex как fallback, не должны использовать web_search_20260318 с включённой динамической фильтрацией.

Поддержка моделей: web_search_20260318 с динамической фильтрацией работает на Claude Fable 5, Opus 4.8, Mythos 5, Mythos Preview, Opus 4.7, Opus 4.6 и Sonnet 4.6. Если ваша fallback-цепочка включает более старые модели, проверьте, принимают ли они новую версию инструмента или требуют возврата к web_search_20250305.

Что стоит проверить пользователям TheRouter

Если вы используете встроенный web search Claude через gateway-слой, сейчас важны два конфигурационных решения:

  1. Установите response_inclusion: "excluded" для агентных пайплайнов с динамической фильтрацией. Снижение затрат мгновенное, без изменений в модели или prompt. Единственная оговорка: код обработки ответа не должен опираться на возвращаемые блоки результатов поиска для дальнейшей логики — если опирается, оставьте дефолтный "full".

  2. Обновите до code_execution_20260521 для агентов с интенсивным использованием кода. Лимит 90 секунд на ячейку в описании инструмента даёт Claude контекст для грамотного планирования границ ячеек — особенно важно для пайплайнов анализа документов, извлечения данных и верификации с длительным выполнением Python-кода.

Оба обновления — опциональные, обратно совместимые и не требуют изменений в политике маршрутизации. Достаточно исправить поле в определении инструмента в запросе.

Контрольный список перед переключением

Перед сменой версий инструментов в production:

  • Убедитесь, что ваш провайдерный путь поддерживает динамическую фильтрацию (прямой Anthropic API, Claude Platform on AWS, Microsoft Foundry — но не Bedrock и не Vertex AI)
  • Проверьте, что ваша fallback-цепочка моделей включает только те модели, которые поддерживают web_search_20260318
  • Убедитесь, что код обработки ответа не разбирает возвращаемые блоки результатов поиска для дальнейшей логики
  • Снимите показатель usage.output_tokens на выборке запросов до переключения, чтобы получить baseline для сравнения затрат
  • Применяйте response_inclusion: "excluded" только для путей запросов с включённой динамической фильтрацией code execution — без code execution оба значения параметра дают одинаковый результат
Claude API компакция по требованию и режим auto для разрешений: диаграмма пайплайна с фоновой суммаризацией и серверной оценкой доверия

Claude API: компакция по требованию и режим `auto` для разрешений меняют архитектуру агентных циклов

Два новых бета-обновления Claude API: `compact-2026-09-04` выносит суммаризацию в фоновый вызов, а режим `auto` передаёт оценку доверия к инструментам на сторону сервера. Оба меняют проектирование агентных циклов.

источник Anthropic
Схема песочницы с таймером 90 секунд и ветвлением маршрутизации: detection_timeout или успешный вывод

Инструмент выполнения кода Claude получает 90-секундный бюджет ячейки: что операторам нужно изменить в агентных конвейерах

code_execution_20260521 раскрывает 90-секундный лимит ячейки в описании инструмента: Claude планирует ячейки заранее, при превышении — detection_timeout. Операторам нужно обновить версию инструмента, логику повторов и стратегию разбивки ячеек.

источник Anthropic
Абстрактная архитектурная диаграмма, показывающая трансформацию формы API-запросов при прохождении через шлюз, иллюстрирующая четыре ломающих изменения Claude Opus 5.5

Claude Opus 5.5: четыре ломающих изменения API и их влияние на маршрутизацию

Claude Opus 5.5: четыре ломающих изменения — thinking нельзя отключить, tool_choice типы any/tool возвращают 400, thinking-блоки не читаются не-Fable/Mythos моделями, computer_20251124 удалён. Конкретные исправления и влияние на резервную маршрутизацию.

источник Anthropic
Поддержка