ボット ナビゲーションの設計

この記事の対象: SDK v4

ユーザーが Web サイトでのナビゲーションに使用するのは階層リンクです。アプリではメニューを、Web ブラウザーでは進むボタンや戻るボタンをナビゲーションに使用します。 しかし、適切に確立されたこれらのナビゲーションの中に、ボット内のナビゲーション要件に完全に対応しているものはありません。 会話フローのデザインと制御で説明されたように、ユーザーとボットの対話は非線形的に行われることが多いため、優れたユーザー エクスペリエンスを一貫して提供するボット ナビゲーションの設計が難しくなっています。

次の課題について考えてみます。

  • ボットとの会話中、ユーザーが状況を見失わないようにするには、どうすればよいですか。
  • ユーザーはボットとの会話中に "戻る" ことができますか。
  • ボットとの会話中に、ユーザーが "メイン メニュー" に戻るには、どうすればよいですか。
  • ボットとの会話中に、ユーザーが操作を "キャンセル" するには、どうすればよいですか。

ボットのナビゲーション設計の詳細の多くは、お使いのボットでサポートされる機能によって異なります。 開発しているボットの種類に関係なく、会話インターフェイスの設計が不十分なことで陥りがちな落とし穴については、回避することができます。 この記事では、"頑固なボット"、"鈍いボット"、"不可解なボット"、"当たり前のことを言うボット"、"忘れられないボット" の 5 つの特徴の観点から、これらの落とし穴について説明します。

ヒント

ご自身のボットのこれらの特徴はそれぞれ、ユーザーによる割り込み処理を適切に実行すれば大抵は緩和できます。

"頑固なボット"

頑固なボットは、ユーザーが方向転換を試みても、会話の現在のコースを是が非でも維持しようとします。

以下のシナリオについて考えてみます。

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

ユーザーが心変わりして、操作をキャンセルすることはよくあります。最初からすべてをやり直すこともあります。

ヒント

すべきこと: 会話の途中でユーザーが試みた変更を考慮するようにボットを設計する。

やってはいけないこと: ユーザー入力を無視し、同じ質問を無限に繰り返すようボットを設計する。

ボットが同じ質問を無限に繰り返さないようにする方法の 1 つは、質問ごとの再試行の最大回数を指定することです。 このように設計されているボットは、ユーザーの入力を賢く理解するわけではありませんが、少なくとも、同じ質問を無限に繰り返すようなことはしません。

"鈍いボット"

鈍いボットは、ユーザーが特定の機能にアクセスしようとしていることを解釈できないときに、無意味な方法で応答します。 ユーザーは、適切な応答を期待して、"ヘルプ"、"キャンセル" のような一般的なキーワード コマンドを試みる場合があります。

以下のシナリオについて考えてみます。

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.

ヒント

すべきこと: ユーザーが以前のトピックを見直したいことを明らかにするまで、または明らかにしない限り、現在の会話のトピックを維持するようにボットを設計する。

やってはいけないこと: 現在の会話と関係がないときに、過去の会話の情報を挿入するようにボットを設計する。

会話の現在のトピックを維持することで、混乱とストレスの可能性が減り、ユーザーが引き続きボットと関わる可能性が大きくなります。

次のステップ

会話インターフェイスの設計が不十分なことによって陥りがちな落とし穴を回避するようにボットを設計することで、優れたユーザー エクスペリエンスへの重要な一歩を踏み出すことになります。

次に、UX 要素の詳細について詳しく確認します。この要素は、ユーザーとの情報のやり取りにボットで最も一般的に使用されています。