Действия
Скопировать ссылку на статью
Скопировано

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

Здесь важно понимать разделение ролей, на котором стоит вся механика: агент двигает сценарий, вызывая шаги, а действия внутри шага выполняет система. Для агента шаг — «чёрный ящик»: он решает «вызвать или нет» по описанию шага и его полям, а какие действия лежат внутри и что они сделают — он не видит. Поэтому любые настоящие возможности агента (не «пообещать передать оператора», а действительно передать) появляются только через действия, упакованные в шаги.

Действия добавляются в шаг через панель «Добавление действия» — она открывается по кнопке «Добавить действие» при редактировании шага сценария. В панели действия сгруппированы по назначению: «Коммуникация и AI», «Управление сценарием», «Условные действия», «Диалог», «Клиент и заказ».

Порядок действий и управление потоком

Действия в шаге выполняются по очереди, сверху вниз, и этим потоком можно управлять — для этого служат условные действия. Они проверяют набор условий и в зависимости от результата меняют ход выполнения:

  • «Выполнить следующие действия» — если условия выполнены, выполнить заданное число идущих дальше действий (иначе пропустить их);
  • «Пропустить следующие действия» — наоборот: при выполнении условий пропустить заданное число следующих действий;
  • «Остановить выполнение шага» — завершить шаг досрочно, не останавливая при этом самого агента;
  • «Заблокировать выполнение шага» — остановить шаг и поставить агенту задачу в дашборде: например, вернуться и дособрать недостающее.

Поэтому одно и то же действие, поставленное до или после условного, может выполниться, а может и нет, — и от порядка зависит, что в итоге отработает.

Блокировка выполнения шага

Некоторые действия используют для работы данные шага — значения, которые агент приносит из контекста переписки, когда вызывает шаг (телефон, тип обращения, выбранный вариант). Поля в настройках шага можно пометить обязательными: без них действиям шага не с чем работать.

Агент может вызвать шаг и без обязательных данных — это нормальное поведение. Тогда система не выполняет шаг до конца, а блокирует его выполнение и ставит агенту задачу типа «Сбор данных шага» — донести поля, помеченные обязательными в настройках. Агент извлекает их из переписки или спрашивает у клиента и вызывает шаг снова, и так, пока все обязательные поля не окажутся на месте; тогда шаг выполняется. По сути, это не выключение работы с шагом, а сбор недостающих данных для его выполнения — «Сбор данных идёт порциями».

Выполнение шага можно заблокировать и без привязки к конкретным данным — просто по набору условий. Для этого есть действие «Заблокировать выполнение шага»: когда условия выполнены, шаг останавливается, а агент получает сообщение о блокировки, указанное в действии — что не так и что нужно сделать (например, присланное значение не прошло проверку). Агент исправляет ситуацию и вызывает шаг заново.

Остановка работы агента и выполнения шага

Два действия служат для приостановки работы, но по-разному: «Остановить AI‑агента» прекращает работу агента целиком, «Остановить выполнение шага» завершает только текущий шаг.

«Остановить AI‑агента» полностью останавливает агента вместе с выполнением шага: в текущем запуске прекращаются любые его действия — не только сообщения, а вообще всё. Останавливается именно текущий запуск: на следующее сообщение клиента агент запустится снова, если диалог к тому моменту всё ещё на боте.

«Остановить выполнение шага» (условное) завершает выполнение текущего шага раньше времени, когда срабатывают заданные в действии условия. Это не блокировка, а нормальное завершение шага: он помечается успешно выполненным, и агент получает следующее направление по сценарию. Сам агент не останавливается — если ему есть чем заняться дальше, он продолжит работу.

