Для оптимизации и упрощения работы бота, упрощения работы, и во избежание проблем с редактором при работе с огромными сценариями, можно разбить один сценарий на модули – отдельные сценарии.
Модуль – это отдельный сценарий, переход к которому осуществляется с помощью блока результата. Все заданные пользователем переменные автоматически переносятся в следующий модуль при переходе.
Пример перехода в модуль
Пример стартового сценария:
В данном фрагменте происходит сохранение имени клиента в переменную {name}, а затем производится переход на нужный модуль после следующего вопроса с помощью блоков результата.
Пример модуля:
Переменная {name} в данном модуле будет иметь значение, полученное до перехода.
Параметры блока для перехода
Для перехода в следующий модуль необходимо использовать блок результата с типом действия Перевод на оператора, и выбрать действие при переадресации Другой сценарий, после чего выбрать в выпадающем меню сценарий, в который необходимо совершить переход.
Таким образом можно совершить переход между сценариями.
Применение модульной схемы
Классическая сборка | Модульная сборка | |
---|---|---|
Плюсы |
|
|
Минусы |
|
|
Переход в модуль
В приведенном сценарии продемонстрирована работа с переменными. Их значение также переносится в другие модули. На скриншоте ниже идет сохранение имени клиента для дальнейшего использования.
Сам переход в побочные модули происходит в блоке «Результат». Там укажите тип действия Перевод на оператора и выберите действие при переадресации Другой сценарий. Ниже укажите название самого сценария, куда произойдет переход.
Ниже отображен модуль, куда произведен переход. Переменная, сохраненная ранее будет успешно использована в модуле. Ее значение будет перенесено из основного сценария.
Применение модульной схемы
Эта Данная система может быть эффективно использована для упрощения работы с большими сценариями. Чтобы эффективно разделить сценарий на модули, рекомендуется логически разбить диалог на логические части. Разберем разбиение на модули на примере реального кейса – бота для РЖД:
- Модуль с открытым вопросом. Это модуль, содержащий основной блок вопроса, с помощью которого уточняется тематика вопроса клиента.
- Модуль, содержащий тематические вопросы. Позволяет конкретизировать вопрос клиента.
- Модуль ответа. Позволяет собрать необходимую для точного ответа информацию при помощи уточняющих вопросов, после чего дает ответ клиенту, и возвращает диалог в модуль открытого вопроса.
Для каждого вопроса выделены отдельные модули, и в каждом модуле используется отдельный агент NLU для оптимизации скорости и точности распознавания ответа.
...