エージェント トピックの使用
Microsoft Copilot Studio では、トピックは、エージェントとの対話中に顧客が誘導されるパスを表します。 使用されるトピックと、個々のトピックに記載されているパスは、会話パネルに顧客が入力したデータに応じて適用されます。 トピックは、会話のフローを決定する主要な要素です。 天気について顧客から質問があった場合、エージェントは天気のトピックを起動できます。 正しい天気予報を提供するために、エージェントは、どの市区町村に住んでいるかなど、トピックで定義された質問を問い合わせることができます。 エージェントはこの情報を保持しており、予測の詳細を取得するために気象サービスにその情報が送信されます。 予測は、関連する顧客情報を含むパーソナライズされたメッセージで顧客に返されます。
Copilot Studio トピックは、主に次の 2 つの要素から構成されます。
トリガー フレーズ: 顧客が入力する、特定の問題に関連する語句、キーワード、または質問。
会話ノード - エージェントがどのように応答し、何を実行するかを定義します。
顧客が情報を入力すると、エージェントの人工知能は自然言語理解を使用して、顧客が入力した内容を解析し、最も適切なトリガー フレーズまたはノードを見つけます。 顧客が「欠陥製品を返品する必要があります」とエージェントに入力した場合、「返品」や「欠陥製品」などのテキストの一部について照合を行い、それらの項目をトリガー フレーズとして含むトピックを返すことができます。
入力された情報が読み込まれると、トピックのさまざまな 会話ノードを使用して、顧客が会話中に誘導されるパスの制御と定義が行われます。 表示されるメッセージでは、詳細情報や指示を提供できます。 返品する製品のタイプを特定するために、質問をすることができます。 アクションを使用すると、顧客は、返品を容易にするために送信されるカスタムの返品ラベルを作成することができます。
トピック トリガーを操作する
トピックで最初に定義する必要があるものは、トピックをトリガーするためにエージェントによって検索される語句です。 トリガー フレーズは、フレーズの横の 編集 を選択して追加します。 1 つのトピックに対して複数のトリガー フレーズを定義できます。 まず、5 から 10 個のトリガー フレーズを用意して開始することをお勧めしますが、必要な数だけ追加することもできます。 トリガー フレーズでは句読点を使用できます。 ただし、長い文の代わりに短い語句を使用することをお勧めします。 顧客が要求をどのように表現するかを考えてみてください。 トピックを使用して店舗の営業時間を通知する場合、トリガーは営業開始、営業終了、時間帯、日付などに関連する必要があります。「営業時間について教えてください」、「営業開始は何時ですか」、「店舗の営業時間」、「営業時間」などを最初に使用する語句としてお勧めします。 将来的に他のトリガー フレーズが必要になった場合は、さらにトリガー フレーズを追加できます。
トリガー フレーズは、できるだけ個々のトピックに固有のものとなるように作成してください。 こうすることで、顧客が必要な情報を入力したときに、エージェントが正しいトピックを起動する可能性が非常に高くなります。 たとえば、エージェントに 2 つのトピックが含まれている場合を考えてみましょう。 1 つは「Product Returns」、もう 1 つは「Product Recalls」とします。各トピックに同じような文言があるとは珍しいことではありません。 エージェントに「欠陥製品」をフレーズとして追加すると、アプリケーションは読み込むべきトピックを理解できないかもしれません。
この問題に対処する 1 つの方法として、「Product Returns」トピックに「欠陥製品を返品」、また「Product Recalls」トピックに「リコールされた製品を返品」を使用するなど、より具体的なトリガー フレーズをトピックに追加する方法があります。
また、エージェントの返品とリコールに使用されるトピックを 1 つだけ作成するという方法もあります。 エージェントによってトピックが開始されると、追加情報が収集され、その情報を使用して顧客が返品/リコールのパスに誘導されます。 エージェントに個別のトピックが多数含まれているシナリオでは、こうした方法がますます重要になります。 1 つのエージェントが保持できるトピックの最大数は 1000 個であることに注意してください。 プロセスの早い段階で簡単な計画を立てることで、将来発生する不満点を回避することができます。
会話ノードを使用して、トピックの会話パスを設計する
トピックがトリガーされる方法を定義したら、顧客がトピックと対話する際のトピックのフローを設計する必要があります。 このフローは、会話パスと呼ばれます。 トピックの会話パスで、顧客との対話方法を定義し、顧客入力に基づいてどのような処理を実行するかを定義します。 トピックの会話パスを編集するには、トリガー フレーズのウィンドウを閉じます。 [トリガー フレーズ] ノードを選択することで、いつでもトリガー フレーズのウィンドウに戻ることができます。
新しいトピックが作成されると、そこにトリガー フレーズ ノードが含められます。 他のノードを追加するには、行のプラス アイコン (+) を選択するか、ノードの間またはノードの後で分岐します。
会話ノードを操作する
会話ノードは、トピックの会話パスに挿入できる顧客との対話またはアクションを表します。 これらのノードは、顧客に対するメッセージの表示、追加情報の要求、自動化のトリガー、ライブ チャット オペレーターへのエスカレーションのトリガーに使用されます。
いくつかのノード タイプが用意されています。
メッセージを送信する: 顧客にメッセージを表示します。 メッセージには、基本的な書式設定と番号付けを含めることができます。
質問する: エージェントが顧客から情報を取得できるようにします。 取得した情報を使用して、会話のフローに影響を与えることができます。また、エージェントの他の部分で変数として使用することもできます。
アダプティブ カードで質問する: コンテンツのスニペットを Microsoft Copilot Studio エージェントに追加できます。このボットも他のクラウド アプリおよびサービスと公式に交換できます。
条件の追加: トピック フローに条件を追加できます。 このノードは、条件が満たされているかどうかに基づいて特定のパスをユーザーをナビゲートするために使用できます。
変数管理: 変数値の設定や削除など、エージェントで変数に対してさまざまなアクションを実行できます。
トピック管理: ユーザーにエージェントの別のトピックを指示します。 たとえば、顧客が店舗の営業時間に関して質問した場合に、顧客をその店舗の休業に関する特定のトピックに移動させることができます。
アクションを呼び出す: Power Automate フローを呼び出して、外部システムや領域との対話を支援します。 たとえば、顧客の所在地の詳細を MSN 天気コネクタに渡して、顧客の地域の天気予報を取得します。
詳細: 会話を終了し、アンケートを表示したり、ライブ チャット オペレーターに引き継いだりすることができます。
選択したノードのタイプによっては、定義できるオプションが異なる場合があります。
question ノードを操作する
question ノードは、多くの場合、会話パスで使用されます。 顧客からの追加情報を取得する際に役立ちます。 質問から取得した情報を保存して、エージェントの他の部分や自動化で使用することができます。 質問ノードは、顧客が誘導されるパスに影響する場合もあります。 たとえば、question ノードを使用して、顧客が住んでいる市区町村を取得できます。 また、question ノードを使用して、市町村の一覧など、選択可能な複数の選択肢オプションが含まれる一覧を顧客に提供することもできます。
各 question ノードには 3 つのベース フィールドがあります。
質問する: ユーザーに対して表示する質問テキスト。
特定: エージェントが顧客のどのような応答をリッスンするかを定義します。 たとえば、複数選択式オプション、数字、特定の文字列などがあります。
応答に名前を付けて保存: 質問から取得したデータを後で変数として使用するための、データの保存方法を定義します。
特定フィールドには定義済みのオプションが複数あり、そこから選択することができます。 これらのオプションによって、エージェントとの対話が容易になるだけでなく、エージェントが顧客の応答から正しい情報を簡単に抽出することが可能になります。
こうした処理を実行する方法の 1 つに、エンティティと呼ばれる方法があります。 エンティティは、電話番号、郵便番号、市区町村、個人名など、現実世界における特定のタイプの項目を表す情報の単位として捉えることができます。 たとえば、特定フィールドを [City] に設定すると、顧客の応答に基づいて市区町村の情報だけが抽出されます。 顧客が「I live in Seattle」などと入力した場合、Seattle が市区町村であると把握されます。 「I love NYC」と入力した場合、NYC が New York City の略語であると把握され、NYC の応答が格納されます。 次の例のように、メール、日付と時刻、個人名、電話番号など、いくつかのオプションがあります。
特定フィールドで選択したオプションによっては、他のフィールド オプションが表示される場合があります。このような場合には、項目についてさらに詳細な情報を指定できます。 たとえば、特定フィールドを [複数選択式オプション] に設定すると、[ユーザーのオプション] が表示され、ユーザーに対して表示するオプションを定義できます。 各オプションは、[会話] ウィンドウで複数選択ボタンとして表示されます。
質問ノードのもう 1 つの利点は、個別の会話パスを顧客の応答に基づいて使用できることです。 次のユニットでは、分岐について説明します。 分岐を使用すると、各ユーザーの応答に対して適切な解決策を導くことができます。
質問動作の構成
質問作成時のもう 1 つの側面は、質問動作プロパティの定義です。 これらのプロパティを使用すると、質問ノードのさまざまな側面 (エージェントが無効な応答を扱う方法や、エージェントがユーザー入力を検証する方法など) を細かく制御できます。 たとえば、予約の質問を作成する際に、予約を要求できるユーザー数を制限できます。 質問動作では、その数を定義し、その数を超過した場合の動作を指定できます。
質問動作プロパティには、質問ノードから直接アクセスします。
質問プロパティを扱う際、以下の複数の項目を定義することができます。
動作をスキップ: 質問ノードに関連付けられた変数に、会話の前の部分で得られた値 (前の質問でキャプチャされた値など) が既に存在する場合の、エージェントの動作を定義します。 次の 2 つのオプションから選択できます。
質問のスキップを許可: 変数に値がある場合は質問をスキップします。
毎回質問する: 変数に値がある場合でも質問します。
プロンプトの再試行: ユーザーから有効な回答が得られなかった場合のエージェントの反応を定義します。 もう 1 回やり直す、2 回やり直す、または回答なしで次に進むよう指示できます。 また、カスタム メッセージを作成することもできます。
メッセージの詳細設定: 送信されるメッセージの追加設定を定義できます。 以下のオプションを変更できます。
値: 活動に固有のパラメーターが含まれており、クライアントごとに処理されます。
チャネル データ: チャネルに固有のパラメーターが含まれており、クライアントごとに処理されます。
割り込みを許可する: 音声の再生中にユーザーがエージェントを中断できるかどうかを定義します。
[メッセージの表示] ノードを使用してメッセージを表示する
メッセージ ノードは、詳細または情報を顧客に提供するときに常に使用されます。 メッセージは通常シンプルなテキスト メッセージですが、必要に応じて画像、ビデオ、リンク、クイック返信、カードなどの、よりリッチなコンポーネントを含めることもできます。
メッセージのバリエーションを使用する
より多くの会話エクスペリエンスをユーザーに提供するため、さまざまなメッセージ バリエーションを指定できます。 たとえば、バリエーション「わかりました。 お手伝いいたします」と「喜んでお手伝いいたします」を追加できます。メッセージのバリエーションを追加すると、ノードがトリガーされたびにエージェントが使用するバリエーションを 1 つランダムに選択します。
画像を追加する
画像とビデオは、より高度で役に立つエクスペリエンスを作成するための優れた方法です。 たとえば、トラブルシューティングを支援するエージェントを作成する場合、画像を使用してトラブルシューティング対象のアイテムの写真を表示したり、役に立つビデオにリンクしたりすることができます。
画像を定義する場合、以下の情報を指定する必要があります。
画像フィールドで画像の URL を指定します。
画像のタイトルを指定します。
画像を定義する場合、以下の情報を定義する必要があります。
タイトル: ビデオのタイトルを指定します。
サブタイトル: ビデオの内容に関するコンテキストを提供します。
画像: ビデオのサムネイルとして使用できる、一般アクセス可能な画像ファイルの URL を指定します。
メディア: ビデオの URL を指定します。 URL は、一般アクセス可能な MP4 ファイルの直接リンクまたは YouTube URL のいずれかです。
テキスト: ビデオに関連付ける他のテキストを入力できます。
ボタン: コントロールを操作するためのボタンを追加できます。
基本カードの追加
基本カードは、テキスト、画像、インタラクティブな要素をエージェント応答に追加するために使用できる汎用カードです。
基本カードを追加する際、以下の値を定義できます。
タイトル: ビデオのタイトルを指定します。
サブタイトル: ビデオの内容に関するコンテキストを提供します。
画像: カードのサムネイルとして使用できる、一般アクセス可能な画像ファイルの URL を指定します。
テキスト: カードに関連付ける他のテキストを入力できます。
ボタン: コントロールを操作するためのボタンを追加できます。
アダプティブ カードの追加
表示される詳細が静的な基本カードとは異なり、アダプティブ カードは、必要に応じてカスタマイズできるプラットフォームに依存しないカードです。 特定のアプリに配信されると、JSON はその周囲に適応するネイティブ UI に自動的に変換されます。 たとえば、予報がより詳細に表示されるグラフィックやアニメーションを含む天気カードを作成できます。
カードは、アダプティブ カード デザイナーを使用して設計するか、JSON を直接作成することができます。 アダプティブ カード デザイナーの使用について詳しくは、アダプティブ カード デザイナーをご覧ください。
アダプティブ カードを作成する場合、JSON の編集にカードの JSON を入力します。 より大きなスペースが必要な場合、展開アイコンを選択して JSON エディターの大きいビューを開くことができます。
アダプティブ カードの使用方法について詳しくは、アダプティブ カードを追加するをご覧ください。
同じノードで複数のカードを表示する
場合によっては、同じノードに複数のカードを表示する必要があるシナリオが生じることがあります。 たとえば、ユーザーに表示する必要がある画像が複数存在する場合があります。 1 つのノードに複数のカードを追加する場合、データを表示するための 2 つの異なる表示オプションから選択することができます。
カルーセル: 一度に 1 つのカードを表示します。ユーザーはカードを順番に切り替えることができます。
リスト: すべてのカードを縦のリストで表示します。
クイック返信の使用
エージェントを設計する場合、エクスペリエンスをできる限り単純にすることも重要ですが、 エージェントがユーザーの活動を容易に識別し、適切なアクションを実行可能にすることも重要です。 Microsoft Copilot Studio でこれを行う 1 つの方法として、クイック返信があります。 クイック返信では、推奨される応答またはアクションがユーザーに表示されます。 ユーザーがクイック返信を選択すると、メッセージがエージェントに戻されます。 クイック返信テキストは、ユーザーがメッセージを入力した場合と同様、チャット履歴に表示されます。 クイック返信ボタンは、エージェントまたはユーザーが別の活動を送信するとチャット履歴から削除されます。
ユーザーは、クイック返信を使用するか無視するかを選択できます。 一覧からオプションを選択することをユーザーに求めるには、代わりに複数選択式質問ノードを使用します。
クイック返信の使用方法について詳しくは、クイック返信の使用をご覧ください。
メッセージ ノードでは、メッセージ コンテンツに変数を含めることもできます。 変数は、質問から取得された情報を格納するために使用できます。 変数を挿入することにより、よりパーソナライズされたメッセージを提供できます。 たとえば、question ノードを使用して、個々の顧客が住んでいる市区町村を取得できます。 質問に対する回答は変数として格納され、後で顧客向けのメッセージで使用することができます (たとえば、「現在、"市区町村" 内の天候は...」など)。
変数の詳細については、変数の使用を参照してください
トピック管理ノードの使用
エージェントに含まれる各トピックは、通常は固有のトピックです。 たとえば、「現在の天気」トピックでは天気に関連するデータのみが提供され、「営業時間」トピックでは営業が開始される時刻に焦点が当てられます。 それらが別々のトピックであっても、相互に関連付けられたり、相互に依存したりすることができます。 前述の「Product Returns」と「Product Recalls」の例に戻ってみしましょう。 エージェントのトピックに対して複数の固有のトリガーを作成するのではなく、「Recall or Return」トピックを作成することができます。 このトピックの目的は、次に読み込むトピックを決定することです。 この中には、返品であるかリコールであるかを尋ねる question ノードが含まれています。 顧客が選択した内容に基づき、[トピックに移動する] ノードによって、「Product Returns」トピックまたは「Product Recalls」トピックのいずれかが読み込まれます。
会話を終了します
多くの場合、トピックの終わりは、会話の終わりを表します。 end the 会話ノードは、会話全体の終了に注目し、開始できるアクションを提供します。 質問や問題が正しく回答されたり、解決されたりしたかどうかをユーザーに尋ねるアンケートが表示されます。 この情報は、[顧客満足度分析] ページ で収集されます。 また、Customer Service 用オムニチャネルなど、適切な顧客サービス ポータルを使用している場合は、ライブ チャット オペレーターへ会話をエスカレートすることもできます。 顧客の問題の解決または顧客からの質問の回答となった応答の終わりで、[会話を終了する] を選択します。
[アクションの呼び出し] ノードを使用する
Microsoft Copilot Studio の多くの利点の 1 つは、メールの送信、外部データの検索、エージェントに入力されたデータに基づく活動の作成などのアクションを実行する機能です。 "アクションの呼び出し" ノードを使用すると、エージェントから Power Automate フローを呼び出すことができるため、この機能を容易に使用できます。
トピックから Power Automate フローを呼び出す方法の詳細については、重要な概念 - Power Automate フローを Microsoft Copilot Studioで使用するを参照してください。