Guardrails для AI-агентов: input, output и защита действий

Практическая модель guardrails для продакшена: что фильтровать до модели, что проверять после ответа и как ограничивать реальные действия агента.

Разделение guardrails на input, output и action-слой

Защита от prompt injection и утечки персональных данных

Когда брать готовый фреймворк, а когда писать свои правила

Пилот AI выглядит безопасным, потому что его тестирует сам разработчик доверенными запросами. В продакшене на вход попадают чужие данные, а на выходе агент может вызывать инструменты - и одной проверки “модель ответила разумно” уже недостаточно. Guardrails - это не одна проверка, а несколько независимых слоев защиты, каждый из которых ловит то, что пропустил предыдущий.

Три слоя guardrails

  • Input guardrails - работают до вызова модели, на самом запросе.
  • Output guardrails - работают после ответа модели, до того как результат уйдет пользователю.
  • Action guardrails - работают на уровне вызова инструментов и реальных действий в системах.

Ни один слой не заменяет остальные: input-фильтр не поймает галлюцинацию в ответе, а output-валидация не остановит вызов инструмента с чужими правами доступа.

Input guardrails: что проверять до модели

  • Отделять инструкции от данных: контент, полученный извне (например, через web fetch), помечать как untrusted и не давать ему переопределять системный промпт - это главная защита от prompt injection.
  • Маскировать или вырезать персональные данные перед отправкой в модель, если они не нужны для задачи.
  • Ограничивать тему и scope запроса explicit allow-list того, что агент обслуживает.
  • Rate limiting и лимит длины ввода на пользователя и сессию.

Output guardrails: что проверять после модели

  • Валидация формата и схемы ответа отдельным шагом - не полагаться на то, что модель сама аккуратно следует инструкции по формату.
  • Проверка на утечку персональных данных или служебной информации в ответе.
  • Groundedness-проверка: ответ подтвержден источником или данными, а не выдуман моделью.
  • Модерация токсичного или нежелательного контента перед выдачей пользователю.

Action guardrails: что проверять перед выполнением

  • Явное разделение read-only и action-инструментов - основа для разных политик безопасности; как проектировать сами инструменты - в статье Tool calling: базовые и расширенные инструменты AI-агента.
  • Allow/deny-политика на домены, операции и суммы для action-инструментов.
  • Human-in-the-loop для операций с деньгами, юридическими последствиями или необратимыми действиями - когда именно он обязателен, разобрано в статье Human-in-the-loop: где агенту нужен человек.
  • Post-check: подтверждение, что действие в целевой системе действительно выполнилось так, как задумано.

Defense-in-depth: где физически ставить guardrails

Лучше один общий шлюз (gateway/прокси) между агентом и моделью/инструментами, где guardrails применяются централизованно, чем отдельная реализация в каждом сервисе. Это дает единую точку правил вместо дублирования логики в каждом агенте, аудиторский след для разбора инцидентов и возможность обновить правило один раз, а не в N местах.

Мониторинг guardrails

Guardrails без метрик - это неизвестно работающая защита. Нужно считать:

  • частоту срабатывания каждого правила (block rate),
  • долю ложных срабатываний (false positive rate) - блокировки легитимных запросов,
  • инциденты, которые guardrails пропустили и обнаружили постфактум.

Каждый пропущенный инцидент должен становиться новым regression-кейсом - процесс подробно описан в статье Evals и regression-тесты для AI-агентов в продакшене.

Готовые фреймворки vs свои правила

Для типовых задач - детекция PII, prompt injection, токсичность - разумнее взять готовый классификатор или фреймворк (например, NeMo Guardrails, AWS Bedrock Guardrails, LLM Guard), чем писать эвристики с нуля: они обучены на большом наборе атак и обновляются вместе с новыми техниками обхода. Свои правила имеет смысл писать только для бизнес-специфичных ограничений - какие суммы, домены и операции разрешены именно в вашем продукте.

Главное правило

Guardrails - это не разовая проверка, а слой между моделью и реальным миром, который работает на каждом запросе. Если он отсутствует хотя бы на одном из трех уровней - input, output или action - продакшен рано или поздно получит инцидент, который пилот никогда бы не показал.

Начать работу

Обсудим ваш проект

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

Написать нам
+7 911 938-72-83 · m@aahq.site · Отвечаем в течение дня