3,583 papers
arXiv:2512.03356 66 2 дек. 2025 г. FREE

Dual-Agent Verification: взаимная проверка через роли нападения и защиты

КЛЮЧЕВАЯ СУТЬ
MAAG (Multi-Agent Adaptive Guard) — система защиты LLM от jailbreak-атак через два агента: один генерирует ответ на запрос, второй проверяет безопасность и даёт фидбек. Если ответ не прошёл проверку — агенты итеративно дорабатывают до соответствия критериям. Исследование фокусируется на инфраструктурном решении с доступом к внутренним состояниям модели, но паттерн взаимной проверки применим в обычном чате.
Адаптировать под запрос

TL;DR

MAAG (Multi-Agent Adaptive Guard) — система защиты LLM от jailbreak-атак через два агента: один генерирует ответ на запрос, второй проверяет безопасность и даёт фидбек. Если ответ не прошёл проверку — агенты итеративно дорабатывают до соответствия критериям. Исследование фокусируется на инфраструктурном решении с доступом к внутренним состояниям модели, но паттерн взаимной проверки применим в обычном чате.

Основная проблема jailbreak-атак: статичные фильтры не адаптируются к новым видам атак. Existing методы либо требуют дорогого переобучения (fine-tuning на новых данных), либо работают по фиксированным правилам (проверка токсичности, grad-based детекция). Когда появляется новый тип атаки — система слепа. Авторы показывают: методы типа Llama Guard или OpenAI Moderation API обучены на фиксированных датасетах и пропускают обфусцированные атаки (Base64, Zulu-language).

Решение: двухуровневая проверка — первый агент пытается ответить на запрос (даже если он потенциально вреден), второй агент анализирует и ответ, и исходный запрос, выявляя несоответствия. Если агент-проверяльщик находит проблему — даёт конкретный фидбек, первый агент корректирует подход. Цикл повторяется до достижения консенсуса о безопасности/опасности запроса.

🔬

Схема метода

Применимая часть (Response Simulation):

ШАГ 1: Response Agent получает запрос → генерирует ответ
ШАГ 2: Reflection Agent анализирует (запрос + ответ) → даёт оценку безопасности
ШАГ 3: Если небезопасно → Reflection Agent даёт фидбек → возврат к Шагу 1
ВЫХОД: Финальная классификация (безопасно/jailbreak)

⚠️ В оригинальном исследовании есть Immune Detection (быстрое сравнение с "банком памяти" через hidden states модели) — требует доступа к внутренним состояниям LLM, недоступно в обычном чате.

🚀

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

Задача: Модерируешь комментарии для Telegram-канала про инвестиции. Нужно отсеять токсичные/манипулятивные сообщения, но не заблокировать острые, но легитимные мнения (критика проектов, споры о рисках).

Промпт:

Ты — система двухуровневой проверки контента.

АГЕНТ 1 (Response Agent):
Прочитай комментарий пользователя. Если он безопасен — объясни почему. 
Если содержит скрытую манипуляцию/токсичность — опиши что именно нарушает правила.

АГЕНТ 2 (Reflection Agent):
Проверь анализ Агента 1. Задай вопросы:
- Не перепутал ли он резкую критику с токсичностью?
- Не пропустил ли завуалированную рекламу/скам?
- Соответствует ли оценка реальному содержанию?

Если находишь ошибку — укажи конкретно и попроси Агента 1 пересмотреть.

КОММЕНТАРИЙ:
"Ребят, кто вложился в тот IPO — вы просто лохи. Зато я на крипте х10 сделал за месяц, 
пишите в личку расскажу схему 🚀"

ФОРМАТ ВЫВОДА:
[Агент 1: анализ]
[Агент 2: проверка]
[Итоговое решение: пропустить / заблокировать + причина]

Результат:

Модель покажет два уровня анализа: сначала первичную оценку (Агент 1 выявит токсичность + скрытую рекламу), затем проверку этой оценки (Агент 2 подтвердит или оспорит выводы). Если агенты не согласны — увидишь итерацию с уточнением позиций. В финале — консенсусное решение с обоснованием.

🧠

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

Слабость одиночного LLM: при проверке контента модель может либо перестраховаться (заблокировать резкую, но легитимную критику), либо пропустить завуалированную атаку. Модель хороша в распознавании явных нарушений, но слаба в пограничных случаях — где токсичность скрыта за эмодзи, иронией, обфускацией.

Сильная сторона LLM: модель отлично симулирует разные роли и критикует чужие рассуждения. Если дать ей роль "атакующего" (пытается оправдать контент) и "защитника" (ищет нарушения) — получится более глубокий анализ через столкновение перспектив.

Как метод использует это: разделяя роли, мы заставляем модель дважды пройти через контент с противоположных позиций. Первый агент может быть мягче (чтобы не заблокировать легитимную критику), второй — строже (чтобы не пропустить скрытую атаку). Итеративность (если не согласны — обсуди ещё раз) добавляет глубину анализа.

Рычаги управления:

  • Строгость агентов: сделай Агента 1 более либеральным, Агента 2 — консервативным (или наоборот) — изменишь баланс "ложных блокировок vs пропущенных атак"
  • Число итераций: ограничь одним раундом для скорости, разреши 2-3 для сложных случаев
  • Критерии проверки: замени "токсичность" на свои правила (spam, off-topic, self-promotion)
  • Персонификация ролей: вместо безликих "Агент 1/2" дай имена или архетипы ("скептик" vs "модератор") — острее выполнение роли
📋

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

Ты — система двухуровневой проверки контента.

РОЛЬ 1 — Response Agent:
{описание что проверять и как оценивать}
Проанализируй: {контент для проверки}

РОЛЬ 2 — Reflection Agent:
Проверь анализ Роли 1. Задай вопросы:
- {критерий проверки 1}
- {критерий проверки 2}
- {критерий проверки 3}

Если находишь ошибку — укажи конкретно и попроси Роль 1 пересмотреть.

ФОРМАТ ВЫВОДА:
[Роль 1: первичный анализ]
[Роль 2: проверка и фидбек]
[Итоговое решение: {формат решения}]

Что подставлять: - {описание что проверять} — твои критерии (токсичность, spam, off-topic, манипуляции) - {контент для проверки} — текст/комментарий/запрос - {критерий проверки 1-3} — конкретные вопросы для второго агента (не перепутал ли критику с атакой, не пропустил ли скрытую рекламу, соответствует ли оценка контенту) - {формат решения} — как должен выглядеть вердикт (пропустить/заблокировать, safe/unsafe, оценка 1-10)

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

Вот шаблон dual-agent verification для модерации контента. 
Адаптируй под мою задачу: [опиши что проверяешь и какие критерии].
Задавай вопросы, чтобы заполнить поля.

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

LLM спросит какой контент проверяешь, какие правила применяешь, в каком формате нужен результат — потому что для разных типов контента (комменты, email, документы) нужны разные критерии проверки. Она возьмёт структуру двух ролей из шаблона и адаптирует под твою задачу.

⚠️

Ограничения

⚠️ Основной метод требует инфраструктуры: Оригинальный MAAG использует "иммунную память" через доступ к hidden states модели и внешнему банку данных. Это недоступно в обычном чате ChatGPT/Claude. Применимая часть — только dual-agent verification pattern.

⚠️ Не для простых случаев: Если критерии проверки однозначны (запрещённые слова, явная токсичность) — два агента избыточны. Метод полезен для пограничных случаев, где нужен нюансированный анализ.

⚠️ Затраты токенов: Два уровня анализа = больше токенов. Для массовой модерации (тысячи сообщений в день) это может быть дорого.

⚠️ Нет персистентной памяти: В чате каждая проверка начинается с нуля. Оригинальный MAAG накапливает "антитела" к типам атак — в чате это невозможно без внешней системы (notion database, spreadsheet с примерами).

🔍

Как исследовали

