Fable 5.1 нарушает два оператора допущения: принудительные вызовы `tool_choice` и повторное использование Thinking Block

Fable 5.1 ломает два паттерна: `tool_choice: any` и `tool_choice: tool` возвращают 400, а Thinking Block версионно привязаны с проверкой префикса для новых аккаунтов. Оба требуют немедленной миграции.

Опубликовано источник Anthropic

Архивный материал, подготовленный с помощью ИИ по указанному источнику и опубликованный без индивидуальной проверки. Ответственный редактор: Joe Werner.

Абстрактная диаграмма маршрутизации API-запросов с узлами блокировки 400 и версионными шлюзами в технической визуализации конвейера
Машинный перевод с английского оригинала — читать оригинал

Когда 1 сентября вышел Claude Fable 5.1, два изменения в заметках о выпуске легко было пропустить. Первое — ошибка 400, которая немедленно ломает паттерны принудительного вызова инструментов. Второе — ограничение на Thinking Block, которое незаметно деградирует многоходовые агентские сессии, а для аккаунтов, созданных после 31 августа, превращается в жёсткий 400. Ни у одного изменения нет переходного периода. Оба действуют уже сейчас.

Удаление tool_choice: что ломается и почему Anthropic пошла на этот шаг

Fable 5.1 и Mythos 5.1 не поддерживают tool_choice типа any или tool. Отправка любого из них возвращает 400. Типы auto и none остаются без изменений.

Тип any указывает Claude, что в этом ходу она обязана вызвать хотя бы один инструмент. Тип tool принудительно задаёт конкретный именованный инструмент. Оба широко используются операторами, которым нужен структурированный вывод из шага агента — например, классификационный конвейер, ожидающий JSON вызова инструмента, а не прозы, или агент извлечения данных, который должен возвращать типизированную схему в каждом ходу.

В Fable 5.1 ни один из них недоступен. Практическое обоснование Anthropic: функция этой возможности — гарантировать совместимый со схемой ввод инструмента — теперь лучше обеспечивается двумя отдельными механизмами: строгим использованием инструментов (strict: true в определении инструмента, грамматически ограниченная выборка) и структурированными выводами (параметр output_schema на верхнем уровне, возвращающий JSON-объект напрямую).

Если вы использовали tool_choice: tool для гарантии структурированного возврата значения из одного именованного инструмента, переходите на структурированные выводы. Вместо определения инструмента и принуждения модели вызвать его, определите output_schema непосредственно в запросе сообщений.

Если вы использовали tool_choice: any для обеспечения того, чтобы модель не отвечала прозой, когда должна предпринять действие, переходите на строгое использование инструментов. Добавьте "strict": true к каждому соответствующему определению инструмента.

Кросс-провайдерный контекст важен. tool_choice: required от OpenAI (аналог any) и tool_choice: {"type": "function"} (аналог tool) по-прежнему доступны в их последних моделях. У Google Gemini есть эквивалент tool_config.function_calling_config.mode: ANY. Операторы, запускающие слои маршрутизации, нормализующие принудительный вызов инструментов у разных провайдеров, должны направить Fable 5.1 по пути структурированных выводов или строгих инструментов.

Версионный шлюз Thinking Block: привязка к модели и привязка к разговору

Второе изменение более тонкое и имеет два отдельных уровня применения.

Уровень 1: привязка к модели. Thinking Block, созданные Fable 5.1 или Mythos 5.1, читаются только этими моделями или более новыми. Если ваша сессия откатывается к более старой модели — например, после того как классификатор отклоняет запрос и происходит откат к Claude Sonnet 5 — старая модель не может прочитать Thinking Block из хода Fable 5.1. API удаляет их из запроса.

Без бета-заголовка thinking-binding-controls-2026-08-01 это удаление молчаливое. С заголовком ответ включает поле input_transformations, сообщающее о каждом удалённом блоке как model_binding_mismatch.

Обратное неприменимо: Fable 5.1 читает Thinking Block всех старых моделей в списке (Claude Opus 5, Fable 5, Mythos 5 и более ранние).

