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

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

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

Anthropic выпустил Claude Opus 5.5 22 сентября 2026 года. Ключевые цифры — производительность на уровне Fable 5.1, совокупная стоимость на 40% ниже, чем у Opus 5 — реальны. Но для операторов суть сосредоточена в руководстве по миграции: четыре ломающих изменения параметров, каждое из которых молча ломает существующую интеграцию в момент смены идентификатора модели.

В этой статье разбирается каждое изменение: какая ошибка возникает, как её исправить и — там, где это актуально — что это означает для резервной маршрутизации и кросс-провайдерного поведения.

Математика затрат: 40% — это показатель рабочей нагрузки, а не цена токена

Сначала уточним ценовые данные — это число легко понять неправильно.

Цены токенов снизились на 20% по сравнению с Opus 5:

Тип токенаOpus 5Opus 5.5Изменение
Входные$5/M$4/M−20%
Выходные$25/M$20/M−20%
Запись в кэш$6.25/M$5/M−20%
Чтение из кэша$0.50/M$0.20/M−60%

Снижение стоимости на 40%, которое приводит Anthropic, относится к типичным рабочим нагрузкам, а не к ценам токенов в отдельности. Такой результат достигается потому, что агентные и кодинговые рабочие нагрузки интенсивно используют чтение из кэша — большинство токенов в длинной сессии кодирования приходится на prompt-cache reads, а их цена упала на 60%. Если в вашей нагрузке высокая доля чтений из кэша, 40% достижимы. При коротком контексте и малом кэшировании реальное снижение будет ближе к 20%.

Влияние на политику маршрутизации: если у вас есть правило резервного перехода на основе стоимости (маршрутизировать на Opus 5 при превышении порогового расхода в час), этот порог нужно пересчитать для Opus 5.5. Фактическая стоимость задачи на агентных нагрузках изменилась значительно сильнее, чем следует из цен за токен.

Ломающее изменение 1: thinking нельзя отключить

На Opus 5.5 поле thinking удалено. Отправка thinking: {type: "disabled"} или thinking: {type: "enabled", budget_tokens: N} возвращает 400:

"thinking.type.disabled" is not supported for this model.
"thinking.type.enabled" is not supported for this model.

Thinking всегда включён и всегда адаптивен. Единственный рычаг управления — параметр effort, а не thinking.

До (Opus 5):

client.messages.create(
    model="claude-opus-5",
    max_tokens=16000,
    thinking={"type": "disabled"},
    messages=[{"role": "user", "content": "..."}],
)

После (Opus 5.5):

client.messages.create(
    model="claude-opus-5-5",
    max_tokens=16000,
    output_config={"effort": "low"},   # low effort заменяет отключение thinking
    messages=[{"role": "user", "content": "..."}],
)

Уровни effort: low, medium (по умолчанию), high и max. Там, где раньше вы отключали thinking для экономии токенов на простых запросах, используйте low. В ответах будут появляться блоки thinking; при добавлении в многоходовые разговоры необходимо выбирать блоки содержимого по type и возвращать thinking-блоки без изменений.

Влияние на маршрутизацию: если в шлюзе есть правило, которое инжектирует thinking: {type: "disabled"} для контроля стоимости, это правило будет возвращать 400 на Opus 5.5. Эквивалентная замена — output_config: {effort: "low"}. Это разные параметры — взаимозаменяемы они не являются.

Ломающее изменение 2: принудительный tool_choice возвращает 400

Типы any и tool в параметре tool_choice не поддерживаются:

tool_choice: type "tool" and "any" are not supported for this model.

Это срабатывает как на эндпоинте вывода, так и на эндпоинте подсчёта токенов. Если вы принудительно запускаете конкретный инструмент по имени или используете any для гарантии хотя бы одного вызова инструмента — оба паттерна сломаны.

До (Opus 5):

client.messages.create(
    model="claude-opus-5",
    tools=tools,
    tool_choice={"type": "tool", "name": "get_weather"},
    messages=[{"role": "user", "content": "What's the weather in Paris?"}],
)

После (Opus 5.5):

client.messages.create(
    model="claude-opus-5-5",
    tools=[{**tool, "strict": True} for tool in tools],
    tool_choice={"type": "auto"},
    messages=[{
        "role": "user",
        "content": "What's the weather in Paris? Use the get_weather tool.",
    }],
)

Флаг strict: True в определении инструмента активирует строгое использование инструментов: модель гарантирует соответствие input схеме input_schema инструмента. В сочетании с явной инструкцией в промпте это заменяет большинство сценариев использования type: "tool". Для случаев, где any применялся для гарантии структурированного ответа, альтернативой служат структурированные выходные данные.

Влияние на маршрутизацию: любое промежуточное ПО шлюза, которое нормализует tool_choice для всех вызовов Claude к значению any или tool, потребует ветки с учётом модели для Opus 5.5.

Ломающее изменение 3: thinking-блоки не передаются свободно между моделями

Это самое неочевидное изменение для команд, использующих многомодельный резервный переход.

На Claude API thinking-блоки, созданные Opus 5.5, могут читать только Claude Fable 5.1 и Claude Mythos 5.1. Ни одна другая модель их не читает. Конкретно: если резервный переход или отказоустойчивость перенаправляют разговор в середине сессии с Opus 5.5 на Opus 5, Sonnet 5, Haiku 4.5 или любую не-Fable/Mythos модель, эти ходы продолжатся без контекста thinking — ошибки нет, блоки молча отбрасываются.

Обратное тоже подчиняется конкретным правилам: Opus 5.5 читает thinking-блоки от Opus 5 и более ранних моделей Opus, Sonnet и Haiku, но не от моделей Fable или Mythos.