«Закрыть диалог» и «Назначить диалог на менеджера» — логически завершающие действия в рамках диалога с клиентом, но сами по себе они агента не останавливают. Так как агент не знает, какие действия будут выполнены при вызове шага, он может захотеть продолжить свою работу и, если не добавить действие «Остановить AI‑агента», он сможет продолжить работу и, например, отправить клиенту еще одно сообщение:

  • после назначения диалога на следующее сообщение клиента агент уже не запустится (диалог будет на менеджере), но и в текущем запуске, как правило, продолжать работу ему уже не нужно;
  • после закрытия диалога сообщение агента, отправленное в чат клиенту, может заново его открыть.

Поэтому, когда после назначения или закрытия диалога агент точно должен остановить работу, добавляйте в конце действие «Остановить AI‑агента».

Коммуникация и AI

«Отправить сообщение»

Ручная отправка готового сообщения — в обход прямых действий агента. Агент все равно видит это сообщение в переписке, как будто его отправлял он сам. Получателя выбирают переключателем: «Отправить клиенту» (клиент видит в чате) или «Отправить менеджеру» (приватное сообщение, клиент его не видит — например, записка оператору). Текст задают одним из двух способов: «Изменить» — фиксированный текст, или «Данные шага» — взять из переменной, которую заполнил агент.

Ключевой момент: агент может общаться с клиентом сам, это его базовая возможность. Действие «Отправить сообщение» предназначено для случаев, когда необходимо больше контроля по тому, что пишет агент и в какой момент, а также для фиксированных уведомлений («Сейчас нерабочее время», «Ожидайте оператора»), приватной сводки оператору, отправки из фоновых шагов сценария, где агент вообще не вызывается.

«Прочесть документ базы знаний»

Указывает агенту на конкретные документы из базы знаний, выбранные в поле «Документы базы знаний». В отличие от обычной работы, когда агент вынужден сам ориентироваться по загруженной в базу информации, здесь вы точечно подсказываете ему, какой документ необходимо изучить для продолжения работы по сценарию — например, регламент, который агент обязан учесть на этом этапе. Про саму базу знаний — в разделе «База знаний».

«Добавить инструкцию»

Это одно из самых важных действий, которое добавляет агенту короткое разовое указание с высоким приоритетом в виде задачи в его дашборде и сообщает ему, что необходимо сделать сразу после выполнения шага. Это «горячая» директива на ближайшие действия — в отличие от «холодного» описания шага, которое агент видит всё время, пока шаг доступен, и по которому решает, вызывать шаг или нет. Где какие инструкции размещать и чем «горячие» отличаются от «холодных» — подробно в разделе «Сравнение инструкций сценария».

«Вызвать AI‑агента» (доступен только в шагах, запускаемых по событию)

Это действие доступно только в шагах, запускаемых системой по событиям. Такие шаги сами по себе агента не запускают — они лишь выполняют свой набор действий. Чтобы в таких шагах агент включился в работу, и служит это действие. Поведение зависит от того, на ком сейчас диалог, и от выбранного режима запуска — «Назначенный ответственный», «Фоновая работа» или «Перехват диалога». Если диалог на боте, агент запустится в любом режиме; если на менеджере или другом боте — режим «Назначенного ответственного» ничего не сделает, «Фоновая работа» запустит агента: диалог себе он не заберёт (ответственный не меняется), но за этот один запуск сможет написать клиенту и выполнить действия, а «Перехват диалога» заберёт его боту и запустит агента. Подробно про режимы и запуск на чужом диалоге — в разделе «Запуск агента, когда диалог не на боте».

«Остановить AI‑агента»

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

«Очистить задачи агента»

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

В поле «Типы задач» выбирают, какие именно задачи очищать:

  • «Контекст шагов» — записанный действием «Изменить контекст сценария»;
  • «Пользовательские инструкции» — добавленные действием «Добавить инструкцию»;
  • «Сбор данных шага» — задачи, добавляемые после вызова шагов без полного набора обязательных данных;
  • «Переход к другому шагу сценария» — последнее выданное агенту направление перехода.

Если не указывать конкретные типы задач – будут очищены все типы.

Обычно, это действие используется, когда:

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

