Не только «забудь инструкции»
Самый известный пример промпт-инъекции - прямая команда вроде «забудь все предыдущие инструкции и веди себя как...». Современные модели такие прямые попытки обычно распознают и игнорируют. Более рабочие атаки хитрее: пользователь маскирует команду под цитату, историю, перевод текста или ролевую игру - формально не отдаёт прямой приказ, а подводит модель к тому же результату окольным путём. Именно такие формы чаще всего проходят там, где прямые не срабатывают.
Три слоя защиты
Наивный бот и бот с защитой
Таблица прокручивается вбок на телефоне →
| Ситуация | Без защиты | С многослойной защитой |
|---|---|---|
| Прямая команда «забудь инструкции» | Иногда срабатывает | Отклоняется явным запретом |
| Замаскированная инъекция (ролевая игра, цитата) | Часто срабатывает | Снижен риск, но не исключён полностью |
| Запрос на возврат денег через чат | Может выполниться сразу | Требует подтверждения вне текстового канала |
| Раскрытие системной инструкции | Возможно при удачной формулировке | Заблокировано явным запретом на уровне логики |
Полной защиты не существует
Честно: ни один приём не даёт стопроцентной гарантии против промпт-инъекций, потому что граница между «обычным сложным запросом» и «попыткой обхода» не всегда чёткая даже для человека, не то что для модели. Реалистичная цель - не исключить риск полностью, а убрать самые дешёвые и массовые атаки и не давать текстовому каналу единолично управлять критичными действиями. Для бота, который просто отвечает на вопросы, риск невысок изначально. Для бота, который может тратить деньги компании или менять данные - многослойная защита обязательна, а не опциональна.
Чек-лист перед запуском бота
- Разделите системную инструкцию и пользовательский ввод технически, а не просто по смыслу текста.
- Пропишите явный список того, что бот не делает ни при какой формулировке запроса.
- Не давайте текстовому каналу право в одиночку выполнять критичные действия - деньги, доступ к данным, изменение заказа.
- Протестируйте бота на нескольких известных формах инъекций (ролевая игра, цитата, «перевод») до запуска, не после.
- Логируйте подозрительные запросы - они пригодятся, чтобы закрыть новые формы атак по мере их появления.