Уровень 2: привязка к разговору (применение несоответствия префикса). Поле signature Thinking Block Fable 5.1 охватывает системный промпт system, список tools и каждое предшествующее сообщение. Если любое из них изменится до повторного воспроизведения блока в последующем ходу, блок больше не действителен в этом разговоре.

Для аккаунтов, созданных 31 августа 2026 года или позже, API применяет это немедленно: повторное воспроизведение Thinking Block после изменения префикса возвращает ошибку 400.

Для старых аккаунтов проверка записывается в signature, но не применяется — если только запрос не устанавливает thinking.block_binding.prefix_mismatch_behavior. Anthropic прямо заявляет, что применение для старых аккаунтов появится в будущих моделях. Сейчас — окно для исправления приложения до того, как оно будет применено к вам.

Паттерны, нарушающие эту проверку: редактирование системного промпта между ходами (распространено в многопользовательских системах), удаление или добавление инструмента во время сессии, любое усечение истории или редактирование сообщений для управления длиной контекста.

Пути исправления:

  • История разговора только для добавления. Никогда не редактируйте предыдущие сообщения. Вводите новый контекст как новое сообщение.
  • Системные сообщения уровня хода (через бета-заголовок mid-conversation-system-clear-at-2026-08-21). Установите clear_at: "next_user_message" для ввода контекста per-ход без изменения системного промпта верхнего уровня.
  • Протестируйте против применения сейчас, отправив thinking.block_binding.prefix_mismatch_behavior: "error" с бета-заголовком.

Что изменить перед маршрутизацией производственного трафика на Fable 5.1

Контрольный список аудита:

  1. Найдите в кодовой базе tool_choice с type: "any" или type: "tool". Каждое совпадение немедленно ломается на Fable 5.1. Решите для каждого места вызова, что подходит — структурированные выводы или строгие инструменты.
  2. Включите thinking-binding-controls-2026-08-01 в тестовой среде. Следите за удалениями model_binding_mismatch в input_transformations.
  3. Установите prefix_mismatch_behavior: "error" в стейджинге для выявления паттернов редактирования истории разговора.
  4. Проверьте многопользовательские сессионные паттерны, вводящие контекст пользователя в поле system между ходами.

Одно замечание о согласованности стимулов: применение привязки префикса и дисциплина кэширования только с добавлением — это одна и та же дисциплина. Операторы, правильно реализующие миграцию для исправления ограничения Thinking Block, одновременно получат лучшие показатели попаданий в кэш и более низкие затраты на ввод в Fable 5.1. Ограничение и стимул согласованы.

Абстрактная архитектурная диаграмма, показывающая трансформацию формы API-запросов при прохождении через шлюз, иллюстрирующая четыре ломающих изменения Claude Opus 5.5

Claude Opus 5.5: четыре ломающих изменения API и их влияние на маршрутизацию

Claude Opus 5.5: четыре ломающих изменения — thinking нельзя отключить, tool_choice типы any/tool возвращают 400, thinking-блоки не читаются не-Fable/Mythos моделями, computer_20251124 удалён. Конкретные исправления и влияние на резервную маршрутизацию.

источник Anthropic
Claude API компакция по требованию и режим auto для разрешений: диаграмма пайплайна с фоновой суммаризацией и серверной оценкой доверия

Claude API: компакция по требованию и режим `auto` для разрешений меняют архитектуру агентных циклов

Два новых бета-обновления Claude API: `compact-2026-09-04` выносит суммаризацию в фоновый вызов, а режим `auto` передаёт оценку доверия к инструментам на сторону сервера. Оба меняют проектирование агентных циклов.

источник Anthropic
Абстрактная визуализация потока текстовых токенов со скрытыми паттернами водяного знака в распределении вероятностей

Текстовый водяной знак Claude приходит ко всем операторам: что Detection API SynthID-Text значит для вашего пайплайна

Будущие модели Claude встраивают водяной знак SynthID-Text глобально, отказаться нельзя. Detection API готовится. Операторам пайплайнов контент-модерации и compliance нужно понять, что знак доказывает и какие операции с токенами его уничтожают.

источник Anthropic
Помощь и контакты