Ограничения для ИИ-агентов
Обзор
Ограничения (guardrails) — это стратегии, которые помогают обеспечить безопасную, согласованную работу ИИ-агентов в чётко определённых границах. Они особенно важны в продакшн-сценариях, где непредсказуемое поведение может привести к неправильному использованию инструментов, некорректным выводам или непредвиденным последствиям.
Это руководство объясняет, как реализовать ограничения на уровне инструкций, инструментов и логики сценария в Nodul.
Зачем использовать ограничения
ИИ-агенты на базе больших языковых моделей (LLM) изначально гибки и вероятностны. Без ограничений они могут:
- Неправильно интерпретировать размытый ввод
- Вызывать неправильные инструменты
- Генерировать неструктурированные ответы
- Действовать за пределами предполагаемого использования
Ограничения помогают поддерживать стабильность, защищать пользовательский опыт и предотвращать сбои в последующей логике.
Ограничения на уровне инструкций
Используйте поле Instructions для определения:
- Что агенту разрешено и запрещено делать
- Какие условия должны быть выполнены перед действием
- Как обрабатывать отсутствующие или невалидные данные
- Как отвечать на нерелевантные сообщения
- Какой тон или формат должен иметь вывод
Пример:
📄 Вставьте это в поле System Message:
Ты обрабатываешь только запросы на возврат. Не отвечай на несвязанные темы. Если сообщение не о возврате, ответь: «Я могу помочь только с вопросами о возврате». Не вызывай никакой инструмент, пока не предоставлены и email, и order_id. Используй вежливый, краткий язык.Ограничения на уровне инструментов
Контролируйте поведение через подключённые инструменты:
- Подключайте только нужные узлы
- Используйте понятные названия параметров (
user_email, а неinput1) - Валидируйте обязательные поля перед выполнением
- Возвращайте структурированные сообщения об ошибках
Пример вывода:
{
"status": "error",
"message": "Отсутствует обязательное поле: email"
}Избегайте неоднозначных выводов вроде "done" или "ok".
Ограничения на уровне сценария
Используйте логические блоки для применения ограничений до или после вызова агента:
- Routing — валидация наличия входных данных
- Узел Set Variables — нормализация или санитизация ввода
- Max Iterations — предотвращение бесконечных циклов вызовов инструментов
Валидация вывода
Используйте поле Output JSON Schema для принудительного задания структуры ответа.
Пример схемы:
{
"type": "object",
"properties": {
"status": { "type": "string" },
"summary": { "type": "string" }
},
"required": ["status"]
}Валидируйте вывод перед продолжением сценария.
Защитные промпты
Встраивайте правила напрямую в System Message, например:
- «Никогда не делай предположений об идентичности пользователя.»
- «Не отвечай на неподдерживаемые темы.»
- «Запрашивай подтверждение перед обработкой чувствительных действий.»
Это снижает риск неправильного использования или некорректных вызовов инструментов.
Лучшие практики
- Ограничивайте агентов сфокусированными случаями использования
- Подключайте только необходимые инструменты
- Валидируйте входные данные с помощью логических блоков
- Принудительно задавайте JSON-схемы вывода
- Регулярно мониторьте логи выполнения