Сценарии (Scenarios)

Источник: doc.nextbot.ru/functional/stsenarii


Что такое сценарии

Сценарии — механизм автоматизации поведения агента, который срабатывает при наступлении определённых событий. В отличие от функций (которые вызывает ИИ), сценарии работают детерминированно: событие → условие → действие.


Типы триггеров

Триггер Описание Пример использования
Начало диалога Первое сообщение от пользователя Приветствие, сбор начальной информации
Новое сообщение Каждое новое сообщение Модерация, трекинг активности
Точное совпадение Текст сообщения полностью совпадает Команды: /start, STOP, меню
Частичное совпадение Текст содержит определённую подстроку Обнаружение ключевых слов
Вебхук Входящий POST-запрос Интеграция с внешними сервисами
Выполнение функции После выполнения определённой функции Постобработка данных
По расписанию Срабатывание по таймеру / cron Напоминания, follow-up

Дополнительные условия

К каждому сценарию можно добавить дополнительные условия фильтрации:

Условие Описание
Канал Только для определённого мессенджера (Telegram, WhatsApp и т.д.)
Агент Только для определённого агента
Статус диалога Активный, на паузе, заблокирован
Метаданные Проверка метаданных диалога
Время Определённое время суток / день недели

Действия сценариев

Когда сценарий срабатывает, выполняется одно или несколько действий:

Основные действия

Действие Описание
Добавить контекст Вставить скрытое сообщение в контекст ИИ
Отправить сообщение Отправить фиксированный текст клиенту
Вызвать функцию Запустить определённую функцию
Переключить агента Передать диалог другому агенту
Поставить на паузу Приостановить работу агента
Снять с паузы Возобновить работу агента
Заблокировать Заблокировать пользователя
Очистить диалог Сбросить историю разговора
Дополнить промт Добавить инструкции к системному промту
Установить метаданные Записать метаданные в диалог
Отправить вебхук Отправить данные во внешний сервис

Примеры сценариев

1. Приветственное сообщение

Триггер: Начало диалога
Действие: Добавить контекст
Текст: "Клиент только что начал диалог. Поприветствуй его, 
       представься как менеджер EastPay и спроси, чем помочь."

2. Команда STOP (отписка от рассылки)

Триггер: Точное совпадение — "STOP"
Действия:
  1. Отправить сообщение: "Вы отписались от рассылки"
  2. Поставить на паузу

3. Переключение по запросу

Триггер: Частичное совпадение — "техподдержка", "проблема", "не работает"
Действие: Переключить агента → Агент-Техподдержка

4. Follow-up через 24 часа

Триггер: По расписанию — через 24 часа после последнего сообщения
Условие: Статус диалога = активный
Действие: Добавить контекст: "Клиент не отвечал 24 часа. 
          Напиши ему вежливое напоминание."

5. Обработка вебхука оплаты

Триггер: Вебхук
Действия:
  1. Установить метаданные: payment_status = "paid"
  2. Добавить контекст: "Клиент оплатил заказ. Подтверди получение 
     оплаты и спроси про доставку."

Порядок выполнения

  1. Событие наступает (новое сообщение, вебхук и т.д.)
  2. Проверяются все сценарии с соответствующим триггером
  3. Фильтрация по дополнительным условиям
  4. Выполнение всех подходящих сценариев в порядке приоритета
  5. Если выполнено действие «Поставить на паузу» или «Переключить агента», последующие действия могут быть прерваны

⚠️ Несколько сценариев могут сработать одновременно — учитывайте это при проектировании