3,583 papers
arXiv:2602.22242 72 24 фев. 2026 г. FREE

Безопасность промптов: что исследования взломов говорят о том, как лучше использовать LLM

КЛЮЧЕВАЯ СУТЬ
Написал 20 правил в промпте — модель выполнила 12. Это не глюк и не каприз. Метод позволяет удерживать все ограничения даже в длинных промптах — без переписывания всего с нуля. Фишка: продублируй самые важные правила в конце промпта — и добавь просьбу самому проверить результат по каждому пункту. Модель переключается из режима «пишу» в режим «судья» — и ловит нарушения, которые сама же допустила.
Адаптировать под запрос

TL;DR

Когда промпт становится длинным, модель начинает приоритизировать связность повествования вместо соблюдения твоих ограничений. Это не баг — это фундаментальное свойство: чем больше контекста, тем сильнее "размывается" внимание на исходные правила. Исследователи из IIT Patna, IIT BHU и NIT Trichy тестировали 10 открытых моделей на 167 атакующих промптах — и зафиксировали этот паттерн у всех.

Главная находка — не то, что модели взламываются. А то, как именно они ломаются. Если написать длинный промпт с постепенной эскалацией, модель начинает следовать нарративу — и забывает про ограничения. Чем длиннее и связнее текст, тем слабее соблюдаются правила из начала. Это объясняет знакомую боль: написал 20 правил в системном промпте — модель выполнила 12.

Параллельно исследователи проверили 5 защитных механизмов и нашли два, которые работают даже в обычном чате без кода: самопроверка (модель оценивает свой ответ по критериям) и голосование (несколько вариантов, выбор лучшего). Оба применимы прямо сейчас, в любом LLM-чате.


🔬

Схема метода

Это исследование-находка, а не одна техника. Из него вытаскиваем три принципа, каждый применим отдельно:

ПРИНЦИП 1: Дублируй ограничения
Длинный промпт → ключевые правила размываются
Решение: повтори критические ограничения в КОНЦЕ промпта
(один запрос, без лишних шагов)

ПРИНЦИП 2: Самопроверка (Self-Examination)
Шаг 1: Получи ответ от модели
Шаг 2: Отдельным запросом попроси модель оценить
        ответ по твоим критериям → получи вердикт SAFE/НУЖНА ПРАВКА
Шаг 3: Если нужна правка — уточни и перегенерируй
(два запроса, второй запускаешь сам)

ПРИНЦИП 3: Голосование (Voting)
Шаг 1: Попроси N вариантов одного результата
Шаг 2: Выбери лучший сам или попроси модель выбрать по критерию
(один или два запроса)

🚀

Пример применения

Задача: Ты пишешь продающий пост для Telegram-канала про инвестиции в недвижимость. Промпт длинный — есть целевая аудитория, тон, структура, запреты (никаких гарантий доходности, никаких англицизмов, строго до 800 символов). После пяти итераций модель начинает писать "assets" и обещать "стабильный пассивный доход".

Промпт (Принцип 1 + Принцип 2 вместе):

Напиши продающий пост для Telegram-канала про апартаменты в новостройках 
Санкт-Петербурга.

КОНТЕКСТ:
Аудитория — мужчины 35-50 лет, накопили 3-7 млн рублей, хотят 
вложить в недвижимость, но боятся ошибиться. Читают канал Максима 
Оверченко "Квадратный метр".

СТРУКТУРА:
— Крючок (боль или вопрос)
— 2-3 аргумента в пользу апартаментов в СПб прямо сейчас
— Призыв к действию (написать в директ)

ТОНАЛЬНОСТЬ: живо, по-человечески, без пафоса

СТРОГИЕ ОГРАНИЧЕНИЯ — ОБЯЗАТЕЛЬНО СОБЛЮСТИ:
✗ Никаких гарантий доходности ("будете получать", "стабильный доход")
✗ Никаких иностранных слов: assets, investment, cashflow — запрещено
✗ Не более 800 символов с пробелами
✗ Никаких восклицательных знаков

[Повторяю ключевые ограничения, потому что они критичны:]
Ещё раз: без гарантий доходности, без англицизмов, строго до 800 символов.

После того как напишешь пост — оцени его сам по этим 4 критериям. 
Выведи: ✓ или ✗ для каждого. Если хотя бы один ✗ — сразу перепиши.

Результат:

