Разработка навигации для бота

ОБЛАСТЬ ПРИМЕНЕНИЯ: ПАКЕТ SDK версии 4

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

Рассмотрим следующие дилеммы.

  • Как гарантировать, что пользователь не потеряется в диалоге с ботом?
  • Может ли пользователь переходить "назад" в диалоге с ботом?
  • Как пользователю переходить к "главному меню" на протяжении беседы с ботом?
  • Как пользователю "отменить" операцию на протяжении беседы с ботом?

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

Совет

Минимизировать возможность превращения бота в одного из этих персонажей часто можно с помощью правильной обработки пользовательских прерываний.

"Упрямый бот"

"Упрямый бот" настаивает на поддержании текущего курса беседы, даже когда пользователь пытается направить разговор в другое русло.

Рассмотрим следующий сценарий:

Example of a stubborn bot asking the same question over and over again.

Пользователи часто меняют свое мнение, решают отменить или иногда хотят начать все заново.

Совет

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

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

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

"Невежественный бот"

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

Рассмотрим следующий сценарий:

Example of a clueless bot accepting 'help' as a product code.

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

Совет

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

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

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

"Таинственный бот"

"Таинственный бот" не может немедленно подтвердить входные пользовательские данные любым способом.

Рассмотрим следующий сценарий:

Example of a mysterious bot that doesn't respond to any of a user's messages.

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

Совет

Рекомендовано. Спроектировать бот, который бы немедленно подтверждал введенные данные, даже в случаях, когда для составления ответа боту нужно немного времени.

Не рекомендовано. Проектировать бот, который бы откладывал подтверждение введенных данных до тех пор, пока он не завершит составление ответа.

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

"Бот Капитан Очевидность"

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

Рассмотрим следующий сценарий:

Example of a bot stating many things that are obvious to the user.

Совет

Рекомендовано. Спроектировать бот для предоставления информации, которая будет полезна для пользователя.

Не следует: разработка бота для предоставления неопрошенных сведений, которые вряд ли будут полезны для пользователя.

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

"Бот, который не может забыть"

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

Рассмотрим следующий сценарий:

Example of a bot that insists on completing an interaction from months ago.

Совет

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

Не следует: разработка бота для взаимодействия информации из прошлых бесед, когда она не относится к текущей беседе.

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

Следующие шаги

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

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