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

Когда 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
Контрольный список аудита:
- Найдите в кодовой базе
tool_choiceсtype: "any"илиtype: "tool". Каждое совпадение немедленно ломается на Fable 5.1. Решите для каждого места вызова, что подходит — структурированные выводы или строгие инструменты. - Включите
thinking-binding-controls-2026-08-01в тестовой среде. Следите за удалениямиmodel_binding_mismatchвinput_transformations. - Установите
prefix_mismatch_behavior: "error"в стейджинге для выявления паттернов редактирования истории разговора. - Проверьте многопользовательские сессионные паттерны, вводящие контекст пользователя в поле
systemмежду ходами.
Одно замечание о согласованности стимулов: применение привязки префикса и дисциплина кэширования только с добавлением — это одна и та же дисциплина. Операторы, правильно реализующие миграцию для исправления ограничения Thinking Block, одновременно получат лучшие показатели попаданий в кэш и более низкие затраты на ввод в Fable 5.1. Ограничение и стимул согласованы.
Похожие материалы
Новости AI-роутинга и провайдеров →
Claude Opus 5.5: четыре ломающих изменения API и их влияние на маршрутизацию
Claude Opus 5.5: четыре ломающих изменения — thinking нельзя отключить, tool_choice типы any/tool возвращают 400, thinking-блоки не читаются не-Fable/Mythos моделями, computer_20251124 удалён. Конкретные исправления и влияние на резервную маршрутизацию.

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

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