Microsoft Teams のボットをデザインする
ボットは、特定のタスクを実行する会話型アプリです。 Microsoft Bot Framework をベースに、ボットはユーザーと通信し、ユーザーの質問に答え、変更などのイベントをプロアクティブに通知します。 ボットは、連絡を取るのに最適な方法です。
重要
ボットは 、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
ツアー
ウェルカム メッセージや "ヘルプ "コマンドのようなものにボットが応答する場合にツアーを含めることができます。 ボットにできることを説明するには、ツアーが最も効果的です。 必要に応じて、アプリのその他の機能を説明するのにも最適です。 たとえば、メッセージ拡張機能のスクリーンショットなどです。
重要
ログインしなくてもツアーに参加できることが必要です。
1 対 1 のチャット
個人用アプリでは、カルーセルでボットやお使いのアプリのその他の機能の概要を効果的に伝えることができます。 ユーザーがボットのコマンドを試すことができるボタンを含めることが推奨されます。 たとえば、「タスクを作成する」などです。
モバイル
Desktop
チャネルとグループ チャット
チャネルとグループ チャットでは、進行中の会話を中断しないように、モーダル ( ダイアログ (TeamsJS v1.x ではタスク モジュールとも呼ばれます) でツアーを開く必要があります。 また、ツアーにロール ベースのビューを実装することも可能です。
モバイル
Desktop
ボットとチャットする
ボットは、Teams のメッセージング フレームワークに直接統合されます。 ユーザーはボットとチャットして質問に回答してもらったり、コマンドを入力して特定のタスクを実行してもらったりすることができます。 ボットは、チャットを通じてアプリの変更や更新についてユーザーに事前に通知できます。
さまざまなコンテキストでボットを使用したチャット
ボットは次のような場面で使用できます。
- 個人用アプリ: 個人用アプリでは、ボットには専用のチャット タブがあります。
- 1 対 1 のチャット: ユーザーがボットとプライベートな会話を開始することができます。 個人用アプリでボットを使うのと同様のエクスペリエンスです。
- グループ チャット: ユーザーは、ボットを @mentioning することで、グループ チャット内のボットと対話できます。
- チャネル: ユーザーは、チャネルでボットと対話することができます。 作成ボックスにボット名を @mentioning します。 このコンテキストでは、ボットはチャネルだけでなく、チーム全体で使用できることを忘れないでください。
構造
モバイル
カウンター | 説明 |
---|---|
1 | アプリ名とアイコン |
2 | [チャット] タブ: ボットと会話するための空間を開きます (個人用アプリのみ該当)。 |
3 | [カスタム] タブ: アプリに関連するその他のコンテンツを開きます。 |
4 | [バージョン情報] タブ: アプリの基本情報を表示します。 |
5 | チャット バブル: ボットの会話は、Teams のメッセージング フレームワークを使用しています。 |
6 | アダプティブ カード: ボットの応答にアダプティブ カードが含まれる場合、カードはチャット バブルの幅いっぱいに表示されます。 |
Desktop
カウンター | 説明 |
---|---|
1 | アプリ名とアイコン |
2 | [チャット] タブ: ボットと会話するための空間を開きます (個人用アプリのみ該当)。 |
3 | [カスタム] タブ: アプリに関連するその他のコンテンツを開きます。 |
4 | [バージョン情報] タブ: アプリの基本情報を表示します。 |
5 | チャット バブル: ボットの会話は、Teams のメッセージング フレームワークを使用しています。 |
6 | アダプティブ カード: ボットの応答にアダプティブ カードが含まれる場合、カードはチャット バブルの幅いっぱいに表示されます。 |
7 | コマンド メニュー: ボットの標準コマンド (ユーザーによる定義) を表示します。 |
コマンド メニュー
コマンド メニューには、ボットが常に応答するようにする単語や語句のリストが用意されています。 ボットと会話しているときに、作成ボックスの上にコマンド メニューが表示されます。 コマンドを選択した場合に、そのコマンドがメッセージに挿入されます。
コマンドのリストは簡潔である必要があります。 メニューは、ボットの主要な機能を強調するためだけのものです。 また、コマンドも簡潔に保持します。 例えば、手伝ってもらえますか? の代わりに ヘルプ というコマンドを作成します。
会話の状態に関係なく、コマンド メニューは常に使用可能である必要があります。
ユーザーの話を理解する
シソーラスを使ったり、できるだけ多くの異なるバックグラウンドを持つユーザーの協力を得て、標準的な質問に対するさまざまな解釈を生成します。
メッセージから意図やデータを抽出
メッセージやクエリに応じて、相手がボットに何を求めているかをキャプチャする、意図の認識を目指してボットをデザインします。 意図は、メッセージやクエリを、アクションの影響を受ける 1 つ以上のデータ オブジェクトのある単一のアクションとして分類します。
次の例は、ボットに送信されるメッセージに含まれるユーザーの意図とデータの概要です。
分析と機能強化
ボットとのチャットでのユーザーの発言をご紹介します。 これは、さまざまな場所や組織でユーザーが増えていく中で、継続的で反復的な手順です。 Microsoft Language Understanding (LUIS) を使用して、ボットの言語認識や意図のマッピングを調節することができます。
- LUIS を理解する: LUIS が AI を使用してアプリのデータに自然言語理解 (NLU) を提供する方法をご紹介します。
- LUIS との統合: 機械学習モデルを作成する複雑な手順を通すことなく、ボットに自然言語機能を追加します。
使用例
単純なクエリ
ボットは、クエリと完全に一致する内容や関連して一致するグループを配信して、曖昧さを解消することができます。 関連する一致については、リスト カードを使用してコンテンツをグループ化します。
モバイル
Desktop
複数回の対話
ボットは、完全な要求や質問をサポートすることができますが、複数回の対話を処理することもできる必要があります。 次の手順の可能性を予測することで、ユーザーは (包括的な要求を作成することを想定するのではなく) 完全なタスク フローをより簡単に作成できます。
次の例では、ボットはそれぞれのメッセージに対して、次にしたいことのオプションを応答します。
モバイル
Desktop
ユーザーへの働きかけ
プロアクティブなメッセージングでは、ボットは個人、グループ チャット、またはチャネルに関連する通知を特定の頻度で送信するダイジェストのように機能します。 ボットは、ドキュメントに何か変更があった場合や、作業項目を閉じた場合に、メッセージを送信することができます。
モバイル
ユーザーが、ボットが別のチャネルでメッセージを送ってきたことをについて通知を受け取る例を次に示します。
そのチャネルでは、ユーザーはボットからのメッセージを読むことができます。
Desktop
ユーザーが、ボットが別のチャネルでメッセージを送ってきたことをトースト通知で受け取る例を次に示します。
そのチャネルでは、ユーザーはボットからのメッセージを読むことができます。
ボットでタブを使用する
個人用アプリでは、タブはボットが実行可能な機能を補完できます。 たとえば、ボットが作業項目を作成できる場合、それらのアイテムをタブ内の中心的な場所に表示できると便利です。詳細については、タブのデザイン を参照してください。
モバイル
Desktop
ボットの管理
ユーザーがボットの設定を変更できるようにします。 この機能はボット コマンドで提供できますが、通常は ダイアログ にすべての設定を含める方が効率的です (次の例に示すように)。
ベスト プラクティス
これらの推奨事項を使用して、高品質のアプリ エクスペリエンスを作成します。
Content
するべきこと: 明確なペルソナの設定
お使いのボットのトーンは、親しみやすく軽快なものか、”事実だけを伝える” ものか、それとも超気まぐれか。 さまざまなシナリオでどのように対応すべきか。 ボットのペルソナを計画して文書化することで、自然でまとまりのある応答を簡単に記述することができます。
ボット向けの記述の詳細については、「Microsoft Teams UI Kit (Figma)」参照してください。
するべきこと: ボットにできることを明確に伝達する
ウェルカム メッセージやツアーでは、お使いのボットでできることを理解してもらいます。
してはいけないこと: ボットの機能をぼかす
第一印象は大切です。 何の変哲もないサインイン メッセージが表示されると、ユーザーは混乱したり疑ったりするでしょう。
するべきこと: ノンクエスチョンを認識する
ボットは、"やあ"、"ヘルプ"、"ありがとう" などのメッセージに対応し、一般的なスペルミスや口語表現にも対応できる必要があります。
してはいけないこと: 喜ぶチャンスを逃す
ユーザーの中には、実際の人間との会話のような自然な流れを期待する人もいます。 シンプルなメッセージには無難な返答を心がけましょう。
トラブルシューティング
するべきこと: ヘルプを用意する
ボットが要求を満たせない場合は、ボットとの対話についてボット自身を教育するための方法をユーザーが用意します。
してはいけないこと: ユーザーを立ち往生させる
問題を解決できなければ、ユーザーはすぐにボットを放棄してしまいます。
複雑な相互作用
操作: ダイアログまたはタブを使用する
さらにいくつかの手順が必要な回答をボットが提供する場合は、モーダル ダイアログまたはタブにリンクしてタスクまたはフローを完了できます。
してはいけないこと: 複数回の対話を面倒にする
単一のタスクを完了するのに膨大な量の会話をするのは時間がかかり、複雑すぎます。 また、開発者は、状態の変化 (会話がタイムアウトしたり、”キャンセル” メッセージを送信するなど) を考慮する必要があります。
プライバシー
するべきこと: 機密情報を個人的なコンテキストでのみ表示する
ボットがグループ チャットまたはチャネル内にある場合は、機密情報を表示するために、プライベートな場所 (モーダル ダイアログ、タブ、ブラウザーなど) にユーザーを誘導することをお勧めします。
してはいけないこと: すべてのユーザーが閲覧できないコンテンツがある
お使いのボットでは、機密情報をグループに公開してはいけません。
関連項目
以下のガイドラインは、ボット デザインに役立つ可能性があります。
Platform Docs
フィードバック
https://aka.ms/ContentUserFeedback」を参照してください。
以下は間もなく提供いたします。2024 年を通じて、コンテンツのフィードバック メカニズムとして GitHub の issue を段階的に廃止し、新しいフィードバック システムに置き換えます。 詳細については、「フィードバックの送信と表示