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