Создание бота Microsoft Teams

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

Далее описано и показано, как люди могут добавлять ботов, использовать их и управлять ими в Teams. Это может помочь вам в создании приложения.

Комплект разработчика для пользовательского интерфейса Microsoft Teams

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

Добавить бота

Боты доступны в чатах, каналах и личных приложениях.

Мобильные устройства

Пользователи могут получать доступ к ботам, добавленным на рабочем столе, с помощью @mention.

В этом примере показано, как получить доступ к мобильному боту в групповом чате с помощью @упоминания.

Настольный компьютер

Пользователи могут добавить бота одним из следующих способов:

  • Из Магазина Microsoft Teams.

  • Использовать всплывающее окно приложения. Для этого выберите значок Дополнительные в левой части экрана Teams.

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

    В примере показано, как добавить бота в групповой чат с помощью @упоминания.

Представление бота

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

Приветствие в чате один на один

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

Мобильные устройства

В этом примере показано введение бота в личном приложении на мобильном устройстве.

Версия для настольного компьютера

В этом примере показано представление бота в личном приложении.

Приветственное сообщение в каналах и групповых чатах

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

Мобильные устройства

В примере показано представление бота в контексте совместной работы на мобильном устройстве.

Версия для настольного компьютера

В примере показано представление бота в контексте совместной работы.

Проверка подлинности бота при едином входе

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

Не забывайте: в командном меню бота (Что я умею делать?) необходимо также предоставить команду для выхода из системы.

Мобильные устройства

В этом примере показан бот с кнопкой входа на мобильном устройстве.

Версия для настольного компьютера

В примере показан бот с кнопкой для входа в систему.

Обзоры

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

Важно!

Обзоры должны быть доступны пользователям без входа в систему.

Чаты один на один

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

Мобильные устройства

В этом примере показан обзор бота в приватном чате на мобильном устройстве.

Версия для настольного компьютера

В примере показан видеообзор бота в чате с одним человеком.

Каналы и групповые чаты

В каналах и групповых чатах тур должен открываться в модальном режиме (также известном как диалоги (называемые модулями задач в TeamsJS версии 1.x)), чтобы он не прерывал текущие беседы. Это также дает возможность реализовать в обзоре представления на основе ролей.

Мобильные устройства

В этом примере показан обзор бота в канале на мобильном устройстве.

Версия для настольного компьютера

В примере показан видеообзор бота в канале.

Чат с ботом

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

Чат с ботом в разных контекстах

Ботов можно использовать в следующих контекстах:

  • Личные приложения. В личном приложении у бота есть специальная вкладка чата.
  • Приватный чат: пользователь может начать приватную беседу с ботом. Это то же самое, что и использование бота в личном приложении.
  • Групповой чат: Люди может взаимодействовать с ботом в групповом чате бота@mentioning.
  • Канал: люди могут взаимодействовать с ботом в канале. по @mentioning имени бота в поле создания. Помните, что в этом контексте бот доступен всей группе, а не только каналу.

Анатомия

Мобильные устройства

В этом примере показана структурная анатомия мобильного бота.

Счетчик Описание
1 Имя и значок приложения
2 Вкладка чата: открывает пространство для общения с ботом (только для личных приложений).
3 Настраиваемые вкладки: открывает другое содержимое, связанное с вашим приложением.
4 Сведения: выводит на экран основные сведения о приложении.
5 Пузырек чата: беседы ботов используют структуру обмена сообщениями Teams.
6 Адаптивная карточка: если ответы бота содержат адаптивные карточки, то карточка занимает всю ширину пузырька чата.

Настольный компьютер

В примере показана структурная анатомия бота.

