Миграция на Claude Sonnet 5
Миграция на Claude Sonnet 5 с более ранних моделей Claude: идентификаторы моделей, критические изменения и контрольные списки миграции.
Claude Sonnet 5 предлагает лучшее сочетание скорости и интеллекта в семействе моделей Claude. Он основан на Claude Sonnet 4.6.
Claude Sonnet 5 — это прямая замена Claude Sonnet 4.6 по цене $2/$10 USD за миллион входных/выходных токенов; подробности см. в разделе Цены. Для кода, уже работающего на Claude Sonnet 4.6, есть два критических изменения API. Во-первых, адаптивное мышление (adaptive thinking) включено по умолчанию, а ручное «extended thinking» (расширенное мышление) (thinking: {type: "enabled", budget_tokens: N}) возвращает ошибку 400, поэтому запросы, которые выполнялись без мышления, теперь могут возвращать блоки thinking перед первым блоком text, и код, читающий содержимое по позиции, должен выбирать блоки содержимого по type. Во-вторых, параметры сэмплирования (temperature, top_p, top_k), установленные в значения, отличные от значений по умолчанию, возвращают ошибку 400. Используйте адаптивное мышление с параметром effort для управления глубиной мышления. Claude Sonnet 5 поддерживает тот же набор функций, что и Claude Sonnet 4.6, включая контекстное окно в 1M токенов («context window» — контекстное окно), адаптивное мышление, кэширование подсказок («prompt caching»), пакетную обработку, Files API, поддержку PDF, зрение и полный набор серверных и клиентских инструментов. В Claude API и Google Cloud Claude Sonnet 5 также поддерживает использование компьютера в виде стабильного набора инструментов computer_toolset_20260801 и инструмент использования браузера для задач внутри веб-страниц — ни то, ни другое Claude Sonnet 4.6 не поддерживает; существующие интеграции на более ранней версии computer_20251124 продолжают работать без изменений на обеих моделях. Чтобы обновить существующую интеграцию, см. Миграция с computer_20251124. Priority Tier недоступен для Claude Sonnet 5. Claude Sonnet 5 также использует новый токенизатор.
Миграция на Claude Sonnet 5 с Claude Sonnet 4.6
Обновите название модели
# Миграция на Sonnet
model = "claude-sonnet-4-6" # Before
model = "claude-sonnet-5" # AfterЧто изменилось
Пункты 4 и 5 в следующем списке являются критическими изменениями. max_tokens остаётся жёстким ограничением на общий объём вывода (мышление плюс текст ответа), поэтому пересмотрите его для рабочих нагрузок, которые выполнялись без мышления на Claude Sonnet 4.6.
-
Новый токенизатор: Claude Sonnet 5 использует новый токенизатор. Тот же входной текст даёт примерно на 30% больше токенов, чем на Claude Sonnet 4.6. Точное увеличение зависит от содержимого. Запросы, ответы и события потоковой передачи сохраняют ту же форму, и изменения кода не требуются, но всё, что вы измеряете или планируете в токенах, смещается: поля
usageи результаты подсчёта токенов для того же текста выше, контекстное окно в 1M токенов вмещает меньше текста, а ограничениеmax_tokens, настроенное для Claude Sonnet 4.6, может обрезать эквивалентный вывод. Цена за токен ниже ($2/$10 USD против $3/$15 USD у Claude Sonnet 4.6 за миллион входных/выходных токенов), но стоимость эквивалентного запроса не снижается прямо пропорционально. Повторно выполните подсчёт токенов для Claude Sonnet 5, а не используйте повторно значения, измеренные для более ранних моделей. -
128k максимальных выходных токенов (без изменений): Claude Sonnet 5 поддерживает до 128k выходных токенов, как и Claude Sonnet 4.6. Существующие значения
max_tokensостаются действительными. Учитывайте новый токенизатор при их определении. -
Предзаполнение сообщений ассистента (без изменений): Предзаполнение сообщения ассистента возвращает ошибку
400на Claude Sonnet 5, как и на Claude Sonnet 4.6. Если вы удалили предзаполнение при миграции на Claude Sonnet 4.6, дальнейших изменений не требуется. Вместо этого используйте структурированные выходные данные, инструкции в системной подсказке илиoutput_config.format. -
Адаптивное мышление включено по умолчанию: На Claude Sonnet 4.6 запросы без поля
thinkingвыполняются без мышления; на Claude Sonnet 5 те же запросы выполняются с адаптивным мышлением. Чтобы отключить мышление, передайтеthinking: {type: "disabled"}. Ручное расширенное мышление (thinking: {type: "enabled", budget_tokens: N}) не поддерживается и возвращает ошибку 400. Используйте параметр effort (по умолчаниюhigh) для управления глубиной мышления.При включённом мышлении ответ может начинаться с одного или нескольких блоков
thinkingперед первым блокомtext, возвращаемых с пустым полемthinkingпри значении по умолчаниюdisplay: "omitted". Код, читающий ответ по позиции, напримерcontent[0].text, или обработчик потока, который считает первый блок содержимого текстом, должен вместо этого выбирать блоки содержимого по их полюtype, а циклы использования инструментов должны передавать блокиthinkingобратно полностью и без изменений вместе с результатами инструментов (см. Сохранение блоков мышления). Токены мышления тарифицируются как выходные токены, даже если текст мышления не возвращается. Если вы использовали мышление на Claude Sonnet 4.6 и отображаете возвращаемый текст мышления, обратите внимание, чтоthinking.displayтам по умолчанию имел значение"summarized", а на Claude Sonnet 5 по умолчанию имеет значение"omitted"; установитеdisplay: "summarized", как в следующем примере, чтобы продолжать получать читаемые сводки (см. Управление отображением мышления).client = anthropic.Anthropic() response = client.messages.create( model="claude-sonnet-5", max_tokens=16000, thinking={"type": "adaptive", "display": "summarized"}, output_config={"effort": "high"}, messages=[ { "role": "user", "content": "Are there an infinite number of prime numbers such that n mod 4 == 3?", } ], ) # Ответ содержит блоки обобщённого мышления и текстовые блоки for block in response.content: match block.type: case "thinking": print(f"\nThinking summary: {block.thinking}") case "text": print(f"\nResponse: {block.text}") -
Параметры сэмплирования удалены: Параметры сэмплирования (
temperature,top_p,top_k), установленные в значение, отличное от значения по умолчанию, не принимаются и возвращают ошибку 400. -
Защитные механизмы кибербезопасности: Claude Sonnet 5 — первая модель уровня Sonnet с защитными механизмами кибербезопасности в реальном времени. Запросы, затрагивающие запрещённые или высокорисковые темы кибербезопасности, могут быть отклонены. Отказы возвращаются как успешный ответ HTTP 200 с
stop_reason: "refusal", а не как ошибка. См. Защитные механизмы кибербезопасности в реальном времени на Claude Opus и Sonnet, чтобы узнать, что блокируют защитные механизмы и как для легитимной работы в области безопасности можно подать заявку в Cyber Verification Program.
Контрольный список миграции
- Обновите название модели с
claude-sonnet-4-6наclaude-sonnet-5. - Повторно выполните подсчёт токенов для Claude Sonnet 5. Новый токенизатор даёт примерно на 30% больше токенов для того же текста, что может изменить стоимость запроса, даже несмотря на более низкую цену за токен. Точное увеличение зависит от содержимого и формы рабочей нагрузки.
- Пересмотрите ограничения
max_tokens, заданные близко к ожидаемой длине вывода, и при необходимости увеличьте их до максимума в 128k (без изменений по сравнению с Claude Sonnet 4.6). - Удалите конфигурацию
thinking: {type: "enabled", budget_tokens: N}(возвращает ошибку 400). Адаптивное мышление включено по умолчанию; передайте{type: "disabled"}, чтобы отключить его, или используйте параметр effort для управления глубиной. - Обновите разбор ответов, читающий содержимое по позиции, например
content[0].text: при включённом мышлении блокиthinkingприходят перед блокамиtext. Вместо этого выбирайте блоки содержимого поtypeи передавайте блокиthinkingобратно без изменений в циклах использования инструментов; изменённые блоки возвращают ошибку 400. - Убедитесь, что любой код, разбирающий поле
thinking, обрабатывает его только как отображаемый текст.thinking.displayпо умолчанию имеет значение"omitted"на Claude Sonnet 5 (на Claude Sonnet 4.6 по умолчанию было"summarized"), поэтому блоки мышления приходят с пустым полемthinking; установитеdisplay: "summarized", чтобы получать читаемые сводки. См. Управление отображением мышления. - Удалите параметры
temperature,top_pиtop_k, установленные в значения, отличные от значений по умолчанию (на Claude Sonnet 5 они возвращают ошибку 400). - Добавьте обработку
stop_reason: "refusal", если ваша рабочая нагрузка может затрагивать темы кибербезопасности. - Заново определите базовую стоимость для вашей типичной рабочей нагрузки перед развёртыванием в продакшене.
- Проверьте
max_tokensдля рабочих нагрузок, которые ранее выполнялись без мышления.
Миграция на Claude Sonnet 5 с Claude Sonnet 4.5 и более ранних моделей Sonnet
Если вы мигрируете с Claude Sonnet 4.5 или более ранней модели Sonnet напрямую на Claude Sonnet 5, примените изменения из раздела Миграция на Claude Sonnet 5 с Claude Sonnet 4.6, а также изменения из этого раздела.
Критические изменения
При миграции с Sonnet 4.5
-
Предзаполнение сообщений ассистента больше не поддерживается
Предзаполнение сообщений ассистента возвращает ошибку
400на Claude Sonnet 4.6 и более поздних моделях, включая Claude Sonnet 5. Вместо этого используйте структурированные выходные данные, инструкции в системной подсказке илиoutput_config.format.Распространённые сценарии использования предзаполнения и способы миграции:
-
Управление форматированием вывода (принудительный вывод JSON/YAML): используйте структурированные выходные данные или инструменты с полями enum для задач классификации.
-
Устранение преамбул (удаление фраз вроде «Вот...»): добавьте прямые инструкции в системную подсказку: «Отвечай напрямую без преамбулы. Не начинай с фраз вроде "Вот...", "На основе..." и т. п.»
-
Избежание необоснованных отказов: Claude теперь гораздо лучше справляется с уместными отказами. Чёткой подсказки в сообщении пользователя без предзаполнения должно быть достаточно.
-
Продолжения (возобновление прерванных ответов): перенесите продолжение в сообщение пользователя: «Твой предыдущий ответ был прерван и закончился на
[previous_response]. Продолжи с того места, где остановился.» -
Гидратация контекста / согласованность роли (обновление контекста в длинных разговорах): вместо этого вставляйте то, что раньше было предзаполненными напоминаниями ассистента, в ход пользователя.
-
-
Экранирование JSON в параметрах инструментов может отличаться
Экранирование строк JSON в параметрах инструментов может отличаться от предыдущих моделей. Стандартные парсеры JSON обрабатывают это автоматически, но пользовательский разбор на основе строк может потребовать обновления.
Изменения расширенного мышления: конфигурации budget_tokens из Claude Sonnet 4.5 (thinking: {type: "enabled", budget_tokens: N}) не поддерживаются на Claude Sonnet 5 и возвращают ошибку 400. Адаптивное мышление включено по умолчанию, поэтому большинству рабочих нагрузок вообще не нужна конфигурация thinking; используйте параметр effort для управления глубиной мышления. Если вы запускали Claude Sonnet 4.5 без расширенного мышления, передайте thinking: {type: "disabled"}, чтобы сохранить это поведение.
При миграции с Claude 3.x
-
Удалите параметры сэмплирования
Параметры сэмплирования (
temperature,top_p,top_k), установленные в значение, отличное от значения по умолчанию, возвращают ошибку 400 на Claude Sonnet 5. Удалите их из запросов и вместо этого используйте подсказки для управления поведением модели. -
Обновите версии инструментов
Обновитесь до последних версий инструментов (
text_editor_20250728,code_execution_20260521). Удалите любой код, использующий командуundo_edit. -
Обработайте причину остановки
refusalОбновите ваше приложение для обработки причин остановки
refusal. -
Обновите ваши подсказки с учётом изменений поведения
Модели Claude 4 имеют более лаконичный, прямой стиль общения. Ознакомьтесь с лучшими практиками составления подсказок для рекомендаций по оптимизации.
Миграция на Claude Sonnet 5 с Claude Haiku 4.5
Claude Haiku 4.5 и Claude Sonnet 5 различаются на уровне API сильнее, чем соседние модели одного класса: Claude Haiku 4.5 использует ручное расширенное мышление (отключено по умолчанию), контекстное окно в 200k токенов и до 64k выходных токенов, тогда как Claude Sonnet 5 работает с адаптивным мышлением, включённым по умолчанию, по умолчанию предоставляет контекстное окно в 1M токенов и поддерживает до 128k выходных токенов.
Обновите название модели
model = "claude-haiku-4-5-20251001" # Before
model = "claude-sonnet-5" # AfterЧто изменилось
-
Конфигурация мышления: Claude Haiku 4.5 поддерживает ручное расширенное мышление (
thinking: {type: "enabled", budget_tokens: N}) и отклоняетthinking: {type: "adaptive"}. На Claude Sonnet 5 поддержка обратная: адаптивное мышление включено по умолчанию, а ручное расширенное мышление возвращает ошибку 400. Удалите конфигурацииthinking: {type: "enabled", budget_tokens: N}и полагайтесь на значение по умолчанию или передайтеthinking: {type: "disabled"}, чтобы отключить мышление. Уbudget_tokensнет прямой замены; используйте параметр effort для управления глубиной мышления. Effort недоступен на Claude Haiku 4.5 и по умолчанию имеет значениеhighна Claude Sonnet 5.Форма ответа меняется для обоих видов запросов Claude Haiku 4.5. Запросы, которые выполнялись без расширенного мышления, теперь могут возвращать один или несколько блоков
thinkingперед первым блокомtext, поэтому код, читающий ответ по позиции, напримерcontent[0].text, должен вместо этого выбирать блоки содержимого по их полюtype, а циклы использования инструментов должны передавать блокиthinkingобратно полностью и без изменений вместе с результатами инструментов (см. Сохранение блоков мышления). Запросы, которые использовали расширенное мышление, продолжают получать блокиthinking, ноthinking.displayна Claude Sonnet 5 по умолчанию имеет значение"omitted", а не"summarized", поэтому эти блоки приходят с пустым полемthinking; установитеdisplay: "summarized", чтобы продолжать получать читаемые сводки (см. Управление отображением мышления). Токены мышления тарифицируются как выходные токены, даже если текст мышления не возвращается. -
Параметры сэмплирования удалены:
temperatureиtop_pработают на Claude Haiku 4.5 (по одному, не оба сразу). На Claude Sonnet 5 установкаtemperature,top_pилиtop_kв значение, отличное от значения по умолчанию, возвращает ошибку 400. Удалите эти параметры и используйте подсказки для управления поведением модели. -
Предзаполнение ассистента удалено: Предзаполнение сообщения ассистента работает на Claude Haiku 4.5, но возвращает ошибку 400 на Claude Sonnet 5. Вместо этого используйте структурированные выходные данные, инструкции в системной подсказке или
output_config.format. -
Большее контекстное окно и вывод: Claude Sonnet 5 по умолчанию предоставляет контекстное окно в 1M токенов (по сравнению с 200k токенов на Claude Haiku 4.5) и поддерживает до 128k выходных токенов (по сравнению с 64k). Claude Sonnet 5 также использует другой токенизатор, поэтому повторно выполните подсчёт токенов, а не используйте повторно значения, измеренные для Claude Haiku 4.5.
-
Цены: Claude Haiku 4.5 стоит $1/$5 USD за миллион входных/выходных токенов. Claude Sonnet 5 стоит $2/$10 USD за миллион входных/выходных токенов. См. Цены Claude.
-
Защитные механизмы кибербезопасности: Claude Sonnet 5 имеет защитные механизмы кибербезопасности в реальном времени. Запросы, затрагивающие запрещённые или высокорисковые темы кибербезопасности, могут быть отклонены и возвращены как успешный ответ HTTP 200 с
stop_reason: "refusal". См. Защитные механизмы кибербезопасности в реальном времени на Claude Opus и Sonnet, чтобы узнать, что блокируют защитные механизмы и как для легитимной работы в области безопасности можно подать заявку в Cyber Verification Program.
Контрольный список миграции
- Обновите название модели с
claude-haiku-4-5-20251001(или псевдонимаclaude-haiku-4-5) наclaude-sonnet-5. - Удалите конфигурацию
thinking: {type: "enabled", budget_tokens: N}(возвращает ошибку 400). Адаптивное мышление включено по умолчанию; передайтеthinking: {type: "disabled"}, чтобы сохранить поведение без мышления, и пересмотритеmax_tokensдля рабочих нагрузок, которые выполнялись без мышления. - Обновите разбор ответов, читающий содержимое по позиции, например
content[0].text: при включённом мышлении блокиthinkingприходят перед блокамиtext. Вместо этого выбирайте блоки содержимого поtypeи передавайте блокиthinkingобратно без изменений в циклах использования инструментов; изменённые блоки возвращают ошибку 400. - Если ваш интерфейс отображает содержимое мышления, установите
display: "summarized".thinking.displayпо умолчанию имеет значение"omitted"на Claude Sonnet 5, поэтому в противном случае блоки мышления приходят с пустым полемthinking. См. Управление отображением мышления. - Используйте параметр effort (по умолчанию
high) для управления глубиной мышления и расходом токенов; он недоступен на Claude Haiku 4.5, поэтому никакие существующие настройки не переносятся. - Удалите настройки
temperatureиtop_p(значения, отличные от значений по умолчанию, возвращают ошибку 400 на Claude Sonnet 5). - Удалите любые предзаполнения сообщений ассистента (на Claude Sonnet 5 они возвращают ошибку 400).
- Повторно выполните подсчёт токенов для Claude Sonnet 5 и пересмотрите ограничения
max_tokens, которые можно увеличить до максимума в 128k. - Добавьте обработку
stop_reason: "refusal", если ваша рабочая нагрузка может затрагивать темы кибербезопасности. - Заново определите базовую стоимость для вашей типичной рабочей нагрузки перед развёртыванием в продакшене; цена за токен отличается.
Was this page helpful?