Оптимизируем общение чатботов

Оптимизируем общение чатботов
Автор:
Автор материала
Дмитрий
Время чтения:
Время чтения
21 мин.
Обновлено:
Обновлено, дата
21/01

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

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

Избегание повторяющихся сообщений

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

Один из ключевых подходов — использование шаблонов и параметризированных сообщений. Вместо того чтобы вручную прописывать каждое сообщение, можно создать единый шаблон с переменными. Возвращаясь к прошлым урокам, для приветственного сообщения можно задать формат: «Привет, { {Имя} }! Рад вас видеть в нашем чате. Чем могу помочь?». Такая структура позволяет использовать одно сообщение для множества пользователей, заменяя имя на персонализированные данные.

Использование логики с переходом между экранов вместо огромного выбора сообщений в боте кофейни
Использование логики с переходом между экранов вместо огромного выбора сообщений в боте кофейни

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

Использование случайных значений и таблиц данных

Другим полезным методом оптимизации является использование таблицы данных для хранения информации. Такой подход особенно актуален, если бот работает с данными различных пользователей одновременно. Вместо того, чтобы хранить множество информации в переменных и дублировать ее между пользователями, вы можете воспользоваться таблицами данных. Соответственно, вместо того чтобы обновлять во всех чатах данные при каждом взаимодействии, бот может загружать их из базы.

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

Вместо десятка разных сообщений можно выбрать случайное из списка
Вместо десятка разных сообщений можно выбрать случайное из списка

А помните приветственное сообщение из прошлых уроков? Если человек пользуется ботом каждый день, то одно и то же сообщение быстро сведет его интерес на нет. Вы можете разнообразить его типа «Привет, { {Имя} }! Рады вас видеть в нашем чате. Чем можем помочь?». «Hola, { {Имя} }! У вас появился вопрос?», «Как дела, { {Имя} }! Мы готовы помочь – в чем вопрос?». Соответственно, надо не только подготовить эти 3-5-10 сообщений, но и настроить условия отправки каждого. А можно использовать блок со случайным текстом – в переменную записывается случайная строка из списка, который вы укажете. И эту строку вы можете использовать в сообщении. Такая структура упрощает создание, понимание, а также позволяет использовать простую схему для множества отправляемых сообщений.

Повторяющиеся наборы действий чатботов

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

Часто, при первом приближении вы не видите таких повторов - это нормально. По мере работы над проектом они будут все ярче проявляться. Конечно, можно оставить все без изменений, но в этом случае вы рискуете. Во-первых, при необходимости что-то изменить вам нужно будет повторить это для всех повторяющихся групп (а для больших чатботов из пары тысяч элементов это явно не 1-2 раза...). Во-вторых, если эти повторы оперируют одними и теми же данными, то пользователь скорее всего будет негативно к такому относиться.

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

Выбор напитка идет при старте заказа и после каждого предыдущего добавление - сделать можно переходами
Выбор напитка идет при старте заказа и после каждого предыдущего добавление - сделать можно переходами

Периодическое обновление данных

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

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

Оптимизация условий

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

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

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

С одной стороны, для каждой рассылки уроков мы могли бы просто сравнивать: какой день по порядку И идет ли обучение И сделано ли прошлое задание. То есть для каждой цепочки вы сделаете сразу 3 проверки. Но лучше делать эти проверки постепенно, причем, начинать с откидывающей наибольшее число вариантов. Так, сначала вы проверяете, идет ли обучение. А только потом, в случае верной проверки, идет сравнение, сделан ли предыдущий урок. И только после верной проверки уже проверяется день. В таком случае вы экономите немного ресурсов, а значит, быстрее работает ваш чатбот.

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

Кажется, что это простое улучшение, однако уже одно оно позволяет боту работать быстрее и эффективнее. А представьте, что таких «кирпичиков» будет 10-20?

Использование внешних сервисов

Автоматизация и интеграция с внешними сервисами — еще один способ оптимизации. Например, бот может подключаться к системам CRM для получения данных о клиентах или использовать API сторонних сервисов для выполнения задач. Это сокращает объем работы, который чатботам нужно выполнять параллельно. Вы также можете использовать коннекторы типа Zapier, чтобы вам не приходилось настраивать вручную все поддерживаемые интеграции.

Коннектор Zapier
Коннектор Zapier

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

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

Практическое задание

В этом уроке вам предстоит подумать над тем, как составить оптимальные диалоги и экраны (если вы предпочитаете визуальный конструктор) или схему работы чатбота (если вы пользуетесь редактором схем). Представим, что к вам пришел клиент с уже готовыми (по его мнению) вариантами диалогов для своего проекта. Ему нужен чатбот, который будет заниматься 24/7 рум-сервисными вопросами мини-гостиницы.