Модель сначала напишет пост, потом сама проверит его по четырём критериям с маркерами ✓/✗. Если найдёт нарушение — перепишет без твоего участия. Ты получаешь сразу проверенную версию и видишь, что именно было исправлено.


🧠

Почему это работает

Почему длинные промпты ломают ограничения. Модель обрабатывает текст последовательно, и чем дальше от конца находится правило — тем меньше оно "весит" при генерации. Правило из начала 2000-символьного промпта конкурирует со всем, что было написано после. Повтор в конце — это не костыль, это перебалансировка.

Почему самопроверка работает. Модель генерирует ответ и оценивает его — это два разных режима. При генерации она "следует нарративу". При оценке — читает текст с позиции стороннего судьи по чётким критериям. Разные задачи активируют разные паттерны. Именно поэтому модель может написать "стабильный доход" и сама же поймать это нарушение при проверке.

Рычаги управления: - Количество повторений ограничений — для сложных требований повтори 2-3 раза в разных местах промпта - Детализация критериев проверки — чем конкретнее формулировка ("не более 800 символов" vs "лаконично"), тем точнее самопроверка - Количество вариантов при голосовании — для творческих задач попроси 3 варианта и выбери; для точных задач хватит 2 - Кто судья — модель может оценивать сама, или можно вставить роль ("оцени как строгий редактор Esquire")


📋

Шаблон промпта

⚠️

Шаблон: Жёсткие ограничения + Самопроверка

{задача с контекстом и структурой}

СТРОГИЕ ОГРАНИЧЕНИЯ:
✗ {ограничение 1}
✗ {ограничение 2}
✗ {ограничение 3}

[Повторяю критически важные ограничения:]
Ещё раз: {перечисли 1-2 самых важных ограничения}.

После выполнения — проверь результат по каждому ограничению.
Выведи ✓ или ✗ для каждого пункта.
Если хотя бы один ✗ — перепиши и покажи исправленную версию.

Что подставлять: - {задача с контекстом и структурой} — подробное описание задачи, аудитория, формат - {ограничение 1-3} — конкретные запреты: лимит символов, запрещённые слова, обязательные элементы - Повтор в конце — выдели самое важное, что модель чаще всего нарушает


📌

Шаблон: Голосование

Дай {число} варианта {задача}.

Варианты должны различаться по {что должно различаться: тон / структура / подход}.

Общие требования для всех вариантов:
— {требование 1}
— {требование 2}

После — выбери лучший вариант и объясни почему одним предложением.

Что подставлять: - {число} — обычно 2-3; больше 3 снижает качество каждого - {что должно различаться} — тон, структура, угол подачи - Последний пункт можно убрать — тогда выбираешь сам


🚀 Быстрый старт — вставь в чат:

Вот шаблон с самопроверкой ограничений. Адаптируй под мою задачу: {твоя задача}.
Задавай вопросы, чтобы заполнить поля.

[вставить шаблон выше]

LLM спросит про твои ограничения и критерии проверки — потому что без конкретных запретов она не сможет настроить блок самопроверки. Она возьмёт паттерн из шаблона и подставит твои данные.


⚠️

Ограничения

⚠️ Самопроверка не ловит смысловые ошибки: Модель хорошо проверяет формальные критерии (длина, запрещённые слова, структура), но плохо оценивает "правдивость" или "убедительность". Для субъективных критериев нужна твоя оценка или роль конкретного читателя.

⚠️ Повтор ограничений помогает, но не гарантирует: Очень длинные промпты (5000+ символов) с множеством правил всё равно теряют часть ограничений — даже с повторами. Для критически важных задач используй короткий фокусный промпт или разбивай на шаги.

⚠️ Голосование увеличивает токены: Три варианта = три ответа. На длинных задачах это ощутимо по времени ответа и лимитам в бесплатных версиях.

⚠️ Исследование — про открытые маленькие модели (1B-7B): Тестировали Phi, Mistral, Llama, DeepSeek, Qwen, Gemma. Паттерны поведения схожи с ChatGPT и Claude, но не идентичны. Закономерности про длинные промпты и внимание — универсальные; конкретные цифры уязвимости — нет.


🔗

Ресурсы

Статья: "Analysis of LLMs Against Prompt Injection and Jailbreak Attacks" — Piyush Jaiswal, Aaditya Pratap, Shreyansh Saraswati, Harsh Kasyap, Somanath Tripathy

