Microsoft Teams のボットをデザインする

ボットは、特定のタスクを実行する会話型アプリです。 Microsoft Bot Framework をベースに、ボットはユーザーと通信し、ユーザーの質問に答え、変更などのイベントをプロアクティブに通知します。 ボットは、連絡を取るのに最適な方法です。

Important

ボットは 、Government Community Cloud (GCC)、GCC-High、および国防総省 (DOD) 環境で使用できます。

アプリのデザインに役立てるために、次の情報では、Teams でユーザーがどのようにボットを追加、使用、管理できるかを説明、図解しています。

Microsoft Teams UI Kit

Microsoft Teams UI Kit には、必要に応じて変更できる要素を含む、より包括的なボット デザインのガイドラインが掲載されています。

ボットの追加

ボットは、チャット、チャネル、個人用アプリで利用できます。

モバイル

ユーザーは、 を使用してデスクトップ @mentionに追加されたボットにアクセスできます。

例では、@メンションを使用してグループ チャットのモバイル ボットにアクセスする方法をご紹介します。

Desktop

ユーザーは、次の方法のいずれかでボットを追加できます。

  • Microsoft Teams ストアから。

  • Teams の左側にある [詳細] アイコンを選択してアプリのフライアウトを使用する。

  • @mentionを新しいチャットまたは新規作成ボックスに含めます (次の例は、グループ チャットでこれを行う方法を示しています)。

    例では、@メンションを使用してグループ チャットにボットを追加する方法をご紹介します。

ボットの導入

ボットが自己紹介し、何ができるのかを説明することが重要です。 この最初のやり取りによって、ユーザーはボットで何ができるかを理解し、その制限事項を知り、そして最も重要なことは、ボットとの対話を快適に行うことができます。

1 対 1 のチャットでのウェルカム メッセージ

個人的なコンテキストでは、ウェルカム メッセージはボットのトーンを決めるものです。 メッセージには、挨拶、ボットができること、対話方法の提案が含まれます。 たとえば、「... について聞いてみてください」などです。 可能であれば、これらの提案は、サインインしなくても保存された応答を返す必要があります。

モバイル

モバイルの個人アプリでのボット導入例を示します。

Desktop

個人アプリでのボット導入例を示します。

チャネルやグループ チャットでのウェルカム メッセージ

チャネルやグループ チャットでのボットの紹介は、個人用スペース (個人用アプリなど) とは多少異なる必要があります。 実生活では、大勢の人がいる部屋に入った場合に、既にいる人を歓迎するのではなく、自己紹介をするはずです。 その考え方は、ボットのデザインにも生かされています。

モバイル

モバイルの共同作業コンテキストでのボット導入例を示します。

Desktop

共同作業コンテキストでのボット導入例を示します。

シングル サインオンを使用したボット認証

ユーザーがボットにメッセージを送る場合、そのボットのすべての機能を利用するにはサインインが必要な場合があります。 シングル サインオン (SSO) を使用することで認証プロセスを簡略化できます。

忘れてはいけないのが、ボットのコマンド メニュー (可能な対処) では、サインアウトするためのコマンドも用意する必要があります。

モバイル

モバイルでサインイン ボタンのあるボットの例を示します。

Desktop

サインイン ボタンのあるボットの例を示します。

ツアー

ウェルカム メッセージや "ヘルプ "コマンドのようなものにボットが応答する場合にツアーを含めることができます。 ボットにできることを説明するには、ツアーが最も効果的です。 必要に応じて、アプリのその他の機能を説明するのにも最適です。 たとえば、メッセージ拡張機能のスクリーンショットなどです。

Important

ログインしなくてもツアーに参加できることが必要です。

1 対 1 のチャット

個人用アプリでは、カルーセルでボットやお使いのアプリのその他の機能の概要を効果的に伝えることができます。 ユーザーがボットのコマンドを試すことができるボタンを含めることが推奨されます。 たとえば、「タスクを作成する」などです。

