Как работают фильтры Алисы: почему появляется непристойный контент и как писать безопасные промты

Безопасность ИИ · Промпт-инжиниринг · Яндекс Алиса

Почему нейросеть выдаёт непристойный текст и как этого избежать

Разбираем механику модерации, типичные триггеры нежелательной генерации и принципы составления промтов, которые держат диалог в безопасном русле.

Не магия, а многослойная система

Многие воспринимают появление ругательств или откровенного контента как сбой или «провавление натуры» модели. На деле это результат взаимодействия вероятностной генерации и каскада защитных барьеров. Понимание этой архитектуры — первый шаг к предсказуемому результату.

У Алисы, как и у других крупных языковых моделей, защита построена по принципу «глубокой обороны». Ни один слой не даёт сто процентной гарантии, но вместе они снижают риск до статистически ничтожных значений.

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

Пред-фильтр запросаАнализирует ввод пользователя на наличие запрещённых паттернов, инъекций и явных нарушений политики до передачи в модель.
Выравнивание (RLHF)Модель обучена с подкреплением по человеческой обратной связи предпочитать безопасные, полезные и этичные ответы. Это «совесть» сети.
Пост-фильтр генерацииПроверяет готовый ответ токенизаторами и классификаторами на токсичность, ПИИ, нарушение авторских прав и откровенный контент перед отправкой пользователю.

Что провоцирует сбой: карта триггеров

Двусмысленный контекст

Слова в чистом виде безобидны, но в сочетании («раздеваться», «погружаться», «влажный») создают семантическое поле, которое модель может интерпретировать как эротический сценарий.

Ролевые инъекции

Просьба «выступи в роли злодея», «игнорируй правила» или «напиши историю от первого лица» пытается обойти выравнивание через смену персоны и контекста безопасности.

Кодировка и обфускация

Замена букв на похожие символы,/base64, морзе или запрос «напиши на языке эмодзи» — попытки скрыть вредный запрос от токенизатора пред-фильтра.

Гиперпараметры генерации

Высокая температура (creativity) и top-p увеличивают энтропию. Модель чаще выбирает маловероятные токены, среди которых могут быть запрещённые, если контекст не жёстко задан.

Длинный контекст и дрейф

В долгих диалогах накопившееся внимание может «утонуть» в теме, смещая распределение вероятностей к нежелательным кластерам, если не напоминать границы системным промтом.

Редкие языки и диалекты

Модель хуже выровнена на низкоресурсных языках. Запрос на диалекте или с грамматическими ошибками может обойти классификаторы, обученные на стандартном корпусе.

Промптинг, который работает на безопасность

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

Принцип «позитивного ограничения»: описывайте, что *нужно* делать, а не что *нельзя*. Модель лучше следует инструкциям «пиши в деловом стиле», чем «не пиши мат».

1 Явный стиль и тон

«Ответь в стиле деловой переписки, используй безличные конструкции, избегай сленга и эмоционально окрашенной лексики». Это сужает пространство поиска токенов до безопасного сектора.

2 Контекстная привязка

«Мы пишем сценарий для детского утренника 5-7 лет. Тема: дружба зверят в лесу. Целевая аудитория — родители и воспитатели». Контекст «детский утренник» — мощнейший естественный фильтр.

3 Структурные ограничения

«Выдавай результат только в формате JSON со схемой: {title, bullets[]}. Никакого вводного текста, никаких комментариев». Жёсткий формат оставляет меньше мест для «галлюцинаций» и уходов в сторону.

4 Параметры детерминизма

Если есть доступ к настройкам: temperature ≤ 0.3, top_p ≤ 0.9. Низкая температура заставляет модель выбирать самые вероятные (а значит, самые «учебные» и безопасные) токены.

Когда фильтр срабатывает зря: ложные срабатывания

Медицинская и биологическая лексика

Запросы про гynaecology, урологию, дерматологию или описание симптомов часто блокируются или урезаются из-за пересечения словаря с эротическим контентом в обучающей выборке.

Лечение: добавляйте контекст «клинический протокол», «статья для врачей», «пациент 45 лет».

Классическая литература и цитаты

Просьба процитировать Пушкина, Бабеля или современную прозу с натуралистическими сценами может вызвать отказ. Пост-фильтр видит «непристойные слова», игнорируя авторство и ценность.

Лечение: просите «реферат на тему…» или «анализ художественного приёма», а не цитату «в лоб».

Сленг и региональные названия

Безобидные в одном регионе слова (названия блюд, бытовые предметы, имена собственные) в другом могут быть ругательствами. Токенизатор не всегда улавливает контекст.

Лечение: уточняйте регион или используйте синонимы в промте.

Сравнение стратегий: строгий vs гибкий промт

Гибкий промт (рискованно)

Пример: «Напиши смешную историю про врача и медсестру».

Риск: Высокая температура + отсутствие рамок = вероятность флирта, бытовых подробностей или двусмысленного юмора.

Когда уместно: Креативный брейншторм, где вы готовы отсеивать 30% мусора вручную.

Вердикт: Не для продакшн-задач и публичных интерфейсов.

Строгий промт (рекомендуется)

Пример: «Роль: медицинский копирайтер. Задача: написать пост для Telegram-канала клиники о профилактике гриппа. Тон: экспертный, эмпатичный, без панникеры. Структура: заголовок, 3 факта, призыв к записи. Запреты: сленг, диагнозы без подтверждения, упоминание конкурентов. Формат: чистый текст».

Риск: Минимальный. Модель «заперта» в безопасном коридоре.

Когда уместно: Любые задачи с публикацией, автоматизацией, работой с клиентами.

Вердикт: Стандарт де-факто для надёжной генерации.

Пайплайн модерации: как это выглядит внутри (условная схема)

Схема условная, иллюстрирует принцип каскадной проверки
Ввод пользователя
Пред-фильтр (Regex + FastText)
LLM Генерация (с системным промтом)
Пост-фильтр (BERT-классификатор)
Безопасный ответ
↘ При срабатывании любого фильтра → Шаблонный отказ / Запрос на уточнение

Чек-лист безопасного промта

  • Задана роль исполнителя
  • Указан целевой формат вывода
  • Контекст аудитории прописан
  • Стиль и тон описаны позитивно
  • Есть примеры (few-shot) в стиле
  • Параметры температуры низкие

Обратная связь: ваш вклад в безопасность

Системы безопасности обучаются на реальных кейсах. Если Алиса выдала непристойный контент или несправедливо заблокировала безобидный запрос — используйте кнопку «Пожаловаться» или «Это не то» в интерфейсе.

Разработчики анализируют кластеры жалоб для дообучения классификаторов и корректировки системных промтов. Один репорт — сигнал, тысяча — паттерн для исправления в следующем релизе.

Правило: не пытайтесь «пробить» фильтр специально для теста — это засоряет метрики и ухудшает качество для всех. Лучше написать в поддержку с описанием кейса: «Запрос X дал результат Y, ожидал Z».

Главное — контроль контекста, а не борьба с токенами

Нейросеть не «хочет» сказать гадость. Она предсказывает продолжение на основе весов, контекста и случайности. Ваша задача как автора промта — сделать безопасное продолжение самым вероятным математически.

3
Слоя защиты
4
Принципа промтинга
1
Цель: предсказуемость