1. Прочтите диалог.

[чатбот] Привет! Рад, что вы пользуетесь рум-сервисом гостиницы «Летняя пташка». Я ваш персональный помощник, Игорь. Чем могу помочь?

Кнопки: «Показать услуги», «Часто задаваемые вопросы», «Связаться с поддержкой»

[пользователь] Показать услуги.

[чатбот] Вот что я могу для вас сделать:

Кнопки: «Оформить заказ», «Проверить статус заказа», «Узнать о скидках»

Группа 1: Оформление заказа

[пользователь] Оформить заказ.

[чатбот] Отлично! Что вы хотите заказать?

Кнопки: «Еда», «Одежда», «Техника»

[пользователь] Еда.

[чатбот] Выберите тип кухни:

Кнопки: «Итальянская», «Японская», «Американская»

[пользователь] Итальянская.

[чатбот] У нас есть: пицца, паста, лазанья

Кнопки: «Выбрать пиццу», «Выбрать пасту», «Выбрать лазанью», «Назад»

[пользователь] Выбрать пиццу.

[чатбот] Выберите размер:

Кнопки: «Маленькая», «Средняя», «Большая»

[пользователь] Средняя.

[чатбот] Отличный выбор! Добавить напиток?

[пользователь] Да.

[чатбот] Выберите напиток:

Кнопки: «Кола», «Сок», «Минеральная вода»

[пользователь] Сок.

[чатбот] Ваш заказ: Средняя пицца, Сок. Все верно?

[пользователь] Подтвердить.

[чатбот] Спасибо за заказ! Мы доставим его в течение часа. Хотите отследить статус?

Группа 2: Проверка статуса заказа

Автоматизируйте бизнес: освоите чат-ботов за 5 дней

Автоматизируйте бизнес: освоите чат-ботов за 5 дней

Курс, который поможет вам сэкономить время и увеличить вашу эффективность с помощью чат-ботов.

[пользователь] Да.

[чатбот] Введите номер вашего заказа.

[пользователь] 12345.

[чатбот] Заказ 12345: статус «В пути». Ориентировочное время доставки: 15 минут. Нужна помощь?

[пользователь] Нет.

[чатбот] Отлично! Если понадоблюсь, напишите.

Группа 3: Часто задаваемые вопросы / Связь с поддержкой

[пользователь] Часто задаваемые вопросы.

[чатбот] Вот популярные вопросы. Выберите один, чтобы узнать больше:

Кнопки: «Как оформить заказ?», «Как узнать статус заказа?», «Как связаться с поддержкой?»

[пользователь] Как связаться с поддержкой?

[чатбот] Вы можете связаться с поддержкой через чат или звонок. Как предпочитаете?

[пользователь] Чат.

[чатбот] Напишите ваш вопрос, и мы постараемся помочь.

[пользователь] У меня не работает приложение.

[чатбот] Понял! Передал вашу проблему специалисту. Он ответит в течение 5 минут. Хотите еще что-то спросить?

[пользователь] Нет.

[чатбот] Хорошо! Если появятся вопросы, пишите.

Завершение диалога

[чатбот] Спасибо, что выбрали нас! Хотите оставить отзыв?

[пользователь] Да.

[чатбот] Напишите ваш отзыв, мы учтем все пожелания.

[пользователь] Отличный сервис, спасибо!

[чатбот] Спасибо за обратную связь! Рады стараться для вас.

[пользователь] Пока.

[чатбот] До свидания! Возвращайтесь снова.

Напоминания, уведомления, рассылки

[чатбот] Вы давно к нам не заходили. Хотите узнать о новинках?

[пользователь] Да.

[чатбот] Новинка дня: паста «Карбонара» со скидкой 15%. Заказать?

[пользователь] Да.

[чатбот] Отлично!

[чатбот] Напоминаем: ваш заказ доставлен. Все ли вас устроило?

[пользователь] Да.

[чатбот] Приятно слышать! Хорошего дня.

[чатбот] Не забывайте: у нас сегодня скидка 20% на пиццу! Хотите воспользоваться?

[пользователь] Да.

[чатбот] Отлично! Переходим к оформлению заказа.

Поддержка

[пользователь] У меня вопрос.

[чатбот] Напишите, чем я могу помочь.

[пользователь] Как поменять адрес доставки?

[чатбот] Среди часто задаваемых вопросов я не нашел ответа – сейчас приглашу менеджера, чтобы вам помочь.

[чатбот] Вы можете изменить адрес через личный кабинет или связаться с поддержкой. Хотите перейти?

[пользователь] Перейти.

2. Запишите, исходя из представленного диалога, какие экраны вам необходимо сделать, как они будут связаны.

