Claude Platform Docs
Модели и ценыClaude Sonnet 5

Миграция на 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.

  1. Новый токенизатор: 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, а не используйте повторно значения, измеренные для более ранних моделей.

  2. 128k максимальных выходных токенов (без изменений): Claude Sonnet 5 поддерживает до 128k выходных токенов, как и Claude Sonnet 4.6. Существующие значения max_tokens остаются действительными. Учитывайте новый токенизатор при их определении.

  3. Предзаполнение сообщений ассистента (без изменений): Предзаполнение сообщения ассистента возвращает ошибку 400 на Claude Sonnet 5, как и на Claude Sonnet 4.6. Если вы удалили предзаполнение при миграции на Claude Sonnet 4.6, дальнейших изменений не требуется. Вместо этого используйте структурированные выходные данные, инструкции в системной подсказке или output_config.format.

  4. Адаптивное мышление включено по умолчанию: На 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}")
  5. Параметры сэмплирования удалены: Параметры сэмплирования (temperature, top_p, top_k), установленные в значение, отличное от значения по умолчанию, не принимаются и возвращают ошибку 400.

  6. Защитные механизмы кибербезопасности: 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

  1. Предзаполнение сообщений ассистента больше не поддерживается

    Предзаполнение сообщений ассистента возвращает ошибку 400 на Claude Sonnet 4.6 и более поздних моделях, включая Claude Sonnet 5. Вместо этого используйте структурированные выходные данные, инструкции в системной подсказке или output_config.format.

    Распространённые сценарии использования предзаполнения и способы миграции:

    • Управление форматированием вывода (принудительный вывод JSON/YAML): используйте структурированные выходные данные или инструменты с полями enum для задач классификации.

    • Устранение преамбул (удаление фраз вроде «Вот...»): добавьте прямые инструкции в системную подсказку: «Отвечай напрямую без преамбулы. Не начинай с фраз вроде "Вот...", "На основе..." и т. п.»

    • Избежание необоснованных отказов: Claude теперь гораздо лучше справляется с уместными отказами. Чёткой подсказки в сообщении пользователя без предзаполнения должно быть достаточно.

    • Продолжения (возобновление прерванных ответов): перенесите продолжение в сообщение пользователя: «Твой предыдущий ответ был прерван и закончился на [previous_response]. Продолжи с того места, где остановился.»

    • Гидратация контекста / согласованность роли (обновление контекста в длинных разговорах): вместо этого вставляйте то, что раньше было предзаполненными напоминаниями ассистента, в ход пользователя.

  2. Экранирование 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

  1. Удалите параметры сэмплирования

    Параметры сэмплирования (temperature, top_p, top_k), установленные в значение, отличное от значения по умолчанию, возвращают ошибку 400 на Claude Sonnet 5. Удалите их из запросов и вместо этого используйте подсказки для управления поведением модели.

  2. Обновите версии инструментов

    Обновитесь до последних версий инструментов (text_editor_20250728, code_execution_20260521). Удалите любой код, использующий команду undo_edit.

  3. Обработайте причину остановки refusal

    Обновите ваше приложение для обработки причин остановки refusal.

  4. Обновите ваши подсказки с учётом изменений поведения

    Модели 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

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

  1. Конфигурация мышления: 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", чтобы продолжать получать читаемые сводки (см. Управление отображением мышления). Токены мышления тарифицируются как выходные токены, даже если текст мышления не возвращается.

  2. Параметры сэмплирования удалены: temperature и top_p работают на Claude Haiku 4.5 (по одному, не оба сразу). На Claude Sonnet 5 установка temperature, top_p или top_k в значение, отличное от значения по умолчанию, возвращает ошибку 400. Удалите эти параметры и используйте подсказки для управления поведением модели.

  3. Предзаполнение ассистента удалено: Предзаполнение сообщения ассистента работает на Claude Haiku 4.5, но возвращает ошибку 400 на Claude Sonnet 5. Вместо этого используйте структурированные выходные данные, инструкции в системной подсказке или output_config.format.

  4. Большее контекстное окно и вывод: Claude Sonnet 5 по умолчанию предоставляет контекстное окно в 1M токенов (по сравнению с 200k токенов на Claude Haiku 4.5) и поддерживает до 128k выходных токенов (по сравнению с 64k). Claude Sonnet 5 также использует другой токенизатор, поэтому повторно выполните подсчёт токенов, а не используйте повторно значения, измеренные для Claude Haiku 4.5.

  5. Цены: Claude Haiku 4.5 стоит $1/$5 USD за миллион входных/выходных токенов. Claude Sonnet 5 стоит $2/$10 USD за миллион входных/выходных токенов. См. Цены Claude.

  6. Защитные механизмы кибербезопасности: 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?