Начиная с моделей Claude 4.6 и Claude Mythos Preview, префилл ответа на последнем ходу ассистента больше не поддерживается. На Mythos Preview запросы с префилл-сообщениями ассистента возвращают ошибку 400. Интеллект моделей и следование инструкциям развились настолько, что большинство сценариев использования больше не нуждаются в префилле. Существующие модели продолжат поддерживать префиллы, и добавление assistant-сообщений в других местах разговора не затронуто.
Вот типичные сценарии префилла и как от них отказаться:
Префиллы использовали, чтобы навязать конкретные форматы вывода — JSON/YAML, классификацию и похожие паттерны, когда префилл ограничивает Claude определённой структурой.
Как перейти: функция Structured Outputs специально спроектирована, чтобы ограничивать ответы Claude заданной схемой. Сначала попробуйте просто попросить модель соответствовать вашей структуре вывода — новые модели надёжно укладываются в сложные схемы, когда им об этом говорят, особенно если реализовано с ретраями. Для задач классификации используйте либо tools с enum-полем, содержащим ваши валидные метки, либо structured outputs.
Префиллы вроде Here is the requested summary:\n использовали, чтобы пропустить вводный текст.
Как перейти: используйте прямые инструкции в system prompt: «Respond directly without preamble. Do not start with phrases like „Here is…“, „Based on…“, etc.» Альтернативно — направьте модель выводить ответ внутри XML-тегов, используйте structured outputs или tool calling. Если изредка преамбула всё же проскальзывает — срезайте её в постобработке.
Префиллы использовали, чтобы обходить необоснованные отказы.
Как перейти: Claude теперь гораздо лучше справляется с уместными отказами. Ясного промпта в user-сообщении без префилла должно быть достаточно.
Префиллы использовали, чтобы продолжать частичные completion'ы, возобновлять прерванные ответы или подхватывать там, где остановилась предыдущая генерация.
Как перейти: перенесите продолжение в user-сообщение и включите финальный текст прерванного ответа: «Your previous response was interrupted and ended with [previous_response]. Continue from where you left off.» Если это часть обработки ошибок или обработки неполных ответов и нет UX-издержек — повторите запрос.
Префиллы использовали, чтобы периодически обеспечивать обновлённый или инжектируемый контекст.
Как перейти: для очень длинных разговоров инжектируйте в user-ход то, что раньше было префилл-напоминаниями ассистента. Если context hydration — часть более сложной агентной системы, рассмотрите hydration через tools (выставьте или поощряйте использование tools, содержащих контекст, по эвристикам вроде числа ходов) или во время context compaction.