Счетчик Описание
1 Имя и значок приложения
2 Вкладка чата: открывает пространство для общения с ботом (только для личных приложений).
3 Настраиваемые вкладки: открывает другое содержимое, связанное с вашим приложением.
4 Сведения: выводит на экран основные сведения о приложении.
5 Пузырек чата: беседы ботов используют структуру обмена сообщениями Teams.
6 Адаптивная карточка: если ответы бота содержат адаптивные карточки, то карточка занимает всю ширину пузырька чата.
7 Меню команд: отображает стандартные команды бота (определенные вами).

Меню команд

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

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

Меню команд должно всегда быть доступно независимо от состояния беседы.

В примере показано меню команд бота.

Понимание того, что говорят люди

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

Иллюстрация того, как бот может интерпретировать

Иллюстрация того, как бот может интерпретировать

Иллюстрация того, как бот может интерпретировать

Извлечение намерения и данных из сообщений

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

В следующих примерах описаны намерения пользователя и данные в сообщениях, отправленных ботам:

В предложении

В предложении

В предложении

Анализируйте и совершенствуйте

Узнавайте, что говорят пользователи при чате с ботом. Это будет непрерывный итеративный процесс по мере роста пользовательской базы в разных расположениях и организациях. Оттачивать умение бота распознавать язык и намерения можно с помощью Microsoft Language Understanding (LUIS).

  • Понимание LUIS. Узнайте, как LUIS использует ИИ для понимания естественного языка (NLU), чтобы оперировать данными приложения.
  • Интеграция с LUIS. Вы можете добавлять боту возможности естественного языка, не создавая сложных моделей машинного обучения.

Варианты использования

Простые запросы

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

Мобильные устройства

В этом примере показано простое взаимодействие запроса с ботом на мобильном устройстве.

Версия для настольного компьютера

В примере показано взаимодействие с ботом для выполнения простого запроса.

Взаимодействие с несколькими поворотами

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

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

Мобильные устройства

В этом примере показано многоступенчатое взаимодействие с ботом на мобильном устройстве.

Версия для настольного компьютера

В примере показано взаимодействие с ботом с несколькими поворотами.

Инициируйте общение с пользователями

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

Мобильные устройства

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

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

Теперь в этом канале пользователь может прочитать свое сообщение от бота.

В этом примере показано, как пользователь смотрит на заблаговременное сообщение бота на мобильном устройстве.

Настольный компьютер

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

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

Теперь в этом канале пользователь может прочитать свое сообщение от бота.

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

Использование вкладок с ботами

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

Мобильные устройства

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

Версия для настольного компьютера

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

Управление ботом

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

В примере показано диалоговое окно для настройки параметров бота.

Рекомендации

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

Контент

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

Как надо: создать отчетливо выраженную личность

Как держится ваш бот? Разговаривает двружелюбно и легко? Сухо излагает факты? А может, он со странностями? Как он должен реагировать в различных сценариях? Если вы заранее продумаете и документируете личность бота, вам будет проще написать для него ответы, звучащие естественно и связно.

Узнайте больше о написании ботов в статье Комплект разработчика пользовательских интерфейсов Microsoft Teams (Figma).

В этом примере показано, как четко описать то, что может делать ваш бот.

Как надо: четко обозначьте, что умеет делать ваш бот

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

В этом примере показано, как не скрывать функции бота.

Как не надо: скрывать функции бота

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

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

Как надо: распознавать вопросы, которые не являются вопросами

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

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

Как не надо: не упускайте случая порадовать пользователей

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

Устранение неполадок

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

Как надо: предоставляйте помощь

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

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

Как не надо: не бросайте пользователей в беде

Люди быстро перестанут общаться с ботом, если не смогут устранить его неполадки.

Сложные взаимодействия

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

Сделать: использовать диалоговые окна или вкладки

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

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

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

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

Конфиденциальность

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

Как надо: показывать конфиденциальную информацию только в личном контексте

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

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

Как не надо: некоторые данные предназначены не для всех

Бот не должен раскрывать конфиденциальную информацию группе людей.

См. также

Вот еще рекомендации, которые могут быть полезными при разработке бота: