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
