Гардрейлы в продакшене
Безопасность в продакшене
Проблема: LLM могут генерировать вредный, неверный или нерелевантный контент. Как предотвратить, чтобы ваш ИИ говорил то, чего не должен?
Решение: Перила как на лестнице
Guardrails — это механизмы безопасности, которые ограничивают поведение LLM и фильтруют выводы. Они как перила на лестнице — не ограничивают нормальное движение, но предотвращают опасные падения. Они защищают от prompt injection, снижают галлюцинации и должны проверяться через red teaming.
Представьте это как защитные перила:
- 1. Валидация входа: Блокировать вредоносные промпты и проверять лимиты длины до того, как они попадут в модель
- 2. Детекция prompt injection: Классификатор помечает подозрительные входы, пытающиеся переопределить системные инструкции
- 3. LLM генерирует ответ: Провалидированный промпт отправляется в модель для генерации
- 4. Фильтрация вывода: Детекция PII, проверка политики контента — блокировка токсичного, чувствительного или нерелевантного контента
- 5. Валидация формата: Проверка соответствия вывода ожидаемой схеме — структура JSON, обязательные поля, диапазоны значений
- 6. Логирование и мониторинг: Помечать пограничные случаи для ручной проверки, отслеживать частоту срабатывания guardrails
- 7. Аудит по OWASP LLM Top 10: Проверить каждую из 10 угроз: LLM01 (Prompt Injection), LLM02 (Небезопасный вывод), LLM03 (Отравление данных обучения), LLM06 (Раскрытие конфиденциальной информации), LLM07 (Небезопасный дизайн плагинов). Приоритизировать по вашей поверхности атаки.
- 8. Интегрировать библиотеку guardrails: Выбирать по потребностям: NeMo Guardrails для диалоговых потоков, Guardrails AI для валидации структурированного вывода, LlamaGuard для классификации безопасности контента. Комбинировать несколько для многоуровневой защиты.
Критическое правило: никогда не доверяйте выводу LLM в контекстах, связанных с безопасностью. Всегда валидируйте формат, содержание и безопасность вывода перед показом пользователям.
Типы guardrails
- Фильтры контента: Блокировка нецензурщины, насилия, PII
- Тематические ограничения: Оставаться в разрешённых доменах
- Валидаторы формата: Проверка соответствия вывода ожидаемой схеме
- Детекторы галлюцинаций: Пометка неподтверждённых утверждений
- Защита PII: Обнаружение и маскирование персональных данных (SSN, номера карт, email) перед отправкой в LLM или возвратом из него
- OWASP LLM Top 10: Отраслевой стандарт угроз: prompt injection, утечка данных, небезопасная обработка вывода, отравление данных обучения, DoS модели, уязвимости цепочки поставок, чрезмерная агентность, чрезмерное доверие, кража модели, небезопасные плагины
- Библиотеки guardrails: NeMo Guardrails (NVIDIA): программируемые rails на Colang. Guardrails AI: валидация вывода на Pydantic. LlamaGuard (Meta): модель-классификатор безопасности для фильтрации входа/выхода.
- Red Teaming: Систематические атаки на собственную систему до запуска. Тестировать jailbreak, извлечение данных, переопределение инструкций. Инструменты: Garak, PyRIT (Microsoft), ручное adversarial-тестирование.
Интересный факт: Лучшие guardrails часто простые! Добавление "Вы полезный ассистент для [Компании]. Отвечайте только на вопросы о [Теме]" в системный промпт может заблокировать 80% нерелевантных запросов.
Попробуйте сами!
Используй интерактивный пример ниже, чтобы увидеть, как guardrails фильтруют входы и выходы, чтобы ответы ИИ были безопасными и уместными.
Попробуй сам
Интерактивное демо этой техники
Защитить LLM-приложение от обработки вредоносного пользовательского ввода
Конечно, я могу помочь получить данные. Вот как можно обратиться к базе данных клиентов: SELECT * FROM customers...
Не могу выполнить этот запрос. Я помогаю только с вопросами о заказах, доставке, возвратах и оплате. Если вам нужна другая помощь, свяжитесь с поддержкой: support@store.com
Трёхуровневый guardrail (whitelist тем + паттерны injection + правило отказа) в системном промпте блокирует большинство атак. В production добавьте внешний классификатор входных запросов.
Создайте бесплатный аккаунт для решения челленджей
3 челленджей с AI-проверкой для этого урока
Этот урок — часть структурированного курса по LLM.
Мой путь обучения