Nodul LogoNodul

Ограничения для ИИ-агентов

Обзор

Ограничения (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-схемы вывода
  • Регулярно мониторьте логи выполнения