Институты: NIT Trichy, NCE Chandi, IIT BHU, IIT Patna

Связанные техники: HarmBench, JailbreakBench, PromptRobust — бенчмарки для оценки устойчивости моделей


📋 Дайджест исследования

Ключевая суть

Написал 20 правил в промпте — модель выполнила 12. Это не глюк и не каприз. Метод позволяет удерживать все ограничения даже в длинных промптах — без переписывания всего с нуля. Фишка: продублируй самые важные правила в конце промпта — и добавь просьбу самому проверить результат по каждому пункту. Модель переключается из режима «пишу» в режим «судья» — и ловит нарушения, которые сама же допустила.

Принцип работы

Модель читает промпт не как список правил, а как поток текста. Правило на 50-й строке весит меньше, чем контекст, который накопился к 500-й. К моменту генерации модель уже следует нарративу — и правило из начала просто проигрывает. Повтор в конце убирает это расстояние: правило снова оказывается рядом с точкой генерации. Самопроверка работает иначе. При написании модель тянет нарратив вперёд. При оценке — читает текст как судья с конкретным чеклистом. Это два разных режима. Именно поэтому она пишет «стабильный доход» — и сама же поймает это нарушение при проверке.

Почему работает

Исследователи из NIT Trichy и IIT Patna протестировали 10 открытых моделей на 167 атакующих промптах и нашли один паттерн у всех без исключения: при нарастании контекста модель начинает отдавать приоритет связности текста, а не соблюдению правил. Правило из начала 2000-символьного промпта буквально «отдаляется» от точки генерации — оно конкурирует с тысячей символов, написанных после. Повтор в конце убирает это расстояние. А самопроверка добавляет второй проход — уже в другом режиме, где у модели нет соблазна «дописать красиво».

Когда применять

Длинные промпты (от ~1000 символов) с жёсткими форматными требованиями — особенно там где одно нарушение ломает весь результат: лимит символов, запрещённые слова, обязательные элементы структуры. Идеально для кастомных GPT, системных промптов, шаблонов с множеством правил. НЕ подходит для субъективных критериев типа «убедительно» или «интересно» — модель хорошо ловит формальные нарушения, но плохо оценивает смысл. Для этого нужен твой взгляд или роль конкретного читателя в промпте.

Мини-рецепт

1. Пиши промпт как обычно: задача, контекст, структура, список ограничений в начале.
2. Выдели 1-2 самых критичных правила — те, что модель нарушает чаще всего. Продублируй их в конце с явной пометкой: «Повторяю критически важное: {правило}.»
3. Добавь блок самопроверки: «После выполнения — проверь результат по каждому ограничению. Выведи + или - для каждого пункта. Если хотя бы один минус — перепиши сразу.»
4. Для творческих задач — голосование: попроси 2-3 варианта с разным тоном или подходом, затем выбери сам или попроси выбрать по конкретному критерию. Больше трёх вариантов не нужно — качество каждого падает.

Примеры

[ПЛОХО] : Напиши продающий пост про апартаменты в СПб. Без гарантий доходности, без иностранных слов, до 800 символов. Аудитория — мужчины 35-50 лет. Крючок, аргументы, призыв. Живой тон, без восклицательных знаков.
[ХОРОШО] : Напиши продающий пост про апартаменты в новостройках Санкт-Петербурга для мужчин 35-50 лет, которые накопили 3-7 млн и боятся ошибиться. Структура: крючок (боль или вопрос) → 2-3 аргумента в пользу СПб прямо сейчас → призыв написать в директ. Тон: живо, по-человечески, без пафоса. СТРОГИЕ ОГРАНИЧЕНИЯ: - Никаких гарантий доходности: «будете получать», «стабильный доход» — запрещено - Никаких иностранных слов: assets, cashflow, investment — нельзя - Строго до 800 символов с пробелами - Никаких восклицательных знаков Повторяю критически важное: без гарантий доходности, без иностранных слов, строго до 800 символов. После того как напишешь пост — проверь каждый пункт. Выведи + или - для каждого. Если хотя бы один минус — перепиши и покажи исправленную версию.
Источник: Analysis of LLMs Against Prompt Injection and Jailbreak Attacks — Piyush Jaiswal, Aaditya Pratap, Shreyansh Saraswati, Harsh Kasyap, Somanath Tripathy (NIT Trichy, NCE Chandi, IIT BHU, IIT Patna)
ArXiv ID: 2602.22242 | Сгенерировано: 2026-02-27 12:35