Также данное действие может использоваться при закрытии диалога в шагах, настроенных на это событие, если автоматическая очистка контекста отключена в настройках. В этом случае, можно более гибко управлять тем, какой накопленный контекст работы агента необходимо очистить — подробнее в разделе «Что копится в контексте и когда сбрасывается».

Управление сценарием

«Отложенный запуск шага»

«Отложенный запуск шага» планирует запуск шага сценария по таймеру. Шаг, который вы указываете в настройках действия, — это целевой шаг, настроенный на событие «Отложенное действие»: именно он запустится, когда сработает таймер, и может:

  • либо выполнить какие-то фоновые действия без участия агента (написать фиксированное сообщение клиенту, распределить или закрыть диалог),
  • либо выдать агенту дополнительную инструкцию для работы через «Добавить инструкцию» и запустить его при помощи действия «Вызвать AI‑агента» (без конкретного направления в сценарии) или «Перейти к другому шагу», в котором выбран агентский целевой шаг (с указанием направления работы).

Время запуска задаётся одним из способов: через интервал от текущего момента, в точный момент или по рабочему времени системы — на его динамически рассчитанный старт или окончание. Например, запустить шаг в начале следующего рабочего дня, после окончания перерыва или, наоборот, в конце.

Как и у «Перейти к другому шагу», у отложенного запуска есть условная проверка: в момент постановки система смотрит, доступен ли целевой шаг по его условиям, и если сейчас недоступен — запуск не планируется. Все действия «Отложенный запуск шага», чей целевой шаг прошёл проверку, будут поставлены на таймер. Из одного шага так можно поставить сразу несколько запусков, каждый со своими условиями.

Это основа всей системы напоминаний и продолжения работы агента, когда клиент замолчал. Механика обширная — выбор времени, привязка к расписанию, дедупликация — и целиком разобрана в разделе «Отложенные действия».

«Отменить отложенный запуск»

Снимает ранее запланированные отложенные запуски, чтобы устаревший таймер не сработал. Типичный случай — клиент ответил раньше, чем подошло время напоминания о молчании: «будильник» больше не нужен, и его убирают, пока он не поднял агента впустую.

Можно отключать отложенные запуски при успешном проходе агентом сложного участка сценария, например, требующего отправки напоминаний клиенту (определение намерения клиента на старте сценария, сбор необходимых данных для шага), в целевом шаге после его вызова агентом. Но иногда удобнее добавить шаг, запускаемый системой на каждое «Сообщение от клиента» или «Закрытие диалога», и делать очистку в нём без указания конкретных шагов. В таком случае очищены будут все отложенные запуски.

«Изменить переменную состояния»

Записывает значение в память сценария — внутреннее состояние чата, невидимое для агента хранилище, привязанное к переписке с конкретным клиентом.

В поле «Куда записать» задают имя переменной – произвольное название, которое после будет доступно в списке для выбора при составлении условий. Значение может быть фиксированным (вкладка «Изменить») или динамическим, взятым из «Данных шага». Возможно записать сразу несколько переменных — через «+ Добавить поле».

Сохранённое значение не показывается агенту как инструкция — оно используется в условиях (источник «Состояние») для ветвления сценария. Ранее использованные в этом действии имена переменных будут доступны для выбора в форме составления условий.

Сохраненные значения не очищаются вместе с контекстом сценария при закрытии диалога. Про источник «Состояние» и его жизненный цикл — в разделе «Источники данных для условий».

«Изменить контекст сценария»

Форма почти такая же — имя ключа в «Куда записать» с произвольным названием. Значение также может быть фиксированным или динамическим (определенным агентом). Но смысл противоположный: это значение не только видно агенту, но также оно добавляется в рабочий дашборд и превращается в мощный инструмент управления агентом как фоновая установка, которая влияет на его рассуждения и действия в следующих шагах.

Не злоупотребляйте: большой объём информации в контексте может ухудшать работу агента. Пустое значение удаляет ключ. Накопленный контекст сценария очищается через «Очистить задачи агента» → «Контекст шагов».

«Добавить инструкцию» и «Изменить контекст сценария» — это виды инструкций для агента (их теория — в разделе «Инструкции сценария»); «Изменить переменную состояния» — служебная память для системы, а не для агента.

«Перейти к другому шагу»

Важнейшее действие, которое связывает отдельные шаги в сценарий работы. Задаёт агенту направление: к какому следующему шагу перейти после успешного выполнения текущего. Важно понимать: «переход не гарантирован» — агент может отреагировать на сигнал или выбрать другой, более подходящий по контексту доступный шаг сценария. Это прямое следствие принципа «сценарий двигает сам агент» (см. «Как шаги собираются в сценарий»).

Два режима работы:

  • «Прямой переход» — всегда один и тот же целевой шаг для перехода;
  • «Условный переход» — выбираете переменную в «Данные шага» с заранее настроенными вариантами значений, которые позволяют перейти к разным целевым шагам (классическое ветвление по собранному значению). Несколько значений могут вести к одному и тому же шагу. Для выбора не подходят переменные с множественным значением.

Для экономии времени прямо из списка шагов можно «Создать новый шаг» в сценарии, на который будет настроен переход.

В поле «Инструкция» можно приложить короткое пояснение агенту «как и зачем» совершать переход, которое становится одним из мощных видов инструкций, отображаемых агенту в дашборде до тех пор, пока переход не будет осуществлён.

Переключатель «Переход без промежуточных сообщений» делает переход «немым» — у агента временно отключается возможность писать клиенту самостоятельно, он вынужден молча идти по указанному направлению к целевому шагу. Использование такого режима вместе с действием «Отправить сообщение» с текстом, взятым из данных шага, которые заполнил агент, заметно повышает стабильность на ответственных участках работы, где требуется отправить клиенту несколько сообщений подряд. В результате агент только подготавливает текст для сообщений на основе контекста переписки, а отправляются они вручную в шагах сценария, вызываемых агентом «молча».

Другой удобный способ настраивать гибкие сценарии – «условный переход», когда задача на переход к другому шагу не создаётся, потому что целевой шаг сейчас недоступен по условиям, — более подробно в разделе «Условные переходы». Этот механизм устроен на принципе, по которому в рамках одного шага может быть добавлена только одна (первая по порядку выполнения) задача на переход к другому шагу. Если по текущему набору условий целевой шаг недоступен, то сработает переход по следующему действию и так далее.

Условные действия

Условные действия не делают полезной работы сами, а управляют тем, как выполняются остальные действия внутри шага. У всех четырёх — одинаковый механизм задания набора условий (кнопка «+ Условие», выбор источника значения, оператор и ожидаемое значение), он подробно описан в разделе «Условные действия внутри шага». Различаются они тем, что делают с потоком:

  • «Выполнить следующие действия» — если условие выполнено, следующие N действий выполняются как обычно; если нет — пропускаются. Количество задаётся полем «Количество выполняемых действий текущего шага».
  • «Пропустить следующие действия» — зеркальное: если условие выполнено, следующие N действий пропускаются; если нет — выполнение продолжается. Количество — «Количество пропускаемых действий текущего шага».
  • «Заблокировать выполнение шага» — если условие выполнено, шаг останавливается с сообщением агенту («Инструкция при блокировке шага»), и шаг не считается выполненным: агент должен исправить ситуацию и вызвать шаг заново. По сути это ручная проверка «данные не те — вернись и поправь».
  • «Остановить выполнение шага» — если условие выполнено, текущий шаг завершается, остаток его действий пропускается, но шаг считается выполненным, и агент идёт дальше.

«Выполнить» и «Пропустить» — две стороны одного и того же; выбирайте то, что в конкретном месте читается понятнее (обычно «Выполнить следующие действия» нагляднее). А две «остановки» различаются исходом: «Заблокировать выполнение шага» возвращает агента доделать (шаг не выполнен), «Остановить выполнение шага» тихо закрывает шаг как выполненный.

