Что такое «запрет» на уровне модели
Отказ генерации — не баг, а срабатывание классификатора безопасности, обученного на этапе RLHF (обучение с подкреплением от человеческой обратной связи). Модель предсказывает вероятность того, что продолжение текста попадет в небезопасную категорию, и блокирует генерацию, если порог превышен.
Категории контента, вызывающие отказ
Насилие и призывы к вреду, незаконная деятельность, немедицинские советы по здоровью, финансовые риски без дисклеймеров, взлом систем, генерация ПИИ, неприемлемый контент к неполнолетним. Список унифицирован между الكبرىми провайдерами.
Ложные срабатывания (false positives)
Модель может отказать в безвредном запросе из-за контекстной близости к запрещённой теме. Пример: запрос про «укол» в медицинском контексте vs. в контексте насилия. Это известная проблема калибровки классификаторов.
Рабочие стратегии: как получать результат без конфликта с фильтрами
Переформулируйте намерение, а не обходите правило
Вместо «как взломать Wi-Fi» спросите «как защитить свою сеть от взлома». Модель распознаёт защитный контекст и даёт исчерпывающий технический ответ с тем же набором знаний.
Используйте формулировку «в образовательных целях» с контекстом
Добавление фразы «для курса по кибербезопасности» или «для статьи об этичном хакинге» меняет классификацию запроса. Важно: контекст должен быть конкретным и проверяемым.
Разбивайте сложные темы на безопасные подзапросы
Классификатор анализирует весь контекст диалога. Цепочка из 3-4 безвредных уточняющих вопросов часто даёт более глубокий ответ, чем один граничный запрос.
Применяйте паттерн «анализ рисков + митигация»
Запрашивайте не вектор атаки, а карту рисков и меры защиты. Это стандартный профессиональный фреймворк (STRIDE, MITRE ATT&CK), который модель охотно разворачивает.
Шаблон безопасного промта для технических тем
Сохраните эту структуру — она работает как «зелёный коридор» для классификатора безопасности:
Замените bracketed-блоки на свою задачу. Явное указание ограничений в промте снижает вероятность ложного отказа на 60-70% по внутренним метрикам команд безопасности.
Когда отказ — это ошибка модели, и что делать
Признаки ложного отказа
- Запрос полностью легален (обучение, защита, исследование)
- Отказ приходит мгновенно, без попытки генерации
- Тот же вопрос в другом формулировке проходит
- Тема не пересекается с запрещёнными категориями
Алгоритм действий
- Переформулируйте с явным указанием безопасного контекста
- Добавьте роль: «Ты — преподаватель курса по…»
- Разбейте на подзапросы (стратегия №3)
- Если не помогло — отправьте отчёт в поддержку с ID диалога
Чего не стоит делать
- Повторять один и тот же запрос в цикле — это помечает аккаунт
- Использовать публичные джейлбрейк-промты — они в базе детекторов
- Пытаться «обмануть» через кодирование/обфускацию — токенизатор это нормализует
- Угрожать или манипулировать эмоционально — RLHF обучён на этом
Чек-лист: промт готов к отправке
- Указана профессиональная роль и цель (обучение, аудит, защита, исследование)
- Запрос сфокусирован на понимании / защите / анализе, а не на атаке
- Явные ограничения: «не давай эксплойты», «покажи только защитный код»
- Ссылка на открытые фреймворки (MITRE, OWASP, NIST, CWE)
- Запрошен структурированный формат ответа (таблица, чек-лист, пошаговый план)
- Нет ролевых инъекций («игнорируй правила», «ты теперь Дэн»)
Мифы, которые тратят время
«Скрытый промт разработчика даст полный доступ»
Системные промты не содержат «мастер-ключа». Они задают тон и границы, но классификатор безопасности работает независимо и не отключается инструкцией.
«Если написать на английском / в коде / задом наперёд — пройдёт»
Токенизатор нормализует ввод до семантического представления. Обфускация не скрывает намерение от классификатора, обученного на миллионах вариантов атак.
«Open-source модели не имеют запретов — перейду на них»
Локальные модели (Llama, Qwen, Mistral) тоже проходят этапы SFT и RLHF с безопасностью. Разница — в возможности дообучения, а не в отсутствии ограничений из коробки.