Матрица совместимости:

Производитель → ПотребительБлоки Opus 5.5Блоки Opus 5
Claude Opus 5.5✓ (читает)
Claude Fable 5.1✓ (читает)
Claude Mythos 5.1✓ (читает)
Claude Opus 5
Claude Sonnet 5н/д
Claude Haiku 4.5н/д

Также действует правило только-добавления разговоров: для аккаунтов, созданных 31 августа 2026 года, 00:00 UTC или позже, воспроизведение thinking-блока после редактирования system, tools или более ранних сообщений по умолчанию возвращает 400. Claude Code, claude.ai, Claude Managed Agents и Claude Agent SDK уже применяют это правило; пользователям, напрямую вызывающим API, нужно провести собственный аудит.

Влияние на маршрутизацию: если ваша цепочка резервирования — claude-opus-5-5 → claude-opus-5 → claude-sonnet-5, аварийный переход в середине разговора начиная со второго звена теряет контекст thinking. Допустимо ли это, зависит от сценария использования. Для кодинговых агентов и сессий анализа документов потеря контекста thinking, как правило, снижает качество следующего хода; для простого вопросно-ответного резерва это может быть приемлемо.

Если требуется непрерывность thinking-блоков при переключении, цепочка резервирования должна быть claude-opus-5-5 → claude-fable-5-1 или claude-opus-5-5 → claude-mythos-5-1. Обе могут читать блоки Opus 5.5. Ценовой профиль существенно меняется — Fable 5.1 стоит $10/$50 вход/выход против $4/$20 у Opus 5.5 — это сознательный выбор между качеством и стоимостью, который лучше сделать явно, а не унаследовать из универсального правила резервирования.

Ломающее изменение 4: тип инструмента computer_20251124 удалён

На Claude API и Google Cloud запись инструмента с типом computer_20251124 возвращает 400. Замена — набор инструментов computer_toolset_20260801.

До:

tools = [{
    "type": "computer_20251124",
    "name": "computer",
    "display_width_px": 1280,
    "display_height_px": 800,
    "display_number": 1,
}]
# Плюс beta-заголовок: "computer-use-2024-10-22"

После:

tools = [{"type": "computer_toolset_20260801"}]
# Заголовок beta не нужен. В записи инструмента нет name или размеров дисплея.

В форме набора инструментов размеры дисплея не задаются в самой записи инструмента — они конфигурируются через системный промпт или настройки окружения. Amazon Bedrock сохраняет поддержку computer_20251124 на существующих моделях; удаление применяется только к Claude API и Google Cloud.

Идентификатор модели на каждой платформе

claude-opus-5-5 — фиксированный идентификатор снимка без суффикса даты. Та же схема без даты применяется на всех платформах:

ПлатформаИдентификатор модели
Claude APIclaude-opus-5-5
Amazon Bedrockanthropic.claude-opus-5-5
Google Cloudclaude-opus-5-5
Microsoft Foundryclaude-opus-5-5
Claude Platform on AWSclaude-opus-5-5

Навык /claude-api migrate в Claude Code (/claude-api migrate this project to claude-opus-5-5) автоматически обрабатывает замену идентификатора и все четыре ломающих изменения, а также определяет клиенты Bedrock и Vertex и корректирует формат идентификатора соответственно.

Что проверить перед сменой идентификатора модели

  1. Найти использование поля thinking. Любой вызов с {type: "disabled"} или {type: "enabled", budget_tokens: N} сломается. Заменить на output_config: {effort: "..."}.
  2. Найти tool_choice.type со значениями any или tool. Заменить на auto + строгие определения инструментов + инструкция в промпте.
  3. Провести аудит цепочки резервирования. При резервном переходе на не-Fable/Mythos модель в середине разговора контекст thinking будет потерян. Принять осознанное решение и задокументировать его.
  4. Проверить тип инструмента computer use. Если на Claude API или Google Cloud используется computer_20251124, перейти на computer_toolset_20260801.
  5. Пересчитать пороговые значения для маршрутизации на основе стоимости. Снижение цены чтения из кэша на 60% существенно меняет фактическую стоимость задачи на агентных нагрузках.
  6. Проверить промежуточное ПО шлюза на инжекцию thinking или нормализацию tool_choice. Правила, которые инжектируют эти параметры для всех вызовов Claude, потребуют ветки с учётом модели для Opus 5.5.
Claude API компакция по требованию и режим auto для разрешений: диаграмма пайплайна с фоновой суммаризацией и серверной оценкой доверия

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

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

источник Anthropic
Абстрактная диаграмма маршрутизации API-запросов с узлами блокировки 400 и версионными шлюзами в технической визуализации конвейера

Fable 5.1 нарушает два оператора допущения: принудительные вызовы `tool_choice` и повторное использование Thinking Block

Fable 5.1 ломает два паттерна: `tool_choice: any` и `tool_choice: tool` возвращают 400, а Thinking Block версионно привязаны с проверкой префикса для новых аккаунтов. Оба требуют немедленной миграции.

источник Anthropic
Техническая схема изменений параметров API Claude Sonnet 5 с путями 400-ошибок и аннотациями разницы токенизатора

Три критических изменения API в Claude Sonnet 5: что обязан проверить каждый оператор перед миграцией

Claude Sonnet 5 несёт три скрытые угрозы для production: adaptive thinking включён по умолчанию, temperature/top_p/top_k с нестандартными значениями возвращают 400, новый tokenizer раздувает количество токенов примерно на 30%. Чеклист для операторов.

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