Anthropic выпустила Claude API 2026-10-21: sampling-параметры убраны, все SDK получили мажорные версии

21 октября 2026 года Anthropic выпустила версию Claude API 2026-10-21 — первую новую с 2023 года. В ней запросы с temperature, top_p или top_k получают ошибку 400, а все восемь официальных SDK и CLI вышли мажорными релизами с несовместимыми изменениями. Старая версия 2023-06-01 работает, поэтому обновление можно спланировать, а не делать в спешке.
До сих пор интеграции с Claude три года жили на одной версии API, и смена SDK обычно сводилась к pip install -U. Теперь автоматический апгрейд зависимостей может уронить прод: новые SDK по умолчанию отправляют 2026-10-21, иначе передают ключ и по-другому описывают типы сообщений. Командам, которые разрабатывают ИИ-агентов или встраивают LLM в продукт, стоит закрепить текущие версии SDK и запланировать миграцию отдельной задачей.
Если вы выбираете модель под задачу, свежие изменения линейки мы разбирали в новости о Claude Sonnet 5.5. Ниже — только то, что ломается при переходе на новую версию API, и порядок действий.
Что изменилось в Messages API
Новые правила действуют для POST /v1/messages, подсчёта токенов и каждого запроса в Message Batch, созданного с версией 2026-10-21.
- Sampling-параметры удалены. Запрос с
temperature,top_pилиtop_kвозвращает 400 на любой модели — даже если значение равно значению по умолчанию. Замены нет: генерация идёт с настройками по умолчанию, включаяtemperature1.0. - Документы в ответах ассистента запрещены. Блок
document, положенный прямо в сообщение с рольюassistant, даёт 400. Документы нужно передавать в сообщениях пользователя. - Цитаты в сообщениях пользователя запрещены. Блок
textс непустым массивомcitationsв ролиuser, в том числе внутриsearch_result, тоже даёт 400. Цитаты в прошлых ответах Claude, которые вы отправляете обратно, по-прежнему принимаются.
Для моделей Claude 4.7 и новее, которые и так принимают только значения по умолчанию, поведение генерации не меняется. А вот на моделях вроде Claude Sonnet 4.6 запрос, где temperature понижали ради более стабильного вывода, теряет этот эффект. Если от низкой температуры зависит качество — например, в классификации или извлечении данных, — Anthropic предлагает оставить такие запросы на 2023-06-01.
Какие версии SDK вышли и что в них сломано
Первыми на 2026-10-21 по умолчанию перешли Python SDK 2.0.0, TypeScript SDK 1.0.0, C# SDK 13.0.0, Go SDK 2.0.0, Java SDK 3.0.0, PHP SDK 1.0.0, Ruby SDK 2.0.0 и CLI ant 2.0.0. Помимо изменений самого API, у них есть собственные несовместимости:
- Ключ уходит в
Authorization: Bearerвместо заголовкаX-Api-Key. Прокси, шлюзы, фильтры логов и тестовые заглушки, которые читают или подставляютX-Api-Key, нужно переделать. Сам API принимает ключ в любом из двух заголовков. MessageParamразделён по ролям наUserMessageParam,AssistantMessageParamиSystemMessageParam. Тело запросов не меняется, но код с явной типизацией придётся поправить.- Legacy Text Completions удалён из SDK для TypeScript, Go, Java, Ruby и из CLI — остаётся только Messages API.
- Клиентская компакция в tool runner удалена (TypeScript и Ruby) в пользу серверной, порог срабатывания — не меньше 50 000 токенов.
- В Go меняется путь модуля на
github.com/anthropics/anthropic-sdk-go/v2, у CLI — на…/anthropic-cli/v2; старый путь молча ставит последнюю v1. - В CLI убраны флаги
--api-keyи--auth-token: ключ в командной строке виден в истории оболочки и списке процессов.
Отдельно изменилась лицензия: новые версии SDK и CLI распространяются под Apache 2.0 вместо MIT, старые остаются под MIT. Код менять не нужно, но если вы ведёте реестр лицензий зависимостей, запись придётся обновить.
Кого изменения затронут сильнее всего
Больше всего работы у тех, кто ходит в Claude через собственный шлюз или прокси: смена заголовка авторизации ломает маршрутизацию и учёт запросов, хотя прикладной код не менялся. На Amazon Bedrock версия 2026-10-21 доступна только для Claude 4.7 и новее — интеграции со старыми моделями там должны оставаться на нынешней версии SDK. В TypeScript пакеты для Bedrock, Vertex, Foundry и AWS нужно поднимать до v1 одновременно с основным SDK, иначе менеджер пакетов поставит вторую, старую копию @anthropic-ai/sdk.
Изменились и ответы Admin API: например, у ключей API больше нет поля workspace_id — вместо него scope, а у RBAC-групп roles заменено на role_ids. Скрипты учёта и биллинга, которые читают эти поля, сломаются тихо — без ошибки, просто с пустыми значениями.
Как подготовить миграцию: порядок действий
- Закрепите версии SDK в lock-файлах и отключите автоматическое мажорное обновление пакета Anthropic, пока миграция не готова.
- Найдите в коде
temperature,top_p,top_k, обращения кX-Api-Key, вызовы Text Completions и явные типыMessageParam. - Решите судьбу запросов с низкой температурой: проверьте качество на значениях по умолчанию или оставьте их на
2023-06-01. - Обновите прокси и шлюзы под
Authorization: Bearerдо выката нового SDK. - Прогоните регрессию против
2026-10-21и выкатывайте обновление SDK вместе с правками кода одним релизом.
Anthropic сообщила, что будет выпускать версии API чаще, чтобы несовместимые изменения можно было отработать до того, как их потребуют новые модели. Поэтому разовой миграции мало: проверку версии API и SDK стоит сделать регулярной частью сопровождения LLM-интеграций.
Часто задаваемые вопросы
Перестанет ли работать старая версия API? Нет. Версия 2023-06-01 не объявлена устаревшей, а старые мажорные версии SDK продолжают её отправлять. Ломается всё только при обновлении SDK или ручной смене заголовка anthropic-version.
Чем заменить temperature? В 2026-10-21 замены нет. Если вывод должен быть стабильным, используйте структурированный вывод и чёткие инструкции или оставьте конкретные запросы на 2023-06-01.
Нужно ли менять API-ключ? Нет, меняется только заголовок, в котором SDK его отправляет. Ключ остаётся прежним.
Источники
- Anthropic — Claude Platform release notes, 21 октября 2026 (первоисточник).
- Anthropic — Migrating to API version 2026-10-21, октябрь 2026.
- TokenPost — Anthropic Removes Three Sampling Controls From Claude API Requests, 22 октября 2026.
Нужно перевести LLM-интеграцию на новую версию API?
Проведём аудит вызовов модели, обновим SDK и шлюзы, проверим качество ответов на регрессионном наборе и выкатим миграцию без простоя для пользователей.