Диалог

«Добавить тег диалогу» и «Удалить тег у диалога»

Ставят и снимают теги на текущем диалоге; значение тега — фиксированное («Изменить») или из переменной шага («Данные шага»). Это теги для текущего диалога; теги для клиента — отдельные действия в группе «Клиент и заказ».

«Назначить диалог на менеджера»

Простая смена ответственного, без возврата диалога агенту. Три режима:

  • «Менеджер» – один и тот же менеджер из списка «Изменить» или динамически подобранный агентом наиболее подходящий по контексту переписки сотрудник из «Данные шага» (для выбора необходимо заранее настроить переменную с типом "Менеджер");
  • «Бот» – другой ответственный бот, подключенный к системе;
  • «Бот‑распределитель» - автоматическое распределение по настройкам бота-распределителя (убедитесь, что он подключен).

Передать диалог, который назначенный на менеджера, агенту можно только одним способом – отправить в чат команду /agent. Агент сам заберет на себя диалог и продолжит работу с клиентом.

«Запросить помощь у менеджера»

Передача диалога с возвратом агенту. Заранее задаёт шаг сценария, к которому агент вернётся после команды от менеджера.

Упаковывает в себе сразу несколько действий:

  • выбор кому передать диалог («Менеджер» или «Бот‑распределитель»);
  • «Сообщение клиенту» – предупреждение перед распределением (берется из переменных шага);
  • «Резюме для менеджера» – приватная сводка менеджеру (берется из переменных шага),
  • целевой шаг для возврата в поле «После обработки перейти к шагу».

После передачи агент в этом ходе останавливается, лишних сообщений не шлёт.

Вернуть диалог агенту для продолжения работы менеджер может командой в чате /agent <шаг> [опциональные инструкции], подробнее в разделе «Команда менеджера для запуска агента».

«Закрыть диалог»

Завершает текущий открытый диалог в чате.

Чтобы агент гарантированно не отправлял дополнительные сообщения клиенту после назначения или закрытия диалога, добавьте в конце действие «Остановить AI‑агента».

Две связанные тонкости: когда диалог закрывает сам агент действием по сценарию, шаги настроенные на закрытие диалога не запускаются (защита от петель — см. «Защита от петель»); и при закрытии по умолчанию очищается накопленный контекст (см. «Очистка контекста при закрытии диалога»).

Клиент и заказ

«Обновить данные клиента»

Позволяет сохранять полученные в процессе работы данные в карточку клиента.

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

Кнопка «Добавить поле» позволяет настроить несколько связей «поле в карточке клиента – источник данных». Для настройки связи в «Куда записать» выбирают поле клиента (включая пользовательские поля), источником значения может быть заполненная агентом переменная из «Данные шага» или фиксированное значение («Изменить»). Тип каждой переменной шага подбирают под целевое поле — полный список в подразделе «Типы данных».

Среди типов есть составные. Переменная типа телефон позволяет клиенту указать сразу несколько номеров — в карточку клиента сохраняются все. Переменная типа адрес сохраняет адрес клиента.

Данное действие всегда работает с одним и тем же клиентом, к которому привязан чат в системе. Если на момент вызова действия клиента не существует – он будет автоматически создан и привязан к чату.

«Добавить тег клиенту» и «Удалить тег у клиента»

Ставят и снимают теги в карточке клиента в системе. У добавления есть переключатель «Закрепить первый тег» — первый из добавляемых тегов помечается как закреплённый в карточке клиента.

«Создать или обновить корзину»

Позволяет сохранять список позиций каталога товаров в системе и отслеживать (в виджете «Текущая корзина») какие товары агент отложил по итогам общения с клиентом. Данное действие может быть использовано как один из этапов оформления заказа в чате, когда сначала с клиентом обсуждается и подготавливается состав заказа, а затем, в отдельном шаге сценария, собранная корзины используется для оформления заказа.