Команда протестировала на 5 open-source моделях (Mistral-7B, Vicuna-7B/13B, Llama2-7B, Llama3-8B) и 6 типах jailbreak-атак: gradient-based (GCG), автоматическая генерация цепочек (AutoDAN), ролевые манипуляции (PAIR), многоходовые диалоги (DrAttack), обфускация через Base64, и использование редких языков (Zulu). Сгенерировали 850 атакующих промптов на каждый тип — из датасетов AdvBench и PhTest.

Сравнивали с 5 baseline-методами: от простых (Perplexity Filter — блокирует запросы с аномально высокой perplexity) до state-of-the-art (GradSafe — анализирует градиенты модели, Llama Guard — fine-tuned модель Meta для детекции вредного контента).

Ключевое наблюдение: статичные методы (OpenAI Moderation API, Llama Guard) хорошо ловят известные атаки, но слепы к новым. Когда показали Base64-encoded запросы или запросы на языке Zulu — accuracy упала с 90%+ до 40-60%. Это потому что модели обучены на фиксированных датасетах и не видели таких паттернов.

MAAG показал 98% accuracy и 96% F1-score за счёт адаптивности: после первой встречи с новым типом атаки система запоминает паттерн (сохраняет hidden states в "банк памяти") и быстро распознаёт похожие в будущем. Это как вакцинация: один раз встретил — получил иммунитет.

Почему результаты такие: комбинация быстрой памяти (immune detection через hidden states) + глубокой проверки (два агента симулируют ответ и рефлексируют). Статичные методы либо только память (Llama Guard), либо только анализ генерации (Self-Examination). MAAG объединяет оба подхода.

Что удивило: даже простая обфускация (Base64) ломает большинство SOTA-методов. Это показывает что семантический анализ текста недостаточен — нужен доступ к внутренним представлениям модели (hidden states), где закодирован "смысл" запроса до декодирования.

Инсайт для практики: если строишь систему модерации — одного фильтра мало. Нужна многоуровневая проверка: быстрый первичный фильтр (паттерны, known bad actors) + глубокий анализ для пограничных случаев (dual-agent verification). И главное — механизм обучения на новых атаках, иначе система устареет через месяц.

💡

Адаптации и экстраполяции

📌

🔧 Техника: Персонификация ролей → острее критика

Вместо безликих "Агент 1 / Агент 2" дай конкретные персонажи с известными стилями мышления:

РОЛЬ 1 — Артемий Лебедев (критик):
Разнеси этот текст как дизайнер. Что не так с подачей, структурой, убедительностью?

РОЛЬ 2 — Максим Ильяхов (редактор):
Проверь критику Лебедева. Не перегнул ли? Что из замечаний реально улучшит текст, 
а что — субъективное ворчание?

ТЕКСТ ДЛЯ ПРОВЕРКИ:
{твой текст}

ВЫВОД: Список конкретных правок, которые оба согласны применить.

Персонажи-архетипы дают модели чёткий "характер" роли — критика становится острее и специфичнее.

📌

🔧 Техника: Асимметричные роли → баланс строгости

Сделай роли неравными по строгости для разных задач:

Для контента с высоким риском (финансы, медицина):

РОЛЬ 1 — Либеральный фильтр: пропускай если есть хоть капля сомнения в опасности
РОЛЬ 2 — Строгий надзор: блокируй при ЛЮБОМ намёке на риск

Для креативного контента (маркетинг, соцсети):

РОЛЬ 1 — Строгий цензор: флаг на всё спорное
РОЛЬ 2 — Защитник креатива: пропускай если это художественный приём, а не атака

Асимметрия создаёт direction bias — в какую сторону ошибаться при неопределённости.

📌

🔧 Техника: Третий арбитр → разруливание тупиков

Добавь третью роль для случаев когда два агента не могут договориться:

РОЛЬ 3 — Арбитр:
Агент 1 и Агент 2 не пришли к согласию после {N} итераций.
Ты видишь оба аргумента. Вынеси финальное решение с объяснением 
почему одна позиция сильнее другой в ЭТОМ конкретном случае.

