Сразу вывод: Sonnet 5.5 держит каждую строку прайса и меняет контракт запроса. 28 сентября 2026 Anthropic выпустил Claude Sonnet 5.5 (claude-sonnet-5-5). Вход / выход остаются $2 / $10; чтение кэша — $0.20. Anthropic пишет, что вывод быстрее на 30%+ и большинство задач дешевле примерно на 30% — экономия в токенах на задачу, не в ценнике. Продакшен ломают старые переключатели, скопированные с Sonnet 5: thinking: {"type": "disabled"} даёт 400; значения tool_choice any и tool дают 400; недефолтные temperature, top_p или top_k — тоже 400. Более тихая ловушка — извлечение JSON: в запросе без инструментов between_tools значит, что модель сначала не думает, и Structured Output всё равно едет криво. Страница prompting у Anthropic кладёт этот случай в «Reasoning tasks with JSON output».
Текст актуален на 29 сентября 2026, по странице модели, «What's new» и гайду миграции, которые в тот день ещё действовали. На сайте уже есть почему Opus 5.5 больше не даст выжать JSON через tool_choice (24 сентября). Этот текст не переписывает те четыре отказа. Он отвечает только: какой слой JSON-пайплайна менять при переходе Sonnet 5 → 5.5. Haiku 5.5 всё ещё «в ближайшие недели». Эту дату статья не занимает.
Что вышло 28 сентября
Claude Sonnet 5.5 — вторая модель семейства Claude 5.5. Официальное позиционирование: середина между скоростью и интеллектом; повседневный код, багфиксы, документы и таблицы. ID — claude-sonnet-5-5 на Claude API, Google Cloud, Microsoft Foundry и Claude Platform on AWS; Bedrock берёт anthropic.claude-sonnet-5-5. Вывод из эксплуатации не раньше 28 сентября 2027. Токенизатор тот же, что у Sonnet 5, так что тот же текст даёт те же счётчики токенов.
Цены за миллион токенов: вход $2, выход $10, запись 5-минутного кэша $2.50, часового $4, чтение кэша $0.20. Batch — половина цены. Контекст 1M; синхронный максимум вывода — 128K. Message Batches с output-300k-2026-03-24 доходят до 300K. Минимальный кэшируемый промпт падает с 1 024 токенов у Sonnet 5 до 512. Дефолтный effort — high; у Opus 5.5 дефолт medium. Не указали effort — запрос идёт на high. Это не тихая совместимость с Sonnet 5.
Анонс ставит Sonnet 5.5 как более быстрый и дешёвый комплемент к Opus 5.5. Эта статья не выбирает модель по лидерборду. Важно другое: прайс остался на месте, а контракт thinking, tool_choice и извлечения JSON сдвинулся.
Пять жёстких отказов, одна таблица
Документация перечисляет запросы, которые на 5.5 становятся 400. Первые три делят корень с Opus 5.5 и Fable 5.1. Замена в первой строке другая:
| Старый запрос (Sonnet 5) | На 5.5 | Чем заменить |
|---|---|---|
thinking: {"type": "disabled"} или enabled плюс budget_tokens | 400 invalid_request_error, указывает на between_tools | Выключить предварительное thinking — {"type": "between_tools"}; для рассуждения опустите thinking или пошлите adaptive |
tool_choice: {"type": "any"} или {"type": "tool", "name": "..."} | 400; эндпоинт подсчёта токенов проверяет так же | auto (или none) плюс strict: true, или Structured Output |
| Replay блока thinking после правки system / tools / более раннего сообщения | 400 по умолчанию на аккаунтах после 31 августа 2026 | Диалог только append; инструкции менять mid-conversation system-сообщением |
computer_20251124 на Claude API или Google Cloud | 400 | computer_toolset_20260801; Bedrock старый инструмент ещё принимает |
| advisor, заданный как Opus 4.8 / 4.7 или Sonnet 5 | 400 | Берите advisor, который 5.5 принимает (включая Opus 5.5, Fable / Mythos 5.1 или сам 5.5) |
Ещё одно изменение запрос не валит, но замолкает: более длинные заметки между вызовами инструментов приходят блоками thinking. При дефолтном display: "omitted" текст пустой. UI, который стримил эти фразы как прогресс-бар, внезапно тихнет. Нужен прогресс при adaptive thinking — ставьте thinking.display (updates требует beta-заголовок). between_tools возвращает текст саммари, и этот тип отвергает поле display.
Сэмплинг больше не крутилка. Недефолтные temperature, top_p или top_k — 400. Запросы, которые снижали temperature, чтобы «стабилизировать JSON», теперь должны стабилизировать Schema.
disabled снят; between_tools — нижняя ступень
На Sonnet 5 thinking выключали через disabled. На 5.5 эта строка — 400, и сообщение указывает на between_tools. Нижняя ступень выглядит так:
{
"model": "claude-sonnet-5-5",
"thinking": { "type": "between_tools" },
"output_config": { "effort": "high" }
}
between_tools не требует beta-заголовка и принимается на каждой платформе, где есть модель. Он выключает только предварительное thinking. Более длинные заметки прогресса между вызовами инструментов по-прежнему приходят блоками thinking. Отдавайте их как есть; модель получает полную заметку, не саммари. Без инструментов ответ обычно только text — старая форма disabled.
Лимиты жёсткие. Принимается на low / medium / high. Пара с xhigh или max — 400. Добавите display, budget_tokens или block_binding — тоже 400. Mid-conversation смена output_config.effort — 400: effort по ходам требует adaptive thinking. Когда серверный fallback падает на Sonnet 5, between_tools там переводится в disabled.
Так что 5.5 не заставляет thinking всегда идти на полную глубину. Он снимает старый переключатель disabled. Переключатель снят — тем, кто хочет выключить thinking, нужен новый тип. Тем, кто хочет стабильный JSON, часто как раз не стоит его выключать — см. следующий раздел.
Извлечение JSON без инструментов: thinking не выключайте
Страница prompting у Anthropic выделяет это отдельно: дайте Sonnet 5.5 JSON-задачу на несколько шагов (суммы, правило, ранжирование) — на low / medium модель часто отвечает, не подумав сначала. При Structured Output видимый текст может быть только JSON, так что работа возможна только в thinking. Пропустите thinking — точность падает.
Документированный порядок:
- Где можно — Structured Output. Тело тогда — объект по Schema. Не
JSON.parseпрозу чата. См. что такое Structured Output. - Берите adaptive thinking, не
between_tools. В запросе без инструментовbetween_toolsзначит: сначала не думать. Строка «подумай, прежде чем отвечать» в промпте там не работает. Разнести «ответ, потом JSON» на два запроса в их тестах давало высокий комплаенс, но слишком дорого по задержке и токенам, чтобы быть дефолтом. - В конец system-промпта добавьте
Think the problem through before you answer.Наhighточность подходит кxhighпри скромной прибавке выходных токенов. Наlow/mediumтоже растёт, но токенов больше. - В
max_tokensоставьте место под thinking. При Structured Output наlow/mediumмодель иногда думает до потолка. Ответ, у которогоstop_reason—max_tokens, считайте провалом даже при валидном JSON, и повторяйте.
Без Structured Output модель часто считает в прозе и кладёт JSON в конец. Парсить весь ответ — провал. Документированный fallback: читайте только блоки text, пробуйте parse от каждого { или [ и оставляйте последнее полное значение. Не берите отрезок от первого { до последнего } — посередине может сидеть черновик. См. почему JSON.parse падает. Это fallback, не контракт.
Принудительные инструменты — 400, как у Opus 5.5
Семейство 5.5 делит одну и ту же ошибку:
tool_choice: type "tool" and "any" are not supported for this model.
Замена всё та же: оставьте tool_choice на auto, на инструменте включите strict: true и зафиксируйте параметры JSON Schema. Финальный ответ кладите в Structured Output. Хотите, чтобы модель звала инструмент, а не отвечала прозой — напишите в промпте, когда инструмент уместен. Промпт влияет, какой инструмент выберет auto. Он не заменяет Schema. Подробности — в почему Opus 5.5 больше не даст выжать JSON через tool_choice и почему Tool Calling зависит от JSON Schema.
У 5.5 есть ещё одна поблажка: иногда вызывает инструмент с неверным регистром или параметр чуть под другим именем. Не считайте это фатальным. Если совпадение однозначное — принимайте; иначе верните is_error: true с точным именем. Schema держите строгой. Сопоставление имён можно на ступень мягче.
Прайс не сдвинулся; дефолтный effort — high
Прайс совпадает с Sonnet 5. Официальные «примерно на 30% дешевле» — меньше токенов на задачу, не меню. Независимые обзоры уже показывают обратную сторону: если задача сама не ограничивает вывод, новая модель может выйти дороже. Прогоните ту же Schema через извлечение, прежде чем менять маршрутизацию.
Ступени effort перекалиброваны. Тот же high — не тот же объём thinking, что на Sonnet 5. Документация стартует с high для повседневной работы; medium — для хорошо специфицированного агентного кода и циклов инструментов; medium или low — для чата и latency-sensitive нагрузок. Смена верхнего effort сбивает prompt cache. Смены по ходам требуют per-message effort (beta) под adaptive thinking. between_tools не даст сдвинуть effort mid-conversation.
Не мешайте дефолты с Opus 5.5: у той модели дефолт medium; у Sonnet 5.5 — high. Смените только строку модели — и счёт, и задержка скакнут. Блоки thinking тоже не ездят свободно. 5.5 читает блоки Sonnet 5, Opus 4.8, Haiku 4.5 и более ранних. Opus 5, Opus 5.5, Fable и Mythos — нет. Другие модели блоки Sonnet 5.5 не читают. Перенесите диалог с Opus 5.5 на Sonnet 5.5 — API отбросит рассуждение. Запрос всё равно 200; отброшенные блоки не тарифицируются.
Temperature, кэш, computer use, advisor
Недефолтные temperature / top_p / top_k — 400. Пайплайны, которые «зажимали JSON» сэмплингом, теперь должны зажимать Schema. Порог кэша — 512 токенов, так что короткие system-промпты кэшируются легче. Смена верхнего effort по-прежнему инвалидирует этот кэш.
На Claude API и Google Cloud computer use принимает только computer_toolset_20260801. Bedrock по-прежнему принимает computer_20251124. Инструмент advisor (beta) не даст исполнителю 5.5 спариться с Opus 4.8 / 4.7 или Sonnet 5. Те advisor, которые 5.5 принимает, возвращают зашифрованные блоки advisor_redacted_result; клиент текст совета не читает.
Чтобы сменить Schema инструмента mid-conversation, inline-tools-2026-09-15 может нести полное определение в mid-conversation system-сообщении, не правя верхний массив tools. То же правило, что у prefix-bound thinking: историю только дописывать. Compaction (compact-2026-09-04) может подменить подписанное саммари, сохранив thinking валидным — условия на странице Compaction у Anthropic.
Пять проверок до смены строки модели
- Ищите
thinking. Уберитеdisabledиbudget_tokens. Чтобы выключить предварительное thinking, пошлитеbetween_tools, effort не вышеhigh. JSON-задачи с рассуждением — adaptive thinking. - Ищите
tool_choice. Любыеany/ именованныйtool— вauto. Включитеstrictи ужмитеinput_schema. - Ищите
temperature/top_p/top_k. Недефолты удалите. Стабильный JSON — Schema, не сэмплинг. - Ставьте
effortявно. Не ешьте дефолтный high. Общая маршрутизация с Opus 5.5 — два разных дефолта. - Replay и кэш. На аккаунтах после 31 августа не правьте tools / system в истории. Идёте с Opus 5.5 — ждите, что блоки thinking отбросят.
Смотреть Schema локальными JSON-инструментами
Прежде чем ставить модель в claude-sonnet-5-5, разложите в браузере три текста: старый input_schema, один объект arguments, который раньше получали через disabled или принудительный tool_choice, и Schema, которую собираетесь отдать Structured Output.
- Валидатор JSON — легальна ли грамматика; если есть Schema — сразу required и лишние ключи.
- Форматирование JSON — разверните однострочное определение инструмента и смотрите, проставлен ли
additionalProperties. - JSON Diff — сравните образец с выключенным thinking с минимальным объектом, который разрешает strict Schema.
Ничего не уходит из браузера. Стабилизируйте контракт, потом меняйте строку модели. 5.5 сменит effort и отвергнет disabled и старый tool_choice. Имена полей и список required не должны разъезжаться вместе с ним.
FAQ
Можно ли выкатить, только сменив модель на claude-sonnet-5-5?
Не как дефолт. Если в запросе ещё thinking.disabled, budget_tokens, tool_choice any/tool, недефолтная temperature или computer_20251124 на Claude API — будет 400.
between_tools — это новый disabled?
Только в запросах без инструментов. С инструментами прогресс по-прежнему приходит блоками thinking. Он отвергает display / budget_tokens / mid-conversation смену effort и не парится с xhigh или max. На JSON-задачах с рассуждением его не берите.
Если прайс не сдвинулся, почему поедет счёт?
Дефолтный effort — high, ступени перекалиброваны. Официальные 30% экономии — токены на задачу, не ценник. Если задача не ограничивает вывод, независимые уже видели более высокий счёт. Прогоните ту же Schema сами.
Это то же самое, что Opus 5.5 22 сентября?
Принудительные инструменты, привязка блоков thinking и старый computer-инструмент делят корень. Sonnet 5.5 добавляет disabled→between_tools, дефолтный effort high, заблокированный сэмплинг, пары advisor и «без инструментов JSON не выключайте thinking». Две линейки мигрируйте отдельно.
Без Structured Output как всё равно собрать JSON?
Читайте только блоки text и парсите последнее полное JSON-значение. Не парсите весь ответ. Если stop_reason — max_tokens, повторяйте. Это fallback. Где можно — Schema.
Haiku 5.5 уже вышел?
На 29 сентября 2026 официальная строка всё ещё «в ближайшие недели». Не раздавайте эти breaking change ещё не вышедшему ярусу.
Итог
Sonnet 5.5 держит прайс на месте и превращает disabled в 400. Скопируете запрос Sonnet 5 — жёсткий отказ на thinking, tool_choice и temperature. Чтобы выключить предварительное thinking, пошлите between_tools. Стабильный JSON — adaptive thinking плюс Structured Output, или auto плюс strict плюс JSON Schema. На задаче с рассуждением без инструментов выключить thinking — уже измеренное падение точности.
Сначала разгладьте Schema, образец arguments и strict-контракт в локальном валидаторе, потом переключайтесь на claude-sonnet-5-5. Ценник может остаться. Полевой контракт не должен разъезжаться вместе с ним.