sonnet55.ru

Переезд с Sonnet 5 на Sonnet 5.5: что сломается

≈ 7 мин чтения#миграция#api

Sonnet 5 вышла 30 июня 2026 года, Sonnet 5.5 — через три месяца. Ставка за токен не изменилась, а по агентным тестам разница кратная. Но заменить одну строку с названием модели может не получиться: часть настроек, которые работали на Sonnet 5, теперь возвращает ошибку.

Что изменилось в цифрах

Sonnet 5Sonnet 5.5
Дата выхода30 июня 202628 сентября 2026
Надёжные знания доянваря 2026июня 2026
Вход / выход, $ за 1M2 / 102 / 10
Чтение кэша, $ за 1M0,200,10
Минимальный кэшируемый промпт1024 токена512 токенов
Системный промпт для tools354 токена286 токенов
Terminal-Bench 4.010,3 %70,6 %
CursorBench 4.034,1 %55,5 %
FrontierCode 1.142,4 %46,2 % (Max), 52,1 % (Xhigh)
GDPval-AA v2.1, Эло14491844
OSWorld 2.157,0 %80,1 %
Chartography без инструментов15,6 %61,6 %

Источники: анонс Sonnet 5.5, прайс и страница «What’s new».

У цены Sonnet 5 своя история: при запуске ставку 2 и 10 долларов объявили вводной, до 31 августа 2026 года, с повышением до 3 и 15 с 1 сентября. Повышение отменили, 2 и 10 стали постоянной ценой, и Sonnet 5.5 её унаследовала. Токенизатор тоже общий, так что счётчики токенов в вашем коде менять не придётся.

Что теперь возвращает ошибку 400

Anthropic перечисляет пять ломающих изменений для кода, который уже работает на Sonnet 5. Ниже — каждое и чем его заменить.

1. thinking: disabled

Выключить размышление полностью нельзя. Минимальная настройка — between_tools: модель не думает перед ответом, но коротко пишет о ходе работы между вызовами инструментов. Режим принимается только на уровнях low, medium и high.

jsoncбыло → стало
// было на Sonnet 5
"thinking": {"type": "disabled"}

// стало на Sonnet 5.5; с xhigh и max — ошибка 400
"thinking": {"type": "between_tools"},
"output_config": {"effort": "medium"}

2. Принудительный tool_choice

Значения any и tool не поддерживаются, в том числе в подсчёте токенов. Ставьте auto, помечайте инструмент strict: true (у каждого объекта в схеме — additionalProperties: false) и пишите в промпте, когда инструмент нужен. Второй путь — перенести схему в structured outputs.

textответ API
tool_choice: type "tool" and "any" are not supported for this model.

3. Блоки размышления привязаны к диалогу

Каждый блок подписан с учётом всего, что было до него: системного промпта, инструментов, прошлых сообщений. Для аккаунтов, созданных начиная с 31 августа 2026 года, запрос, который повторно отправляет такой блок после правки ранней истории, получает 400. Решение — держать диалог только дописываемым, а инструкции и инструменты менять системными сообщениями посреди диалога.

4. Старый computer use

В Claude API и Google Cloud (вариант под управлением Google) инструмент computer_20251124 больше не принимается — нужен набор computer_toolset_20260801, а бета-заголовок fine-grained-tool-streaming-2025-05-14 рядом с ним даёт ошибку. В Amazon Bedrock старый инструмент продолжает работать.

5. Советник в инструменте advisor

Исполнитель Sonnet 5.5 не принимает в советники Sonnet 5, Haiku 5.5, Opus 4.8 и Opus 4.7. Подходят Opus 5 и 5.5, Fable 5 и 5.1, Mythos или сама Sonnet 5.5; совет при этом приходит зашифрованным блоком advisor_redacted_result.

Что меняется без ошибок, но ломает логику

pythonчитать ответ по типам блоков
# блоки thinking пропускаем, печатаем текст
for block in resp.content:
    if block.type == "text":
        print(block.text)

Чек-лист переезда

  1. Поменять ID с claude-sonnet-5 на claude-sonnet-5-5.
  2. Найти в коде настройки, которые дадут 400:
bashпоиск по репозиторию
grep -rnE '"disabled"|"type": *"(any|tool)"|computer_20251124|budget_tokens' src/
  1. Переписать чтение ответа на перебор блоков по типу.
  2. Проверить, что история диалога только дописывается, а не редактируется.
  3. Обработать stop_reason: "refusal" и решить, нужен ли откат на Sonnet 5.
  4. Прогнать свои задачи на двух-трёх уровнях effort и сравнить счёт.

Если проект открыт в Claude Code, переезд можно поручить самому агенту: в руководстве Anthropic для этого приведена команда /claude-api migrate this project to claude-sonnet-5-5. Полный список изменений — в руководстве по миграции.

Вопросы и ответы

Чем Sonnet 5.5 отличается от Sonnet 5?

Ставки за вход и выход те же ($2 и $10), чтение кэша вдвое дешевле, знания свежее — до июня 2026 года против января. Главное — агентная работа: Terminal-Bench 4.0 вырос с 10,3 до 70,6 %, OSWorld 2.1 — с 57,0 до 80,1 %.

Стоит ли переходить с Sonnet 5?

Для агентных сценариев — почти наверняка: цена за токен та же, а разница в тестах кратная. Перед сменой ID проверьте код на thinking: disabled и принудительный tool_choice — с ними запросы к Sonnet 5.5 не пройдут.

Sonnet 5 ещё работает?

Да, в API она доступна со статусом устаревшей (legacy). Anthropic обещает не отключать её раньше 30 июня 2027 года, но советует переходить на Sonnet 5.5.

Почему запрос к Sonnet 5.5 возвращает ошибку 400?

Чаще всего из-за одной из пяти настроек: thinking: disabled, tool_choice с типом any или tool, правки ранней истории диалога с повторной отправкой блока размышления, старого инструмента computer_20251124 или советника advisor, которого Sonnet 5.5 не принимает.

Подойдут ли старые промпты?

По документации Anthropic, промпты от Sonnet 5 в целом работают без изменений. Перепроверить стоит две вещи: просьбы «не думай» — с between_tools они повышают шанс увидеть в ответе служебные XML-теги, и просьбы выписать рассуждение в ответ — они вызывают отказ категории reasoning_extraction.

Ещё записи