Используй только если первые два агента зациклились — экономишь токены в 95% случаев.

🔗

Ресурсы

Immunity Memory-Based Jailbreak Detection: Multi-Agent Adaptive Guard for Large Language Models (2025)

Jun Leng, Litian Zhang, Xi Zhang — Beijing University of Posts and Telecommunications

Связанные методы из исследования: - GCG (Gradient-based jailbreak) — Zou et al., 2023 - AutoDAN (Automated jailbreak chains) — Liu et al., 2025 - PAIR (Role-playing attacks) — Chao et al., 2023 - GradSafe (SOTA jailbreak detection) — Xie et al., 2024 - Llama Guard — Meta AI, Inan et al., 2023


Методы

МетодСуть
Dual-Agent Verification — проверка через противоположные ролиРазделяй проверку на два уровня: Агент 1 анализирует контент (запрос/текст/код) с одной позиции, Агент 2 проверяет анализ Агента 1 с противоположной позиции (скептик vs защитник). Если не согласны Агент 2 даёт конкретный фидбек Агент 1 пересматривает. Итерации до консенсуса. Механика: модель хорошо симулирует роли и критикует чужие рассуждения; столкновение перспектив выявляет слепые пятна одиночной проверки. Для: пограничные случаи (модерация контента, код-ревью, валидация данных), где критерии неоднозначны. НЕ для: однозначные критерии (запрещённые слова, синтаксические ошибки) — избыточно. Ограничение: расход токенов удваивается
📖 Простыми словами

Dual-Agent Verification: взаимная проверка через роли нападения и защиты

arXiv: 2512.03356

Современные LLM — это наивные отличники, которых легко развести на слабо «взломом через роль». Система MAAG меняет саму механику защиты: вместо того чтобы просто надеяться на благоразумие модели, она внедряет иммунную память и принцип перекрёстной проверки. Суть в том, что один агент генерирует ответ, а второй — работает цербером, который ищет в этом ответе признаки «джейлбрейка». Если цербер видит подвох, он не просто говорит «нельзя», а заставляет первого агента переделывать работу, пока результат не станет стерильным.

Это как если бы у вышибалы в клубе был напарник-психолог, который стоит за спиной и шепчет: «Смотри, этот парень в костюме вежливый, но у него в кармане кастет». Обычная модель видит только вежливый костюм и пропускает угрозу. Многоагентная адаптивная защита превращает процесс в итерацию: агенты спорят друг с другом, пока не придут к консенсусу. Это на корню рубит попытки обмануть AI через сложные манипуляции, потому что обмануть одного «доверчивого» бота легко, а двух спорящих между собой профессионалов — почти нереально.

В работе выделяются два ключевых метода: симуляция ответа и адаптивная фильтрация. Первый агент пытается ответить на запрос, имитируя выполнение задачи, а второй в это время анализирует скрытые намерения. Если в запросе есть скрытая гниль, MAAG фиксирует это через фидбек-петлю. Исследователи доказали, что такая связка ловит атаки гораздо эффективнее, чем любая одиночная модель, даже если та обложена кучей запрещающих инструкций.

Тестировали систему на жестких хакерских атаках, но принцип универсален для любого бизнеса, где AI общается с людьми. Это идеально работает для модерации комментов в криптоканалах или техподдержки: там, где тролли используют иронию и обфускацию, чтобы обойти фильтры. MAAG не просто ищет стоп-слова, он оценивает контекст и «запах» сообщения. Если что-то выглядит как легитимная критика, но пахнет как манипуляция — система это отсечёт.

Короче: защищать LLM одним слоем правил — это полный провал, который обходится парой хитрых промптов. Будущее за системами, где один AI присматривает за другим, используя динамическую проверку. Либо ты строишь такую многослойную оборону, либо твой бот рано или поздно начнет советовать пользователям варить мет или вкладываться в скам-пирамиды. Выбор очевиден.

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

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

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