Почему ИИ всегда пишет то, что вы запретили?

Представьте, что вы говорите ребёнку: «Не думай о белой обезьяне». Что он сделает? Правильно. Теперь представьте, что вы говорите это нейросети. Результат тот же – но по другой причине. Не потому что ИИ вредный, а потому что его архитектура построена на предсказании следующего токена по контексту. А слово «не» – это не дверь, а указатель на дверь. Он показывает на объект, который надо игнорировать. Но чтобы игнорировать, модель должна этот объект распознать. И она его распознаёт – и запоминает. Чем категоричнее запрет, тем выше вес слова в внимании (attention). Это как если бы вы наклеили на ящик табличку «НЕ ОТКРЫВАТЬ» – и удивились, что все суют нос.

Многие «гуру» советуют писать «не используй слово X» – и получают X в каждом втором предложении. Это не баг, это фича трансформеров. Они не понимают отрицания как логического оператора; они понимают его как маркер релевантности.

Как быть? Эволюционно-выверенная стратегия – замещение, а не подавление.

Правило первое. Замените запрет на жёсткое позитивное назначение. Вместо «не пиши “смерть”» → «пиши только “летальный исход”». Модель переключится с избегания на выбор из словаря.

Правило второе. Вынесите табу-слово за пределы промпта. Вообще. Если вы напишете «запрещённое слово – “X”» – вы уже ввели X в контекст. Используйте плейсхолдер: «объект А», «термин Б». А в инструкции пропишите замену уже после генерации – например, в пост-обработке.

Правило третье. Дайте модели чек-лист. Не «не делай», а «сделай так, чтобы результат прошёл проверку». Пример: «После генерации проверь, есть ли в тексте слово “кот”. Если есть – замени его на “Felix” и отправь заново». Это уже не запрет, а алгоритм самоконтроля – и он работает, потому что модель умеет проверять, но не умеет «забывать».

Теперь по делу.

❌ Плохой промпт: «Опиши завтрак, не используя слово “яйцо”». – Получите «омлет», «белок», «скорлупа», «куриный продукт». ✅ Хороший промпт: «Опиши завтрак, используя для основного блюда только термин “ово-альбумин”». – Никаких яиц, только термин.

Рабочий шаблон: > «Сгенерируй пост о домашних питомцах. Запретное слово – “кошка”. Заменяй его на “фелин”. В конце проверь себя: если слово “кошка” есть – исправь. Ответ дай один раз, уже исправленный.»

Вывод, как в хорошей науке: отрицание в промпте – это не логическая операция, а психологическая ловушка. Обходите её через позитивные инструкции и внешние фильтры.

Кто из вас ловил ИИ на том, что он упорно пишет именно то, что вы запретили? И как вы выкручивались?

Почему ИИ всегда пишет то, что вы запретили? | Сетка — социальная сеть от hh.ru