Сохранить

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

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

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

Подсказка. Проверьте, есть ли:

- повторяющиеся диалоги, которые еще не вынесены на отдельные экраны,

- взаимодействие со сторонним API, которое необходимо настроить,

- обратная связь,

- особенности общения, которые лучше изменить,

- повторяющиеся или разнообразные тексты, которые можно оптимизировать.

Скорректируйте диалоги и запишите их в поле ниже. (Вы можете скопировать их из задания и редактировать сразу в поле)

Сохранить

5. Загрузите чатбот в канал связи и протестируйте. Выполняет ли бот свои функции? Что происходит, если вы даете другие ответы? Появилось ли понимание, как еще его можно оптимизировать? Запишите результаты ниже.

Сохранить

Мы почти закончили курс - осталось итоговое задание. Когда будете готовы, переходите к следующему уроку.

Автор: Дмитрий
  1. Главная

Вам также понравится

Сэкономьте время на самостоятельном создании ботов

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

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

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

Пройти тест и узнать
1/23
Чатбот для интернет-магазина: клиент выбирает между двумя похожими продуктами. Как он поможет с выбором?
Сравнит характеристики и преимущества товаров
Подождет конкретного вопроса
Спросит о предпочтениях клиента и предложит лучший вариант
Переключит клиента на консультанта
Назад
2/23
Для образовательного чатбота: как он должен действовать, если ученик отвечает неправильно на вопрос теста?
Объяснить правильный ответ и предложить повторить попытку
Перейти к следующему вопросу
Уточнить сложности/проблемы и в общении объяснить именно их
Отправить стандартные дополнительные материалы для изучения темы
Назад
3/23
Клиент пишет, что он раздражен и разочарован продуктом. Как чатбот ответит пользователю?
Извинится за неудобства и уточнит: «В чем именно вы ожидали большего? Мы по возможности исправим!»
Подробно расспросит, по возможности снижая накал статей. При необходимости отправит заявку менеджеру (для сложного взаимодействия)
Предложит стандартный бонус или скидку без доп.общения с пользователем
Автоматически предложит вернуть деньги или обменять товар
Назад
4/23
У вас образовательный портал. На странице продажи курса / в первом сообщении продающего чатбота, бот должен вовлечь пользователя в диалог. Как лучше начать разговор?
Назад
Вперед
5/23
Клиент жалуется, что раньше чатбот отвечал быстрее или на большее число вопросов. Как ваш чатбот отреагирует?
Поднимет настроение, написав что-то вроде шутки: «Иногда и боты нуждаются в кофе»
Спросит, чем еще может помочь, чтобы компенсировать неудобства
Расскажет больше о возможностях, которые он теперь предоставляет (и в связи с чем связаны неудобства)
Извинится и объяснит, что проблема временная
Назад
6/23
Ваш чатбот должен мотивировать сотрудников проходить обучение. Что он предложит?
Полезный контент
Полезные материалы и упражнения с результатом, который можно сразу оценить
Игровые элементы: баллы, награды и лидерборды
Персональные рекомендации по обучению на основе тестов и результатов пользователя
Назад
7/23
Ваш чатбот работает в туристической компании. Как он будет предлагать туры?
Через тест «Где вы хотите отдохнуть?»
Сразу покажет акции и популярные направления
Туры продают менеджеры, а бот только осуществляет поддержку
Предложит персонализированные варианты на основе данных клиента
Назад
8/23
Вы продаете новый товар, и его нужно активно продвигать. Что предложит ваш чатбот?
«Узнайте, подходит ли этот товар вам!»
«Суперновинка! Только сегодня скидка 20%!»
Рассказ о продукте через интересную историю или кейс
Назад
9/23
Вы проводите обучение через чатбота. Пользователь не понимает тему. Как чатбот сможет лучше ему помочь?
Направит к преподавателю или эксперту
Покажет дополнительный материал и объяснения
С помощью ИИ придумает другое объяснение, примеры и упражнения
Предложит пройти еще раз с новыми подсказками и упражнениями
Назад
10/23
Система, включающая не только бота - у вас сложный продукт со всевозможными настройками. Как бы вы вводили пользователя в продукт и как использовали бы ботов?
Назад
Вперед
11/23
В интернет-магазине пользователь добавляет товары в корзину, но не завершает покупку. Что предложит чатбот?
Напоминание с бонусом через некоторое время: «Оформите заказ сегодня и получите скидку!»
Личный подход: «Вам нужна помощь с оформлением?» и соответствующий опрос
Подсказки по мере взаимодействия: «Не можете выбрать? Вот популярные товары из вашей корзины.»
Назад
12/23
Ваш чатбот должен привлечь внимание пользователей из социальной сети, к которой он подключен. Не принимая во внимание получение трафика, как он будет вовлекать пользователей?
Подождет, кошда пользователь сам ему напишет
Запустит викторину: «Ответьте на 3 вопроса и получите подарок!»
Опубликует шутку или мем с вопросом: «Угадай, кто твой идеальный помощник?»
Предложит тест: «Насколько ты готов к [теме вашего продукта]?»
Назад
13/23
Вы хотите, чтобы пользователи поделились мнением о вашем продукте. Как это сделает чатбот?
Прямой вопрос: «Что вам (не)понравилось больше всего?»
Предложить скидку за отзыв
Вопрос: «Оцените от 1 до 5, насколько вы довольны сервисом.»
Лучший отзыв месяца получает приз
Упаковать процесс в мини-квиз или игру с веселыми вопросами, из которых будет понятно мнение пользователя
Назад
14/23
Ваш чатбот — помощник в фитнес-клубе. С точки зрения бизнеса, что должен сделать бот, если пользователь пропустил неделю тренировок?
Спросить, напоминать ли ему
Напомнить о цели, которую хочет достичь пользователь
Прислать стандартное мотивационное сообщение с полезным советом
Предложить персональную консультацию с тренером
Назад
15/23
Отзывы показали частое мнение типа: «У вас что-то скучный бот!», а проведенный анализ показал важность этой составляющей общения. Как бы вы оживили диалог бота?
Сделать более юмористический контент бота с шутками и мемами
Показать забавные факты о компании или продукте
Добавить интерактивные тесты, упражнения и мини-игры
Не менять ничего
Назад
16/23
У вас много ушедших / потерянных клиентов. Вы поставили задачу для бота - вернуть их. Как лучше построить общение с ними?
Напомнить о преимуществах продукта через личное сообщение
Предложить эксклюзивную скидку или подарок
Задать пару вопросов типа «Что нам улучшить, чтобы вы вернулись?»
Назад
17/23
Ваш чатбот должен обучать пользователей новому навыку. Как он это сделает?
Разделит обучение на короткие шаги с примерами
Проведет интерактивный тест, чтобы сразу закрепить знания
Пошлет видеоуроки или статьи для самостоятельного изучения
Будет использовать наиболее эффективные упражнения (тесты, повторы, групповые задания) для выбранной ЦА
Назад
18/23
Ваш чатбот должен вовлечь пользователя в разговор, который начал с «Просто смотрю». Что предложить?
Спросить: «Что вы ищете? Могу помочь!»
Рассказать о самых популярных продуктах прямо сейчас
Сделать небольшой гид по сайту и показать интересные разделы
Назад
19/23
Пользователь забыл имя вашего бренда и спрашивает: «Чем вы вообще занимаетесь?» Как боту лучше ответить?
Запустить мини-квиз: «Угадайте наш продукт за 3 подсказки!»
Поделиться ссылками на статьи и кейсы для изучения
Подписать пользователя на рассылку с подробной информацией
Рассказать коротко о компании и ее ключевых услугах
Назад
20/23
Вы хотите, чтобы чатбот стал вирусным. Какой нестандартный функционал (или необычную фишку) вы бы добавили? Подумайте, словно пользователь этого вирусного бота, что бы вас привлекло?
Назад
Вперед
21/23
Клиент написал ночью: «Мне нужно срочно поговорить с менеджером!» Как чатбот справится с запросом?
Покажет список часто задаваемых вопросов и проблем для самопомощи
Постарается помочь пользователю решить вопрос самостоятельно с помощью сценариев
Предложит оставить заявку и пообещает срочный ответ утром
Уточнит детали и при необходимости передаст заявку дежурному менеджеру
Назад
22/23
Ваш чатбот помогает выбрать блюдо в ресторане. Клиент спрашивает, что лучше: паста или бургер? Как ответит ваш бот?
Бот просто должен получить заказ, остальное неважно
Порекомендует блюдо по популярности
Уточнит, что предпочитает пользователь, и задаст другие вопросы для выбора блюда
Предложит небольшую игру из картинок с теккстом на тему: «У нас лучший бургер или паста? Проверьте сами!»
Назад
23/23
Клиент жалуется, что доставка задерживается. Как ваш чатбот должен реагировать?
Сразу извинится и отправит промокод на скидку за неудобства
Уточнит статус доставки и при необходимости погасит негатив пользователя с помощью отвлекающих сообщений и скидок
Предложит связаться с менеджером для решения проблемы
Сначала уточнит заказ и предложит обновленную информацию о доставке
Назад

Обрабатываем ваши ответы...

>
Сделано на платформе ПРАВОЛОГИЯ