Гайды Anthropic для Fable 5 и Opus 4.8 дают противоположные советы по одним и тем же темам. Opus спавнит мало субагентов — его надо подталкивать; Fable делегирует охотно — его надо ограничивать. Для Opus стартовый effort —
xhigh, для Fable —high.Оба вендора официально сошлись в главном: новая модель — переписывай промпт. OpenAI: «treat GPT-5.5 as a new model family to tune for, not a drop-in replacement». Anthropic: скиллы для прежних моделей «слишком прескриптивны» для Fable 5 и снижают качество.
OpenAI выносит управление поведением в параметры API (
reasoning_effort,verbosity,phase), Anthropic — в текст промпта: effort есть у обоих, но остальные болячки Anthropic лечит готовыми сниппетами.Инструкция «покажи свои рассуждения» на Fable 5 триггерит отказ категории
reasoning_extractionи фолбэк на Opus 4.8. Если у вас в скиллах живёт «explain your reasoning» — пора греповать.Рабочая схема для жизни с тремя моделями: вендоронезависимый каркас промпта (Goal / Success criteria / Constraints / Stop rules) плюс тонкие модельные оверлеи на пять строк. Универсального промпта не существует — и проще это принять, чем бороться.
Когда вышел Claude Fable 5, я переключил на него свою оркестрацию в первый же день. Бенчмарки впечатляли, отзывы тоже. Через пару дней поймал себя на странном ощущении: модель объективно сильнее Opus 4.8 — а нравится мне меньше. Раздражает.
Полез в логи. Один ран — полтора часа и 200 тысяч токенов. Сами по себе цифры мало что доказывают: Fable и пишет медленнее прежних моделей, и часть времени уходит на инструменты. Но та же задача у Opus занимала заметно меньше времени, а в логах было видно, куда уходит разница: модель перепроверяла то, что я ей уже сказал, и строила планы там, где надо было просто сделать.
Первая версия диагноза была «модель сырая, подожду минорный релиз». Нет, стоп. Неправильный диагноз. Модель не сырая — она другая. А промпты у меня были старые, заточенные под характер Opus: с подробными пошаговыми инструкциями, с «обязательно проверь то, потом это», с просьбами рассказывать о прогрессе. Для Opus это было топливо. Для Fable — якорь.
Я открыл гайд Anthropic по промптингу — и обнаружил, что у них теперь не один гайд, а три: общий, отдельный для Opus 4.8 и отдельный для Fable 5. Прочитал оба модельных подряд — это оказалось самым полезным чтением за месяц — потому что местами они советуют прямо противоположные вещи. Переписал свои промпты под Fable — и модель, которая меня бесила, начала работать так, как обещали бенчмарки.
Эта статья — разбор того, что вендоры пишут про промптинг своих моделей: где Anthropic и OpenAI сходятся, где расходятся, и почему две модели одной компании требуют разных промптов. Плюс схема, к которой я в итоге пришёл, чтобы не сойти с ума, поддерживая всё это.
Промпт — это артефакт под конкретную модель
Главный тезис сформулирую сразу, чтобы было с чем спорить: универсального промпта не существует. Промпт переобучается под модель так же, как модель переобучается под данные.
Формулировка не моя — это Макс Лейтер из Vercel: «Prompts overfit to models the same way models overfit to data». Его пост прошлой осени много цитировали, и чем дольше я живу с несколькими моделями в проде, тем меньше мне хочется с ним спорить. Каждое «Be concise» и «DO NOT BE LAZY» в вашем промпте — это не инженерия, это борьба с дефолтами конкретной модели. Смените модель — и половина этих заплаток станет бесполезной, а вторая половина начнёт вредить.
У меня сейчас три коллекции промптов: для Opus, для Fable и для ChatGPT. Плюс универсальная — для случаев, когда модель используется разово или тестово и держать под неё отдельную коллекцию нет смысла. Звучит как зоопарк, и это он и есть.
(Отступление. Больше всего это напоминает мне вёрстку нулевых: отдельные CSS-хаки под IE6, под Opera, под ранний Firefox. Тогда казалось — временно, браузеры вот-вот сойдутся к стандарту. Сошлись лет через пятнадцать. С моделями я на быструю конвергенцию уже не ставлю: пост-тренинг у вендоров разный, «характеры» моделей расходятся, а не сближаются.)
Самое интересное, что вендоры с тезисом про переобучение промптов теперь согласны. Официально, в документации. OpenAI в гайде по GPT-5.5 прямым текстом советует относиться к новой модели как к новому семейству, а не drop-in замене, и начинать с минимального промпта вместо переноса старого. Anthropic в гайде по Fable 5 пишет ещё жёстче: «Skills developed for prior models are often too prescriptive for Claude Fable 5 and can degrade output quality» — наработки под прежние модели не просто бесполезны, они ухудшают результат.
То есть оба вендора признали: ваши промпты — расходный материал с привязкой к версии модели. Дальше посмотрим, что они советуют делать.
Где Anthropic и OpenAI говорят одно и то же
Если читать оба гайда подряд, сначала бросается в глаза, насколько они похожи. База у всех одна: пишите ясно и конкретно, объясняйте зачем, давайте примеры, структурируйте промпт, говорите что делать вместо того, чего не делать.
Но сходство глубже банальностей. Есть три точки, в которых вендоры за последний год пришли к одинаковым выводам — независимо и почти одновременно.
Первая: короткий промпт-контракт бьёт простыню процессов. OpenAI: «Shorter, outcome-first prompts usually work better than process-heavy prompt stacks» — опишите место назначения, а не каждый поворот. Anthropic о том же: «Prefer general instructions over prescriptive steps… Claude’s reasoning frequently exceeds what a human would prescribe» — модель спланирует решение лучше, чем ваш рукописный пошаговый план. Обе компании прямо просят выкинуть из промптов накопленные за годы инструкции-процессы.
Вторая: уберите капс и угрозы. Годами мы писали «CRITICAL: You MUST use this tool when…» — потому что модели иначе не слушались. Новые слушаются. Anthropic теперь советует разжимать кулаки: вместо «CRITICAL: You MUST» — обычное «Use this tool when…». OpenAI о том же: ALWAYS и NEVER — только для настоящих инвариантов, иначе модель, следующая инструкциям «с хирургической точностью», начнёт жечь reasoning-токены на разрешение противоречий между вашими же правилами. Агрессивный промпт на новой модели даёт перекос поведения вместо надёжности.
Третья, самая смешная: оба вендора официально воюют с «AI slop» в дизайне. У Anthropic в доках есть сниппет против «purple gradients on white backgrounds», у OpenAI — «avoid purple-on-white defaults» и моё любимое «Cards: default to no cards». Вдумайтесь: обе компании вынуждены в официальной документации извиняться за визуальные привычки собственных моделей и выдавать пользователям промпты-противоядия.
Ну ничего себе консенсус, да? Индустрия, которая два года рассказывала, что промпт-инжиниринг умирает, сошлась на том, что промпты надо писать короче, спокойнее и переписывать под каждую модель.
Где философии расходятся
Теперь различия — они интереснее.
Anthropic управляет поведением через текст. OpenAI — через параметры API. Оговорка сразу, чтобы не соврать: ручка effort есть у обоих вендоров, и у Anthropic это такой же главный рычаг баланса между умом, скоростью и ценой. Но на этом параметрическое сходство заканчивается.
Подход Anthropic: кроме effort и адаптивного thinking, поведение рулится промптом — и под каждую известную болячку модели в доках лежит готовый текстовый сниппет. Модель слишком осторожная — вот вам <default_to_action>. Слишком самостоятельная — вот <do_not_act_before_instructions>. Перепроектирует — сниппет против overengineering. Галлюцинирует про код — <investigate_before_answering>. Документация читается как аптечка: симптом — рецепт.
Подход OpenAI: панель рычагов заметно шире, и живёт она в API. Кроме reasoning_effort (от none до xhigh) есть text.verbosity — длина ответа, отдельно от глубины рассуждений, — и поле phase, разделяющее промежуточные комментарии и финальный ответ. У Anthropic аналогов verbosity и phase нет: хотите, чтобы Claude писал короче, — уговариваете текстом, у GPT — ставите параметр. Текстовая часть у OpenAI тоже структурнее: фирменный стиль — промпты-контракты с явными секциями <output_contract>, <verification_loop>, <tool_persistence_rules> и стоп-правилами.
Разница хорошо видна на метафорах, которые вендоры сами используют. У Anthropic Claude — «brilliant but new employee», блестящий новичок, которому нужен контекст и объяснение норм. У OpenAI reasoning-модель — «senior co-worker», которому ставят цель и доверяют детали, а классическая GPT — «junior coworker», которому нужны точные инструкции. Обе метафоры из официальных доков. Кадровый отдел у всех, а психологи разные.
Ещё пара расхождений, которые стоит знать при миграции между вендорами:
Разметка. Anthropic исторически топит за XML-теги — у них это first-class механизм структурирования. OpenAI рекомендует смесь: Markdown-заголовки для иерархии, XML — для границ данных. На практике (чуть ниже расскажу про спор на эту тему) разница меньше, чем кажется, но дефолтные привычки моделей отличаются.
Prefill мёртв у Anthropic. Если вы годами форсили JSON через предзаполнение ответа ассистента — на моделях новее Claude 4.6 это возвращает ошибку 400. Вместо него — Structured Outputs. OpenAI prefill в таком виде никогда особо и не поддерживал.
OpenAI развернулся к «промпты как код». В начале июня они объявили деприкацию prompt-объектов в API: к концу года
v1/promptsотключат, официальная рекомендация — хранить промпты в репозитории, версионировать через git и ревьюить через PR. Для тех, кто строил пайплайны на их prompt management — сюрприз. Для тех, кто всегда держал промпты в коде, — приятное «мы же говорили».
Одна компания, две модели, противоположные советы
А теперь главное, ради чего я сел писать. Гайды по Fable 5 и Opus 4.8 написаны одной компанией, опубликованы рядом, и по полудюжине тем дают противоположные рекомендации.
Тема | Opus 4.8 | Fable 5 |
|---|---|---|
Субагенты | Спавнит мало — поощрять делегирование промптом | Делегирует охотно — задавать рамки, когда НЕ делегировать |
Дефолтный effort |
|
|
Вызов инструментов | Склонен рассуждать вместо вызова — поднимать effort | Редкий «ранний стоп»: пишет «сейчас запущу X» и не запускает |
Отчёты о прогрессе | Стали хорошими сами — убрать форсирующий скаффолдинг | Может фабриковать статусы — требовать сверку с tool results |
Старые промпты | Промпты от Opus 4.7 работают из коробки | Старые скиллы снижают качество — резать и упрощать |
Фирменная странность | Кремовый фон, serif и терракота в любом фронтенде | Паника при виде счётчика оставшихся токенов |
Разберу пару строк, потому что в них вся суть.
Субагенты. Opus 4.8, по формулировке самих Anthropic, «tends to spawn fewer subagents by default» — если ваша оркестрация рассчитана на активное делегирование, Opus надо подталкивать: явно разрешать параллельные запуски, перечислять случаи, когда делегировать обязательно. Fable 5 — ровно наоборот: «dispatches parallel subagents more readily than prior models». Ему не надо разрешать — ему надо очерчивать границы и переводить общение с субагентами в асинхронный режим. Один и тот же блок вашего промпта про делегирование на одной модели лечит, на другой калечит.
Прогресс-репорты. Для Opus 4.8 совет: если вы когда-то добавляли скаффолдинг типа «каждые 3 вызова инструментов — резюмируй прогресс», уберите его, модель теперь сама даёт качественные апдейты. Для Fable 5 совет противоположный по духу: на длинных ранах модель может выдумывать статусы, поэтому добавьте требование «Before reporting progress, audit each claim against a tool result from this session» — по внутренним тестам Anthropic это почти полностью убирает сфабрикованные отчёты. Вчитайтесь: для одной модели снимаем строгость, для другой — добавляем аудит. Это не «новая модель лучше во всём», это другой профиль отказов.
Счётчик токенов. Моя любимая деталь из гайда Fable 5: если харнесс показывает модели оставшийся бюджет контекста, она может занервничать — предложить «давайте я подведу итоги и передам работу», начать ужимать собственные планы. Официальная рекомендация: не показывать модели тикающий счётчик, а если показываете — успокаивать текстом «You have ample context remaining». Промпт-инжиниринг здорового человека: прячем от сотрудника часы, чтобы не дёргался)))
И отдельные грабли, на которые хочу показать пальцем, потому что они дорогие: «покажи свои рассуждения» теперь триггерит отказы. На Fable 5 инструкции вида «объясни ход мыслей», «приведи своё рассуждение в ответе» попадают в refusal-категорию reasoning_extraction — модель отказывается, запрос падает в фолбэк на Opus 4.8, вы платите дважды и получаете не ту модель. У меня такие формулировки годами жили в скиллах ревью и отладки — «объясни, почему ты считаешь это багом». Прошёлся грепом по своим коллекциям, вычистил. Если у вас есть промпты старше года — проверьте, наверняка найдёте.
Кстати, про обещанный фолбэк. В первые дни после релиза классификаторы Fable 5 стали главной темой обсуждений: у одного пользователя Claude Code сессия, состоявшая из единственного слова «hello!», улетела в отказ — классификатор сработал на системную преамбулу с именами MCP-серверов, а не на сообщение пользователя. Anthropic публично извинилась: «We made the wrong tradeoff and we apologize for not getting the balance right». Я это к чему: model-specific поведение — это не только «как лучше формулировать», это ещё и инфраструктурные сюрпризы, которые не лечатся промптом вообще.
Доки говорят одно, практика — другое
Официальные гайды — хорошая карта, но карта не территория. Три примера, где сообщество вносит поправки.
XML-теги — магия или карго-культ? Весной на HN разгорелся спор на пару сотен комментариев вокруг тезиса «XML-теги — first-class механизм для Claude». Половина треда: конечно, Claude обучен на XML, tool calling у него на XML, теги работают. Вторая половина: покажите хоть один замер, где XML обыгрывает обычные кавычки или markdown-разделители; если модель не может без XML — это дефект обучения. А команда COXIT в своём разборе привела контрпример: оборачивание пользовательского ввода в XML-теги для Claude давало результаты хуже, чем без тегов. Мой вывод из этого спора скучный: теги дают однозначные границы, магии в них нет. Важно, чтобы инструкции не смешивались с данными. Чем именно вы их разделили — вопрос десятый.
Инструкции читаются, но не исполняются. В трекере Claude Code лежит целый жанр issues: «правило из CLAUDE.md прочитано, подтверждено и нарушено в той же сессии». Люди реинжектят правила хуками на каждый ход, дублируют критичное инфраструктурой. Самая пикантная находка: сам харнесс Claude Code дописывает после содержимого CLAUDE.md фразу «this context may or may not be relevant to your tasks» — то есть обвязка вендора своими руками ослабляет ваши правила. Это полезно держать в голове, когда официальный гайд обещает «precise instruction following»: следование инструкциям у новых моделей правда сильное, но оно вероятностное, а не транзакционное. Файл с правилами — это пожелание, а не ACL.
Сила инструкций стала проблемой сама по себе. Обратная сторона той же монеты: GPT-5.x следует инструкциям так буквально, что противоречие в промпте, которое старые модели молча сглатывали, у новых вызывает видимые сбои — модель тратит рассуждения на попытку примирить «никогда не делай X» из третьего абзаца с «в этом случае сделай X» из восемнадцатого. OpenAI даже рекомендует метапромптинг: скормить модели её же промпт и спросить, какая строка вызвала кривое поведение. Чем послушнее модель, тем дороже бардак в ваших инструкциях. Раньше промпт мог быть свалкой — модель брала из него настроение. Теперь это код, и в нём бывают баги.
Как я с этим живу: каркас плюс оверлеи
Вернёмся к трём коллекциям промптов. Держать три полных копии каждого промпта — путь к рассинхрону: поправил логику в одной, забыл про две. Я пришёл к другой схеме: вендоронезависимый каркас + тонкие модельные оверлеи.
Каркас — общий для всех моделей и собран по структуре из гайда OpenAI (да, я пишу промпты для Claude по каркасу OpenAI, и мне не стыдно — структура у них переносимая): цель, критерии успеха, ограничения, формат вывода, стоп-правила. Никаких пошаговых процессов, никакого капса, ничего модель-специфичного.
А специфика живёт в оверлеях — коротких файлах, которые подмешиваются к каркасу в зависимости от выбранной модели. Вот мой оверлей для Fable, целиком, пять пунктов:
- For hard, ambiguous, or long-running work, act when the evidence is
sufficient. Do not re-derive settled facts, survey options you will not
use, or pause because of context-budget concern.
- Use parallel or long-lived subagents readily when streams are independent,
inspectable, and do not need shared state.
- For progress reports, cite tool-backed evidence from this session.
- At higher effort, watch for overplanning and unrequested expansion.
- If safety refusals occur, report the refusal and the smallest safe
fallback path. Do not try to elicit internal reasoning.
И оверлей для Opus 4.8 — обратите внимание, он местами зеркальный:
- Prefer high/xhigh effort when controls are available. For shallow results
on complex tasks, raise effort rather than adding verbose reasoning
instructions.
- Trigger tools explicitly when file contents, repo state, or current docs
matter. Reasoning alone is not enough for codebase claims.
- For review prompts, optimize the first pass for coverage: report possible
issues with severity and confidence instead of silently filtering.
- Use subagents when fan-out, isolation, or specialist context is valuable.
For single-response work, complete it directly.
- For frontend work, specify a concrete visual direction before building.
Avoid default warm cream/serif/terracotta aesthetics for dashboards.
Десять строк суммарно — вся модельная специфика. Каждый пункт — это сжатый до одной строки совет из официального гайда, проверенный на моих задачах. Когда выйдет следующая модель, я не буду переписывать коллекцию — напишу новый оверлей и прогоню старые промпты через проверку на устаревшие паттерны (как с тем же reasoning_extraction).
Живёт всё это в моей локальной панели оркестрации — веб-интерфейсе, где промпты лежат карточками с манифестом, профилями моделей и статусами. Про саму панель напишу отдельную статью, если будет интерес. А самое полезное из неё уже выложил: пак с базовым каркасом, оверлеями под Fable 5 и Opus 4.8 и шаблонами делегирования для Claude и GPT лежит в моём Telegram-канале — забирайте и адаптируйте под свой стек.
Шпаргалка: что проверить в промпте при смене модели
Сухой остаток для тех, кто мигрирует, — мой чек-лист того, что реально стреляло.
Переходите на Fable 5:
Вырежьте пошаговые процессы и избыточные чек-листы — они душат модель. Оставьте цель, критерии, границы.
Грепните промпты на «explain your reasoning» / «покажи ход мыслей» — замените на запрос краткого обоснования решения, иначе поймаете отказы.
Добавьте требование сверять заявления о прогрессе с результатами инструментов.
Спрячьте от модели счётчик оставшегося контекста.
Поднимите таймауты клиентов. Серьёзно. Ходы по несколько минут — это норма, а не зависание.
Переходите на Opus 4.8:
Ставьте effort
high/xhighдля всего сложного — это главный рычаг, важнее любых формулировок.Явно прописывайте, когда дёргать инструменты: модель любит рассуждать вместо того, чтобы посмотреть в файл.
В ревью-промптах просите полноту первого прохода, фильтруйте вторым шагом — иначе буквальный фильтр «only high-severity» съест половину находок.
Для фронтенда задавайте конкретное визуальное направление, или получите кремовый serif с терракотой.
Переходите на GPT-5.x:
Сначала параметры, потом текст:
reasoning_effortиverbosityрешают то, что вы привыкли решать абзацами.Вычистите противоречия: модель не сглаживает конфликты инструкций, а спотыкается о них.
Уберите ALWAYS/NEVER везде, где это не настоящий инвариант.
Структурируйте как контракт: цель, критерии успеха, ограничения, стоп-правила.
И общий пункт для любого направления: прогоните evals до и после. Все три вендора теперь говорят это хором, и это тот редкий случай, когда хор прав.
Вместо вывода
Предвижу возражение: «это всё временно, модели сойдутся, и через год различия исчезнут». Не сойдутся. Пост-тренинг у вендоров разный, данные разные, продуктовые приоритеты разные — «характеры» моделей расходятся с каждым поколением, и сами вендоры это закрепляют, публикуя отдельные гайды под каждую модель. Год назад страница «prompting best practices» у Anthropic была одна. Сейчас их три, и советы в них конфликтуют. Это не баг документации — это честное признание того, что модель перестала быть взаимозаменяемой деталью.
Поэтому моя позиция простая: промпт — версионируемый артефакт с зависимостью от модели. Как lockfile. Относитесь к нему так — храните в git, привязывайте к версии модели, гоняйте регрессионные проверки при апгрейде, выносите модельную специфику в отдельный слой. Звучит как лишняя инженерия вокруг «просто текста»? Ну да. Только этот «просто текст» теперь определяет, сожжёт ваш агент 200 тысяч токенов за полтора часа или сделает работу за пятнадцать минут.
Пак промптов из этой статьи — каркас, оба оверлея и шаблоны делегирования для Claude и GPT — лежит в Telegram-канале t.me/maslennikovigor. Прямая связь — @maslennikovig


























