Чому ШІ робить саме те, що ви заборонили
Я впевнена, що кожен хоч раз хотів викинути ноутбук, коли КАПСОМ просив у LLM чогось НЕ РОБИТИ, а вона за першої ж нагоди саме це й робила.
Здається, що ШІ не хоче вас слухати. Насправді найбільша помилка тут у нас: ми пишемо, чого робити не можна, і чекаємо, що модель сама здогадається, що зробити натомість. То як правильно працювати з негативним, або заперечним, промптом?
Почнемо з того, що це таке
Заперечний, або негативний, промпт - це інструкція, яка описує, чого модель робити не повинна. Його можна впізнати за словами «не», «ніколи», «без», «уникай», «заборонено».
У генераторах картинок для цього часто є окреме поле. У текстових чатах окремого поля немає.
Заборони самі по собі не погані. У системних промптах Claude, які публікує Anthropic, їх багато. Але заборона прибирає один варіант із сотні й лишає моделі вгадувати решту, тому замість того, щоб писати, чого не робити, кажіть, що робити.
Заборони, які не спрацьовують
- Названо заборонене слово. Наприклад, «Не згадуй [назва конкурента]». Слово вже стоїть у промпті й тягне відповідь до себе.
- Заборонено найочевиднішу відповідь. «Напиши про ШІ без слова „революційний“». Чим природніше слово для теми, тим частіше воно прориватиметься.
- Занадто загальні заборони: «Не вигадуй», «Не роби припущень». Через них модель може перестати робити навіть потрібні висновки й базову арифметику.
- Стиль через заперечення: «Не пиши як ШІ», «Не будь занадто формальним». Заборона прибирає один варіант і не називає потрібного, тож модель вгадує і все одно пише як ШІ. Іронічно ж.
- Судження без критерію: «Не звертай уваги на дрібні ризики». Що таке «дрібний», модель не знає. Така заборона спрацює так само, як відсутність будь-якої інструкції.
- Без альтернативи: «Не питай у клієнта пароль». Модель знає, чого робити не можна, але не знає, як допомогти.
- Без причини: «Ніколи не став три крапки». За даними Anthropic, з поясненням «бо текст читатиме голосовий робот» модель краще розуміє правило й сама уникає схожого.
- Капс і тиск: «КРИТИЧНО: НІКОЛИ…». За даними Anthropic, моделі Claude, починаючи з Opus 4.5, чутливіші до інструкцій і від агресивних формулювань можуть «перестаратися».
- Заборона на початку довгого промпту. У складних запитах модель може «загубити» заборону, якщо вона стоїть на самому початку.
А як щодо системного промпту
Часто кажуть: «У системному промпті заборони працюють, у звичайному повідомленні - ні». Але я ніде не знайшла цьому підтвердження: ні в гайдах Anthropic, ні в OpenAI, ні в Google такого правила немає, їхні поради щодо заборон однакові для будь-якого місця. Тут так само все залежить від формулювання.
Якщо без заборони ніяк
Бувають речі, які треба заборонити прямо: обіцянки знижок і компенсацій, юридичні гарантії, персональні дані клієнтів. Найкраще працює так: після кожної заборони - що робити натомість; до кожної - одне речення «бо…»; винятки - через «якщо»; у довгому промпті - в кінці; звичайним тоном, без капсу. Замість прикметника використовуйте цифру: не «не пиши задовго», а «напиши 3-5 речень». Дайте приклад і дозвольте моделі сказати «не знаю» (так і пишемо в промпті).
Кожне «не» в промпті - це питання до вас: а що тоді робити? Відповіли в промпті - модель зробить. Лишили без відповіді - вгадуватиме.