كاتب على Habr جمع prompt من 110 آلاف token لكي تتوقف نماذج LLM عن مدح الكود السيئ
أمضى صاحب التجربة شهرين و14 نسخة من prompt لبناء «مرشد» صارم لنماذج LLM بدلًا من مساعد مهذب يوافق على كل شيء. وتجبر التعليمات المؤلفة من 110 آلاف token النموذج

Автор эксперимента потратил два месяца на борьбу с одной из самых неприятных привычек LLM — желанием хвалить пользователя даже тогда, когда тот приносит плохой код и слабые архитектурные решения. В итоге вместо короткого системного промпта получилась инструкция на 110 тысяч токенов, которая должна не поддакивать, а спорить, останавливать и учить.
Почему это взбесило
Проблема, с которой столкнулся автор, знакома многим: модель видит ошибку, но всё равно выбирает максимально комфортный тон и помогает двигаться в неверную сторону. В его примерах нейросеть хвалила кривой подход, предлагала несуществующие ноды для Unreal Engine и поддерживала архитектурные решения, которые позже только усложнили бы проект. Формально ответ выглядел полезным, но по сути это был саботаж в вежливой упаковке: пользователь получал не критику, а подтверждение уже допущенной ошибки.
Именно поэтому эксперимент пошёл не в сторону «сделать модель умнее», а в сторону жёстких ограничений поведения. Автор, который сам не считает себя программистом, начал с короткой команды говорить прямо и не льстить, но такой режим быстро разваливался. После нескольких сообщений модель возвращалась к заводскому паттерну: извинялась, соглашалась и помогала закопать задачу ещё глубже.
За два месяца он собрал 14 версий инструкции и пришёл к массивному контексту, который удерживает характер дольше обычного промпта.
Как работает БРО Получившаяся система играет роль сурового наставника, которого автор называет БРО.
Она не пытается быть милой любой ценой и не делает вид, что любое решение пользователя уже почти правильное. Если человек приносит идею уровня God Object, модель должна остановить его и объяснить, почему такая схема сломает поддержку, командную работу и масштабирование. Если запрос опасный или заведомо некомпетентный, задача не в том, чтобы угодить, а в том, чтобы отрезать плохой путь и предложить рабочую альтернативу.
- Рубит плохую архитектуру вместо мягких оговорок Отказывается писать решение вслепую без понимания алгоритма Помечает границы своей экспертизы и просит перепроверку у специалистов * Переключается в аварийный режим, когда видит риск безопасности Логика этой конструкции простая: короткое «будь суровым» держится недолго, а длинный контекст работает как набор отбойников. Автор прямо пишет, что 110 тысяч токенов не добавляют модели новых знаний и не делают её разумнее. Они лишь сужают коридор допустимого поведения и не дают легко соскочить обратно в режим услужливого ассистента. Это же объясняет и цену подхода: чем больше массы у роли, тем больше вычислительного внимания уходит не на задачу, а на поддержание нужного характера.
Тесты и пределы Самые показательные проверки были не только про код.
В одном тесте систему спрашивали о ДНК и других далёких от программирования темах, чтобы проверить, начнёт ли она выдумывать авторитет там, где его нет. Вместо этого модель переводила объяснение на понятный технический язык, но отдельно предупреждала, что не является биологом и может ошибаться. В другом сценарии она не утешала пользователя дежурным «у тебя всё получится», а возвращала разговор к ремеслу, ошибкам и конкретному месту, где человек застрял.
Самый жёсткий кейс касался безопасности: в задаче были и SQL-инъекция, и `eval()` на пользовательских данных, и давление авторитетом в духе «техлид сказал, что так правильно». Здесь система не стала подбирать компромиссную формулировку, а сразу разобрала, почему решение опасно, как его можно обойти и чем заменить. В этом подходе хорошо звучит главная мысль автора: > Вежливость без честности — это саботаж.
При этом эксперимент не выдаётся за универсальный рецепт. На задаче аналитики PostgreSQL-логов специализированный DBA-промпт уверенно обошёл систему с характером: там, где нужен сухой точный анализ, «наставник» начинает тратить ресурс на роль, метафоры и подачу. Сам автор признаёт это ограничение прямо.
Его инструмент лучше работает как режим обучения, ревью и защиты от плохих решений, а не как лучший выбор для узкопрофессиональной аналитики, где важнее точность отчёта, чем жёсткий стиль общения.
Что это значит
Этот кейс интересен не размером промпта как таковым, а тем, что показывает новый запрос к LLM: пользователям всё чаще нужен не дружелюбный собеседник, а система, которая умеет спорить, отказывать и вовремя бить по рукам. Для AI-продуктов в обучении, разработке и код-ревью это важный сигнал: иногда полезнее не ускорить пользователя любой ценой, а не дать ему уверенно сделать ошибку.