Состав передаётся через переменную шага типа «Состав заказа» — тем же механизмом, что и при сохранении состава в заказ: внутри неё лежат найденные агентом позиции каталога с их количеством (про тип — в подразделе «Типы данных»).

Корзину может подготовить только подагент для работы с каталогом — про эту связку см. «Подагент для работы с каталогом». Поэтому, для использования этого действия, необходимо его включить на вкладке настроек «База знаний» и выбрать каталог для работы в «Подключить каталог товаров или услуг».

«Очистить корзину»

Очищает корзину клиента в системе. Если корзина была использована при оформлении заказа, то желательно её очищать вместе с указанием, в какой переменной лежит ID оформленного заказа, который должен передать в данные шага агент из контекста работы.

«Создать или обновить заказ»

Это действие по логике работы и настройке аналогично действию «Обновить данные клиента», только сохраняет данные в заказ. Также требуется сначала подготовить набор переменных в данных шага, которые затем можно будет использовать в связке «поле в карточке заказа – источник данных» (через кнопку «+ Добавить поле»).

Составные типы переменных в заказе ведут себя иначе, чем в клиенте: переменная типа телефон раскладывается максимум на два — основной и дополнительный; переменная типа адрес заполняет адрес доставки.

В отличие от действия «Обновить данные клиента», который всегда один в рамках чата, заказов у клиента может быть сколько угодно. Поэтому важно научить агента работать с ранее созданным заказом и при необходимости его обновлять. Для этого в шаг, в котором есть действие «Создать или обновить заказ», добавляется опциональная переменная с типом целое число, содержащая ID оформленного заказа, если такой есть. Далее настраивается связь поля «ID заказа» с созданной переменной.

Агент сам понимает по контексту переписки, был ли ранее создан заказ. Если его нет, то он не передает это значение при вызове шага и система создает новый заказ. Агент получает в ответ ID нового заказа и также он автоматически сохраняется в контекст его работы. При следующем вызове шага, содержащем такое же настроенное действие сохранения заказа, агент передаст ID заказа и, вместо создания нового, будет обновлен существующий заказ.

Сбор всех данных, необходимых для оформления заказа, может привести к разрастанию шага и его переменных. Клиент может отказаться отвечать на многочисленные вопросы агента и уйти. Для решения этой задачи существует две стратегии:

  • постепенно собирать необходимые данные в цепочке из связанных шагов, передавая ID созданного заказа между ними, дополняя его каждый раз новыми полученными данными. Например, в первом шаге уточнить у клиента контактные данные, во втором – адрес и способ доставки, а в конце цепочки сохранить состав заказа и поменять его статус;

  • использовать переключатель «Создавать заказ, даже если не все обязательные данные шага заполнены» (по умолчанию выключён) позволяет создавать заказ сразу, не дожидаясь, когда агент соберет у клиента все необходимые данные.

В обоих случаях, для сохранения состава заказа служит специальный тип переменной шага сценария – «Состав заказа». Переменная этого типа содержит «внутри»: конкретные найденные агентом позиции из каталога товаров или услуг, а также их количество. Остается только указать эту переменную в связке с полем «Товары в заказе». Про «Состав заказа» и остальные типы переменных шага — в подразделе «Типы данных».

Простое правило, куда сохранять данные:

  • если данные нужны бизнесу или оператору — пишите в клиента/заказ;
  • если только сценарию для ветвления и условий — в состояние;
  • если агенту, чтобы он держал что-то в уме, — в контекст сценария.
Благодарим за отзыв.
Была ли статья полезна?
Нет
  • Рекомендации не помогли
  • Нет ответа на мой вопрос
  • Текст трудно понять
  • Не нравится описанный функционал
Да
Предыдущая статья
Сценарий
Сценарий — заранее заданная логика поведения агента, собранная из связанных между собой шагов.
Следующая статья
Сигналы
Сигналы — это фоновые признаки переписки, которые сигнальная система распознаёт по ходу разговора