Процедуры — это блок-схема, позволяющая детерминировать поведение агента и описывающая бизнес-процесс, которому агент должен следовать. Они предназначены для выполнения фиксированных бизнес-задач.
Простая процедура выше называется "Клиент требует оператора". Порядка 40% пользователей немедленно требуют оператора вместо общения с любым роботом, однако при использовании такой процедуры порядка 20% из них (8% от всех) успешно решают свою проблему с агентом, что сокращает затраты и повышает автоматизацию.
Эта процедура работает очень просто — агент запускает ее когда клиент просит оператора, и первый же блок (который называется Команда) инструктирует агента не сразу перевести на оператора, а возразить клиенту. Следующий блок с конвертиком (называется Слово клиента) передает сгенерированное сообщение (что-то вроде "Я теперь немного умнее, чем я могу вам помочь?") клиенту и слушает его ответ. Далее есть два варианта: либо клиент повторно просит оператора, чему агент подчиняется и завершает процедуру, либо клиент называет проблему и процедура также завершается, позволяя агенту сконцентрироваться на решении проблемы клиента с использованием других инструментов.
Если же процедура завершилась на том, что агент постарался решить проблему клиента, но затем в ходе диалога клиент снова просит оператора, агент начнет исполнение этой же процедуры с узла завершения и сразу, без возражений, переведет клиента на оператора.
| Название | Вид | Описание | Допустимые выходы |
|---|---|---|---|
| Начало | ![]() | Начало процедуры указывает, откуда агент должен начать исполнение процедуры. | Команда |
| Команда | ![]() | Команда — это инструкция, что должен сделать агент. Команда может включать рассуждение «про себя», генерацию реплики для клиента либо вызов инструмента. | Команда, Слово клиента, Завершение |
| Вызов инстурмента | ![]() | Команда — это инструкция, что должен сделать агент. Команда может включать рассуждение «про себя», генерацию реплики для клиента либо вызов инструмента. | Команда, Слово клиента, Завершение |
| Слово клиента | ![]() | Когда процедура дойдет до этапа «Слово клиента», агент сгенерирует сообщение для клиента и выслушает его ответ. | Команда |
| Завершение | ![]() | Завершение процедуры сгенерирует реплику для клиента, выслушает его, после чего перестанет исполнять процедуру, только если процедура не была вызвана повторно. | Команда |
Используйте выход из события завершения чтобы определить поведение при повторном запуске процедуры. Работает на второй, третий, четвёртый и все последующие входы.
У вас всегда может быть один переход без условия. Если у вас несколько переходов, и часть из них имеют условия, а один не имеет — тогда процедура перейдет по тому что не имеет условия, если не выполнены другие условия (см. поведение OTHER в сценариях). Если же все переходы имеют условия, процедура останется в одной команде до тех пор пока хотя бы одно условие не станет истинным
В функцию могут быть переданы входные данные. Входные данные представляют собой набор аргументов, каждый из которых имеет:
Количество аргументов может быть любым. Обратите внимание, что если аргумент является обязательным, то он должен быть описан в блок-схеме, в противном случае при попытке сохранить процедуру будет выведена ошибка.
Блок-схема процедуры состоит из узлов-действий («Команд»), узлов-ожиданий ответа клиента и переходов между ними. Визуальный редактор позволяет наглядно настроить логику без программирования.