モバイル

モバイルの 1 対 1 のチャットでのボット ツアーの例を示します。

Desktop

1 対 1 のチャットでのボット ツアーの例を示します。

チャネルとグループ チャット

チャネルとグループ チャットでは、進行中の会話を中断しないように、モーダル ( ダイアログ (TeamsJS v1.x ではタスク モジュールとも呼ばれます) でツアーを開く必要があります。 また、ツアーにロール ベースのビューを実装することも可能です。

モバイル

モバイルのチャネルでのボット ツアーの例を示します。

Desktop

チャネルでのボット ツアーの例を示します。

ボットとチャットする

ボットは、Teams のメッセージング フレームワークに直接統合されます。 ユーザーはボットとチャットして質問に回答してもらったり、コマンドを入力して特定のタスクを実行してもらったりすることができます。 ボットは、お使いのアプリへのチャットを介してユーザーに変更や更新をプロアクティブに通知することができます。

さまざまなコンテキストでボットを使用したチャット

ボットは次のような場面で使用できます。

  • 個人用アプリ: 個人用アプリでは、ボットには専用のチャット タブがあります。
  • 1 対 1 のチャット: ユーザーがボットとプライベートな会話を開始することができます。 個人用アプリでボットを使うのと同様のエクスペリエンスです。
  • グループ チャット: Peopleボットによる@mentioningグループ チャットでボットと対話できます。
  • チャネル: ユーザーは、チャネルでボットと対話することができます。 を @mentioning 作成ボックスのボット名で指定します。 このコンテキストでは、ボットはチャネルだけでなく、チーム全体で使用できることを忘れないでください。

構造

モバイル

モバイル ボットの構造的な例を示します。

カウンター 説明
1 アプリ名とアイコン
2 [チャット] タブ: ボットと会話するための空間を開きます (個人用アプリのみ該当)。
3 [カスタム] タブ: アプリに関連するその他のコンテンツを開きます。
4 [バージョン情報] タブ: アプリの基本情報を表示します。
5 チャット バブル: ボットの会話は、Teams のメッセージング フレームワークを使用しています。
6 アダプティブ カード: ボットの応答にアダプティブ カードが含まれる場合、カードはチャット バブルの幅いっぱいに表示されます。

Desktop

ボットの構造的な例を示します。

カウンター 説明
1 アプリ名とアイコン
2 [チャット] タブ: ボットと会話するための空間を開きます (個人用アプリのみ該当)。
3 [カスタム] タブ: アプリに関連するその他のコンテンツを開きます。
4 [バージョン情報] タブ: アプリの基本情報を表示します。
5 チャット バブル: ボットの会話は、Teams のメッセージング フレームワークを使用しています。
6 アダプティブ カード: ボットの応答にアダプティブ カードが含まれる場合、カードはチャット バブルの幅いっぱいに表示されます。
7 コマンド メニュー: ボットの標準コマンド (ユーザーによる定義) を表示します。

コマンド メニュー

コマンド メニューには、ボットが常に応答するようにする単語や語句のリストが用意されています。 ボットと会話しているときに、作成ボックスの上にコマンド メニューが表示されます。 コマンドを選択した場合に、そのコマンドがメッセージに挿入されます。

コマンドのリストは簡潔である必要があります。 メニューは、ボットの主要な機能を強調するためだけのものです。 また、コマンドも簡潔に保持します。 例えば、手伝ってもらえますか? の代わりに ヘルプ というコマンドを作成します。

会話の状態に関係なく、コマンド メニューは常に使用可能である必要があります。

ボットのコマンド メニューの例を示します。

ユーザーの話を理解する

シソーラスを使ったり、できるだけ多くの異なるバックグラウンドを持つユーザーの協力を得て、標準的な質問に対するさまざまな解釈を生成します。

ボットが ‘こんにちは’ を解釈する方法を示す図。

ボットが ‘ヘルプ’ を解釈する方法を示す図。

ボットが ‘ありがとう’ を解釈する方法を示す図。

メッセージから意図やデータを抽出

メッセージやクエリに応じて、相手がボットに何を求めているかをキャプチャする、意図の認識を目指してボットをデザインします。 意図は、メッセージやクエリを、アクションの影響を受ける 1 つ以上のデータ オブジェクトのある単一のアクションとして分類します。

次の例は、ボットに送信されるメッセージに含まれるユーザーの意図とデータの概要です。

‘シアトル行きの航空券を予約する’ という文の場合、ユーザーの意図は ‘航空券の予約’ であり、データは ‘シアトル’ であることを示す例。

‘何時に店が開くか’ という文の場合、ユーザーの意図は ‘何時’ であり、データは ‘開く’ です。

‘配送のボブと午後 1 時に会議をスケジュールする’ という文の場合、ユーザーの意図は ‘会議のスケジュール’ であり、データは ‘午後 1 時’ と ‘配送のボブ’ です。

分析と機能強化

ボットとのチャットでのユーザーの発言をご紹介します。 これは、さまざまな場所や組織でユーザーが増えていく中で、継続的で反復的な手順です。 Microsoft Language Understanding (LUIS) を使用して、ボットの言語認識や意図のマッピングを調節することができます。

  • LUIS を理解する: LUIS が AI を使用してアプリのデータに自然言語理解 (NLU) を提供する方法をご紹介します。
  • LUIS との統合: 機械学習モデルを作成する複雑な手順を通すことなく、ボットに自然言語機能を追加します。

使用例

単純なクエリ

ボットは、クエリと完全に一致する内容や関連して一致するグループを配信して、曖昧さを解消することができます。 関連する一致については、リスト カードを使用してコンテンツをグループ化します。

モバイル

モバイルでのボットとの単純なクエリの対話を示す例。

Desktop

ボットとの単純なクエリの対話を示す例。

複数回の対話

ボットは、完全な要求や質問をサポートすることができますが、複数回の対話を処理することもできる必要があります。 次の手順の可能性を予測することで、ユーザーは (包括的な要求を作成することを想定するのではなく) 完全なタスク フローをより簡単に作成できます。

次の例では、ボットはそれぞれのメッセージに対して、次にしたいことのオプションを応答します。

モバイル

モバイルでのボットとの複数回の対話を示す例。

Desktop

ボットとの複数回の対話を示す例。

ユーザーへの働きかけ

プロアクティブなメッセージングでは、ボットは個人、グループ チャット、またはチャネルに関連する通知を特定の頻度で送信するダイジェストのように機能します。 ボットは、ドキュメントに何か変更があった場合や、作業項目を閉じた場合に、メッセージを送信することができます。

モバイル

ユーザーが、ボットが別のチャネルでメッセージを送ってきたことをについて通知を受け取る例を次に示します。

モバイルでボットが他のチャネルからユーザーにプロアクティブにメッセージを送るトーストを示す例。

そのチャネルでは、ユーザーはボットからのメッセージを読むことができます。

モバイルでユーザーがボットのプロアクティブなメッセージを見ている様子を示す例。

Desktop

ユーザーが、ボットが別のチャネルでメッセージを送ってきたことをトースト通知で受け取る例を次に示します。

ボットが他のチャネルからユーザーにプロアクティブにメッセージを送るトーストを示す例。

そのチャネルでは、ユーザーはボットからのメッセージを読むことができます。

ユーザーがボットのプロアクティブなメッセージを見ている様子を示す例。

ボットでタブを使用する

個人用アプリでは、タブはボットが実行可能な機能を補完できます。 たとえば、ボットが作業項目を作成できる場合、それらのアイテムをタブ内の中心的な場所に表示できると便利です。詳細については、タブのデザイン を参照してください。

モバイル

モバイルでタブを使用してボットのコンテンツを整理する方法を示す例。

Desktop

タブを使用してボットのコンテンツを整理する方法を示す例。

ボットの管理

ユーザーがボットの設定を変更できるようにします。 この機能はボット コマンドで提供できますが、通常は ダイアログ にすべての設定を含める方が効率的です (次の例に示すように)。

例は、ボットの設定を構成するためのダイアログを示しています。

ベスト プラクティス

これらの推奨事項を使用して、高品質のアプリ エクスペリエンスを作成します。

Content

明確なペルソナを設定するためのボットのベスト プラクティスを示す例。

するべきこと: 明確なペルソナの設定

お使いのボットのトーンは、親しみやすく軽快なものか、”事実だけを伝える” ものか、それとも超気まぐれか。 さまざまなシナリオでどのように対応すべきか。 ボットのペルソナを計画して文書化することで、自然でまとまりのある応答を簡単に記述することができます。

ボット向けの記述の詳細については、「Microsoft Teams UI Kit (Figma)」参照してください。

ボットにできることを明確に伝達することを示す例。

するべきこと: ボットにできることを明確に伝達する

ウェルカム メッセージやツアーでは、お使いのボットでできることを理解してもらいます。

ボットの機能をぼかさないことを示す例。

してはいけないこと: ボットの機能をぼかす

第一印象は大切です。 何の変哲もないサインイン メッセージが表示されると、ユーザーは混乱したり疑ったりするでしょう。

ボットはノンクエスチョンを認識する必要があることを示す例。

するべきこと: ノンクエスチョンを認識する

ボットは、"やあ"、"ヘルプ"、"ありがとう" などのメッセージに対応し、一般的なスペルミスや口語表現にも対応できる必要があります。

シンプルなボット メッセージに対する不自然な応答を回避する必要があることを示す例。

してはいけないこと: 喜ぶチャンスを逃す

ユーザーの中には、実際の人間との会話のような自然な流れを期待する人もいます。 シンプルなメッセージには無難な返答を心がけましょう。

トラブルシューティング

ボットは、ユーザーがボットの使用方法を理解するためサポートを行う必要があることを示す例。

するべきこと: ヘルプを用意する

ボットが要求を満たせない場合は、ボットとの対話についてボット自身を教育するための方法をユーザーが用意します。

ボットがユーザーを立ち往生させてはいけないことを示す例。

してはいけないこと: ユーザーを立ち往生させる

問題を解決できなければ、ユーザーはすぐにボットを放棄してしまいます。

複雑な相互作用

複雑な操作に、ボットでモーダル ダイアログまたはタブを使用できることを示す例。

操作: ダイアログまたはタブを使用する

さらにいくつかの手順が必要な回答をボットが提供する場合は、モーダル ダイアログまたはタブにリンクしてタスクまたはフローを完了できます。

ボットでは複数回の対話を回避する必要があることを示す例。

してはいけないこと: 複数回の対話を面倒にする

単一のタスクを完了するのに膨大な量の会話をするのは時間がかかり、複雑すぎます。 また、開発者は、状態の変化 (会話がタイムアウトしたり、”キャンセル” メッセージを送信するなど) を考慮する必要があります。

プライバシー

ボットは個人的なコンテキストで個人情報のみを表示する必要があることを示す例。

するべきこと: 機密情報を個人的なコンテキストでのみ表示する

ボットがグループ チャットまたはチャネル内にある場合は、機密情報を表示するために、プライベートな場所 (モーダル ダイアログ、タブ、ブラウザーなど) にユーザーを誘導することをお勧めします。

ボットがグループやユーザーに機密情報を公開してはいけないことを示す例。

してはいけないこと: すべてのユーザーが閲覧できないコンテンツがある

お使いのボットでは、機密情報をグループに公開してはいけません。

関連項目

以下のガイドラインは、ボット デザインに役立つ可能性があります。