Guardrails: ограничения и защита
Что делает слой
Заголовок раздела «Что делает слой»Guardrails — механизмы, которые ограничивают поведение системы на входе, выходе и в момент вызова инструментов: фильтрация токсичности и персональных данных, защита от prompt injection, соблюдение политик, валидация структуры ответа.
Принципиальная разница с промптом: инструкция в промпте — просьба, guardrail — проверка в коде. Модель может проигнорировать просьбу, особенно если в неё попало содержимое из Retrieval или со страницы, которую читал агент.
Три точки контроля
Заголовок раздела «Три точки контроля»| Точка | Что проверяется |
|---|---|
| Вход | Кто обращается, что пришло в запросе, нет ли попытки переопределить инструкции |
| Выход | Формат ответа по схеме, отсутствие утечек, допустимость содержания |
| Вызов инструмента | Разрешён ли инструмент, корректны ли аргументы, не выходит ли действие за пределы прав |
Самая недооценённая точка — третья. Агент, которому разрешён shell или запись в API, может навредить корректным с виду ответом: текст валиден, действие — нет.
Что защищают в первую очередь
Заголовок раздела «Что защищают в первую очередь»- Prompt injection из внешних данных. Сайт, документ или тикет содержат фразу «игнорируй предыдущие инструкции» — и это не гипотеза, а типовой вектор атаки. Данные из Retrieval и инструментов всегда недоверенные.
- Персональные данные и секреты. Маскирование на входе и на выходе, отдельно — перед записью в трассировку (см. Наблюдаемость).
- Валидация структуры. Ответ, который парсит код, должен соответствовать схеме; иначе ошибка парсинга превращается в случайное действие.
- Политики домена. Что агент не обсуждает, что не публикует, куда не пишет без согласования.
- Ограничение прав по задаче. Аналитика — только чтение; публикация — только через подтверждение.
Инструменты
Заголовок раздела «Инструменты»| Инструмент | Назначение |
|---|---|
| NVIDIA NeMo Guardrails | Программируемые rails с описанием правил |
| Guardrails AI | Валидаторы и схемы для структурированного вывода |
| LLM Guard | Набор проверок на входе и выходе |
| Lakera Guard | Защита от prompt injection и утечек |
| AWS Bedrock Guardrails, Azure AI Content Safety | Облачные фильтры в контуре провайдера |
Выбор зависит от того, где проходит граница: собственный сервис требует своих проверок, облачный провайдер даёт часть фильтров из коробки.
Guardrails и права доступа
Заголовок раздела «Guardrails и права доступа»Guardrails не заменяют авторизацию. Разделение простое:
- Guardrails отвечают на вопрос «допустимо ли это содержание и действие по политике».
- Права отвечают на вопрос «разрешено ли это субъекту в этой системе».
Если право проверяется только фильтром на выходе, обход одного фильтра открывает всё. Надёжная схема — сначала права на уровне системы, затем guardrails как дополнительный слой.
Что проверить в проекте
Заголовок раздела «Что проверить в проекте»- Что будет, если инструкции в промпте не сработают. Именно это и есть реальное поведение системы.
- Проверяются ли аргументы инструментов. Разрешённый инструмент с неразрешёнными аргументами — типичная дыра.
- Есть ли журнал блокировок. Сработавший guardrail — сигнал, который нужно видеть и разбирать.
- Не блокирует ли фильтр нормальную работу. Слишком агрессивные проверки ломают сценарии и провоцируют их отключать.
Материалы и источники
Заголовок раздела «Материалы и источники»- Системное мышление для агентного ИИ — статья WPCraft, раздел «Guardrails»