Эта статья была написана нашим консультантом

Если у вас остались любые вопросы по ней – направляйте их в виджет вашего личного кабинета (Твой гид по платформе)

Для оптимизации работы бота, упрощения работы, и во избежание проблем с редактором при работе с огромными сценариями, можно разбить один сценарий на модули – отдельные сценарии.
Модуль – это отдельный сценарий, переход к которому осуществляется с помощью блока результата. Все заданные пользователем переменные автоматически переносятся в следующий модуль при переходе.

Пример перехода в модуль

Пример стартового сценария:

В данном фрагменте происходит сохранение имени клиента в переменную {name}, а затем производится переход на нужный модуль после следующего вопроса с помощью блоков результата.
Пример модуля:

Переменная {name} в данном модуле будет иметь значение, полученное до перехода.

Параметры блока для перехода

Для перехода в следующий модуль необходимо использовать блок результата с типом действия Перевод на оператора, и выбрать действие при переадресации Другой сценарий, после чего выбрать в выпадающем меню сценарий, в который необходимо совершить переход.

Таким образом можно совершить переход между сценариями.

Применение модульной схемы

Данная система может быть эффективно использована для упрощения работы с большими сценариями. Чтобы эффективно разделить сценарий на модули, рекомендуется логически разбить диалог на логические части. Разберем разбиение на модули на примере реального кейса – бота для РЖД:

  1. Модуль с открытым вопросом. Это модуль, содержащий основной блок вопроса, с помощью которого уточняется тематика вопроса клиента.
  2. Модуль, содержащий тематические вопросы. Позволяет конкретизировать вопрос клиента.
  3. Модуль ответа. Позволяет собрать необходимую для точного ответа информацию при помощи уточняющих вопросов, после чего дает ответ клиенту, и возвращает диалог в модуль открытого вопроса.

Для каждого вопроса выделены отдельные модули, и в каждом модуле используется отдельный агент NLU для оптимизации скорости и точности распознавания ответа.

При использовании нескольких агентов NLU в одном сценарии может наблюдаться значительное снижение в скорости ответа на вопросы с интеллектуальным принятием решения. При использовании двух и более агентов бот анализирует ответ пользователя каждым агентом поочередно, в связи с чем увеличивается задержка ответа бота.