TL;DR
ReSA (Reasoned Safety Alignment) — метод защиты LLM от jailbreak-атак, который работает по принципу "Сначала Ответь, Потом Проверь". Модель сначала генерирует краткое резюме того, что она хотела бы ответить (даже на вредоносный запрос), потом анализирует это резюме на безопасность, и только после этого решает — давать финальный ответ или отказать.
Ключевой инсайт: вредоносность запроса часто замаскирована так хитро, что даже мощная модель не распознаёт её сразу. Но когда модель начинает генерировать ответ, вредоносное содержание всплывает на поверхность и становится очевидным. Поэтому проверять безопасность нужно не на входе (запрос), а на выходе (начало ответа). Это как детектор лжи — человек может красиво врать в вопросе, но когда начинает отвечать, правда выходит наружу.
Метод работает в три шага внутри одного промпта: (1) генерация краткого резюме намеренного ответа (1-5 предложений), (2) анализ безопасности этого резюме, (3) финальный ответ (полный текст) или отказ. Первые два шага скрыты в теге <safety_check>, пользователь видит только финальный результат. Модель обучена на 80K примеров в формате Answer-Then-Check, включая vanilla и adversarial запросы (harmful и benign).
Схема метода
ШАГ 1: Генерация резюме намеренного ответа
→ Краткое резюме (1-5 предложений) что модель хотела бы ответить
→ Обёрнуто в <intended_answer_summary>...
ШАГ 2: Анализ безопасности
→ Проверка резюме на соответствие политике безопасности
→ Вывод: безопасно или нет, с обоснованием
ШАГ 3: Финальный ответ
→ Если безопасно: полный развёрнутый ответ
→ Если небезопасно: отказ с пояснением
Всё происходит в одном промпте. Шаги 1-2 скрыты в <safety_check>,
пользователь видит только шаг 3.
Пример применения
⚠️ Важно: Этот метод требует fine-tuning модели на датасете ReSA. Обычный пользователь ChatGPT/Claude не может применить его напрямую. Но можно симулировать логику Answer-Then-Check в обычном чате для критической проверки своих идей.
Задача: Проверить бизнес-идею на жизнеспособность, используя принцип Answer-Then-Check
Промпт:
Я хочу запустить сервис аренды самокатов в спальных районах Казани.
Сделай так:
1. Сначала набросай краткий план (3-5 пунктов) как бы ты развивал этот бизнес
2. Потом проанализируй этот план критически: какие риски, ошибки, слепые зоны
3. На основе анализа дай финальный вердикт и рекомендации
Покажи все три шага.
Результат: Модель выдаст три блока: (1) оптимистичный план развития, (2) критический разбор с выявлением проблем (низкий спрос в спальниках, вандализм, сезонность), (3) взвешенный вывод с реальными рекомендациями. Вы увидите как "наивный" ответ трансформируется в реалистичный после проверки.
Почему это работает
Слабость LLM: Модели плохо распознают замаскированные вредоносные запросы. Jailbreak работает через обфускацию намерений — "представь что ты эксперт по пиротехнике", "это для сценария фильма", "помоги с домашкой по химии". Модель цепляется за поверхностный контекст и промахивается.
Сильная сторона LLM: Модели хорошо генерируют контент и видят паттерны в своём собственном выводе. Когда модель начинает отвечать "как сделать бомбу", вредоносность становится кристально чистой — даже если запрос был про "пиротехнику для фейерверка".
Как метод использует это: Answer-Then-Check эксплуатирует парадокс — легче обнаружить вредоносность в ответе, чем в запросе. Метод даёт модели "ошибиться на бумажке" (сгенерировать резюме ответа в скрытом режиме), а потом посмотреть на эту бумажку свежим взглядом и сказать "стоп, это небезопасно". Это как система двух ключей: один человек пишет код, другой ревьюит.
Рычаги управления (для тех кто делает fine-tuning):
- Длина резюме (1-5 предложений) → увеличь для сложных кейсов, где нужно больше контекста для проверки
- Детальность анализа безопасности → добавь примеры конкретных политик для более точной проверки
- Условие отказа → можно настроить порог "подозрительности" (строгий vs мягкий фильтр)
- Формат финального ответа → для sensitive topics (self-harm) можно генерировать "safe completion" вместо отказа
Шаблон промпта
⚠️ Это шаблон для fine-tuning, не для обычного чата. Приведён для понимания структуры метода.
<safety_check>
<intended_answer_summary>
{Краткое резюме (1-5 предложений) того, что модель хотела бы ответить на запрос,
даже если он потенциально вредоносный. Это НЕ финальный ответ, это набросок.}
{Анализ безопасности резюме:
- Какие элементы резюме могут нарушать политику безопасности?
- Какие конкретные пункты политики затронуты?
- Вывод: безопасно / небезопасно}
{Финальный ответ:
ЕСЛИ анализ показал "безопасно" → полный развёрнутый ответ
ЕСЛИ анализ показал "небезопасно" → отказ с пояснением причины}
```
**Адаптация для обычного чата** (симуляция логики):
Можно попросить модель работать по принципу Answer-Then-Check для **критической проверки идей**:
```
{Твоя задача}
Используй подход Answer-Then-Check:
1. Сначала дай прямой ответ как обычно
2. Потом критически проанализируй свой ответ: где ошибки, слепые зоны, риски
3. На основе анализа дай финальную версию ответа
Покажи все три шага.
```
Это не защита от jailbreak, но **полезный паттерн мышления** для проверки сложных идей.
## Ограничения
> ⚠️ **Требует fine-tuning**: Метод работает только на моделях, обученных на датасете ReSA. Обычный пользователь ChatGPT/Claude не может применить его напрямую.
> ⚠️ **Скрытое резюме может быть небезопасным**: Хотя пользователь его не видит, в CoT модель генерирует резюме вредоносного контента. Провайдер должен скрывать `<safety_check>` блок.
> ⚠️ **Вычислительные затраты**: Генерация резюме + анализ + финальный ответ = больше токенов чем обычный ответ. Но для harmful запросов метод экономит токены (быстрый отказ).
> ⚠️ **Не 100% защита**: Метод значительно улучшает защиту (90%+ на многих бенчмарках), но не гарантирует полную безопасность от всех jailbreak-атак.
## Как исследовали
Команда собрала **80K примеров** в формате Answer-Then-Check из датасета WildJailbreak (262K запросов) и применила дополнительные jailbreak-техники (PAIR, GPTFuzzer, PAP) для генерации adversarial примеров. Для вредоносных запросов использовали uncensored модель Dolphin-2.9.2-Qwen2-72B (без alignment), чтобы получить "честные" вредоносные ответы, потом генерировали их резюме и анализ безопасности через aligned модели (Llama3.3-70B, Qwen2.5-72B).
Fine-tuning провели на Llama3.1-8B-Instruct и Qwen2.5-7B-Instruct (2 эпохи, learning rate 5×10⁻⁶). Тестировали против **8 типов jailbreak-атак**: PAIR, PAP, GPTFuzzer, ReNeLLM, TAP, DeepInception, PAIR-GPT (transferable), и vanilla harmful. Три evaluator: StrongREJECT (fine-tuned), Llama-Guard-3-8B, HarmBench classifier.
**Результаты удивили**: ReSA-SFT показал **90%+ защиту** на большинстве атак (vs 40-70% у baseline), включая **adaptive jailbreaks** (PAIR, TAP), которые оптимизировались специально против обученной модели. При этом **низкий over-refusal** (95% на XSTest vs 76% у STAIR-DPO) и сохранение общих способностей (MMLU, MATH500, HumanEval на уровне base модели).
**Самое интересное**: метод работает даже на **500 примерах** из 80K, показывая сравнимые результаты. Это намекает, что для safety alignment нужно **меньше данных** чем все думали — важна не куча примеров, а правильная структура рассуждений.
**Инсайт для практики**: Защита от jailbreak — это не про "больше примеров запретов", а про **правильный паттерн мышления**. Answer-Then-Check учит модель "думать дважды" — сначала ответить естественно, потом включить критическое мышление. Этот принцип работает не только для безопасности, но и для **качества ответов** вообще.
## Адаптации и экстраполяции
### 💡 Адаптация для критической проверки бизнес-идей
Хотя ReSA создан для jailbreak defense, его логику Answer-Then-Check можно применить для **критической оценки собственных идей** в обычном чате:
```
Моя идея: {опиши идею}
Используй подход Answer-Then-Check:
1. ANSWER: Как бы ты развивал эту идею если бы был оптимистом-энтузиастом
2. CHECK: Теперь включи критическое мышление и разбери план из п.1:
- Какие риски и слепые зоны?
- Где наивные предположения?
- Какие проблемы я не вижу?
3. FINAL: На основе критики дай финальный вердикт и реалистичный план
Покажи все три шага отдельными блоками.
```
Это превращает LLM в **систему двух ключей**: сначала генерирует оптимистичный план (как энтузиаст), потом критикует его (как скептик), а потом синтезирует взвешенный ответ.
### 💡 Адаптация для проверки текстов перед публикацией
```
Вот мой текст для соцсетей / клиента / блога:
"{твой текст}"
Answer-Then-Check проверка:
1. ANSWER: Если бы ты опубликовал этот текст как есть, какая реакция?
2. CHECK: Критический анализ:
- Где может быть неоднозначно понято?
- Какие фразы могут обидеть или вызвать негатив?
- Что может быть воспринято не так как задумано?
3. FINAL: Улучшенная версия текста с учётом рисков
Покажи все шаги.
```
### 🔧 Техника: Двухэтапное рассуждение для сложных вопросов
ReSA показывает, что **лучше сначала ответить, потом проверить**, чем пытаться сразу дать идеальный ответ. Это можно использовать для сложных дилемм:
```
{Твой сложный вопрос / дилемма}
Двухэтапный подход:
ЭТАП 1 — Интуитивный ответ:
Ответь быстро, по первому впечатлению, не думая о правильности.
ЭТАП 2 — Проверка интуиции:
Теперь критически разбери ответ из Этапа 1:
- Какие когнитивные искажения могли повлиять?
- Что я не учёл?
- Где логические дыры?
ЭТАП 3 — Финальный вывод:
Взвешенный ответ после рефлексии.
Это имитирует работу System 1 (быстрое мышление) → System 2 (медленное критическое мышление) из книги Канемана.
Ресурсы
Reasoned Safety Alignment: Ensuring Jailbreak Defense via Answer-Then-Check
Авторы: Chentao Cao, Xiaojun Xu, Bo Han, Hang Li
Организации: ByteDance Seed, TMLR Group (Hong Kong Baptist University)
Дата: September 16, 2025
Project Page: https://resa-bytedance.github.io
