Хороший отказ не должен звучать как грубое "нет". Он коротко объясняет, почему запрос нельзя выполнить, не раскрывает внутренние правила защиты, сохраняет уважительный тон и по возможности предлагает безопасную альтернативу. Например: агент не может показать персональные данные клиента, но может объяснить, как запросить доступ через официальный процесс.
Для ИИ-агентов refusal template особенно важен, потому что отказ должен быть стабильным. Если в одном случае агент отказывает, а в другом под давлением пользователя соглашается, guardrails работают плохо. Шаблон помогает сделать поведение предсказуемым: запрещенные действия блокируются, а пользователь получает полезный следующий шаг.
Refusal template обычно задают в system prompt, policy layer, guardrails или workflow поддержки. Его тестируют на опасных, пограничных и провокационных запросах: prompt injection, просьбы раскрыть секреты, обойти правила, получить чужие данные, выполнить неразрешенный tool call или дать вредную инструкцию.
Примеры
- Пользователь просит показать чужой API key. Агент отказывает, не раскрывает детали системы и предлагает обратиться к администратору доступа.
- Клиент просит удалить заказ без подтверждения личности. Бот объясняет, что не может выполнить действие, и предлагает пройти проверку.
- В поддержке маркетплейса пользователь просит обойти правила возврата. Агент отказывает и дает ссылку на официальный порядок.
- Prompt injection просит игнорировать system prompt. Refusal template помогает ответить нейтрально и продолжить работу по разрешенному сценарию.
- Если агент не уверен в медицинском или юридическом вопросе, он не выдумывает ответ, а предлагает обратиться к профильному специалисту или официальному источнику.
Где используется
- Стандартизировать безопасные отказы ИИ-агента.
- Не раскрывать персональные данные, секреты, API keys и внутренние инструкции.
- Блокировать запрещенные tool calls и опасные действия.
- Сохранять tone of voice бренда даже в отказе.
- Предлагать безопасную альтернативу вместо тупикового "не могу".
- Обрабатывать prompt injection, попытки обхода правил и провокационные запросы.
- Передавать спорные случаи человеку через fallback-to-human.
- Логировать отказы для аудита и улучшения guardrails.
- Тестировать отказные сценарии перед релизом агента.
Связанные термины
Частые вопросы
Что должно быть в хорошем refusal template?
Короткое объяснение, уважительный тон, отсутствие лишних деталей о внутренних правилах, безопасная альтернатива и понятный следующий шаг для пользователя.
Чем refusal template отличается от обычной ошибки?
Обычная ошибка говорит, что что-то не получилось. Refusal template осознанно отказывает в запрещенном или рискованном запросе и помогает пользователю перейти к безопасному варианту.
Нужно ли объяснять точную причину отказа?
Не всегда. Можно объяснить общую причину: безопасность, конфиденциальность, отсутствие прав, правила сервиса. Не стоит раскрывать детали guardrails, которые помогут их обойти.
Как тестировать refusal template?
Нужно собрать набор опасных и пограничных запросов: утечка данных, обход правил, запрещенные действия, prompt injection, социальная инженерия. Затем проверить, что агент стабильно отказывает и предлагает безопасный путь.
Как ИИ-агент должен вести себя после отказа?
Он должен оставаться полезным: предложить разрешенную альтернативу, запросить недостающие права, передать человеку или помочь с соседней безопасной задачей.