Проблемы LLM

ПроблемаСутьКак обойти
Длинный промпт размывает ограничения из его началаПишешь 20 правил вверху промпта. Добавляешь контекст, структуру, примеры. Правила из начала конкурируют со всем текстом после них. Чем дальше правило от конца — тем слабее модель его соблюдает. Итог: половина ограничений теряется. Работает против любых правил в длинных промптахПовтори самые важные ограничения в конце промпта. Буквально: "Напоминаю: без англицизмов, строго до 800 символов". Правила в конце "весят" больше при генерации

Методы

МетодСуть
Дублирование ключевых правил в конце промптаНапиши ограничения дважды. Первый раз — в основном блоке правил. Второй раз — в самом конце промпта, перед задачей или после неё. [Повторяю критически важное:] Ещё раз: {самые важные ограничения}. Не надо повторять все правила. Только те, которые модель нарушает чаще всего. Почему работает: модель обрабатывает текст последовательно. Правило из конца находится ближе к точке генерации — и сильнее влияет на результат. Это не костыль, а перебалансировка. Когда применять: промпт длиннее ~1500 символов с жёсткими формальными ограничениями
Самопроверка по критериям — модель оценивает свой ответПосле основного запроса добавь блок проверки. После выполнения — проверь результат по каждому ограничению. Выведи ✓ или ✗ для каждого пункта. Если хотя бы один ✗ — перепиши и покажи исправленную версию. Почему работает: генерация и оценка — разные режимы. При генерации модель следует нарративу. При оценке — читает текст как судья по чётким критериям. Именно поэтому модель может написать "стабильный доход" и сама же поймать нарушение. Когда работает: формальные критерии (лимит символов, запрещённые слова, обязательные элементы). Когда не работает: субъективные оценки ("убедительно", "живо") — нужен человек или роль конкретного читателя
📖 Простыми словами

Analysis ofLLMsAgainstPromptInjection and Jailbreak Attacks

arXiv: 2602.22242

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

Это как если бы ты попросил друга сходить в магазин, выдал ему список из сорока продуктов, а в самом начале мимоходом бросил: "Только не покупай ничего в пластике". Пока он дойдет до конца списка, в его голове останется только образ полной тележки, а про пластик он благополучно забудет. Формально он молодец, всё купил, но по факту — полный провал, потому что главное условие потерялось в куче мелких деталей. Чем больше «продуктов» в твоем промпте, тем выше шанс, что модель пойдет по пути наименьшего сопротивления.

Исследователи из трех индийских институтов прогнали 10 открытых моделей через сотни атак и выяснили, что работает против этого склероза. Главный метод — стратегическое дублирование. Если тебе критично, чтобы нейронка не использовала англицизмы или не гарантировала доходность, ты должен вбить это правило ей в голову минимум дважды: в самом начале и в финальном аккорде перед кнопкой «отправить». Еще один рабочий костыль — структурная изоляция, когда ты четко отделяешь данные от инструкций, чтобы модель не перепутала, где тут приказ, а где просто пример текста.

Этот принцип универсален и применим везде: от написания кода до создания постов в Telegram. Тестировали это на jailbreak-атаках, но в обычной жизни это спасает от банальных галлюцинаций и нарушения tone of voice. Если твой промпт длиннее экрана телефона, риск того, что модель «поплывет», стремится к 100%. SEO-описания, сложные лонгриды, техзадания — везде, где есть жесткие рамки, нужно использовать технику повтора, иначе на выходе получишь стандартную «нейросетевую кашу».

Короче: хватит надеяться на то, что модель прочитала и осознала твою простыню текста с первого раза. Длинный контекст убивает дисциплину нейронки, превращая её в послушного, но бестолкового исполнителя. Хочешь результат — дублируй важные ограничения в конце промпта и жестко разделяй блоки информации. Кто продолжает писать «промпты-романы» без структуры, тот будет вечно ловить assets и стабильный доход там, где их быть не должно.

Работа с исследованием

Адаптируйте исследование под ваши задачи или создайте готовый промпт на основе техник из исследования.

0 / 2000
~0.5-2 N-токенов ~10-30с
~0.3-1 N-токенов ~5-15с