トピックに会話ノードを追加する
トピックでは、会話ノードは、対話中に顧客が従うパスを決定し、ガイドします。 メッセージ ノードは情報や指示を提供できますが、質問ノードは詳細 (顧客が返す製品の識別など) を収集します。 その後、アクション ノードを使用して結果を生成できます。たとえば、顧客に送信して返品プロセスを完了できるカスタムの返品ラベルを作成できます。
会話ノードを使用して、トピックの会話パスをデザインする
トピックのトリガー方法を定義したら、次の手順は、ユーザーが従う会話フローを設計することです。 このフロー (会話パスと呼ばれます) では、エージェントが顧客と対話する方法と、顧客の応答に基づいて実行されるアクションの概要が示されます。
会話ノードは、トピックの会話パス内の個々の操作またはアクションを表します。 顧客にメッセージを表示したり、追加情報を要求したり、自動化をトリガーしたり、会話をライブ担当者にエスカレートしたりできます。
会話ノードの種類
いくつかのノード タイプが用意されています。
- メッセージを送信する: 顧客にメッセージを表示します。 メッセージには、基本的な書式設定と番号付けを含めることができます。
- 質問する: エージェントが顧客から情報を取得できるようにします。 取得した情報を使用して、会話のフローに影響を与えることができます。また、エージェントの他の部分で変数として使用することもできます。
- アダプティブ カードを使用したAsk: 他のクラウド アプリやサービスとオープンに交換できるMicrosoft Copilot Studio エージェントにコンテンツのスニペットを追加できます。
- 条件の追加: トピック フローに条件を追加できます。 このノードは、条件が満たされているかどうかに基づいて特定のパスをユーザーをナビゲートするために使用できます。
- 変数管理: 変数値の設定や削除など、エージェントで変数に対してさまざまなアクションを実行できます。
- トピック管理: エージェント内の別のトピックにユーザーをリダイレクトするか、会話を終了するか、特定のトピックステップにスキップします。
- ツールの追加: Copilot Studio ワークフローを呼び出すか、ツールを呼び出して外部システムと対話します。
- エージェントを追加する: 別のエージェントを呼び出します。
- 詳細: 生成応答、HTTP 要求、イベントのログ記録、イベントの送信、アクティビティの送信、ユーザー認証の実行などの高度な会話ノードを提供します。
選択したノードのタイプによっては、定義できるオプションが異なる場合があります。
トピックへのノードの追加
新しいトピックが作成されると、トリガー ノードが含まれます。 他のノードを追加するには、行のプラス アイコン (+) を選択するか、ノードの間またはノードの後で分岐します。
メッセージ ノード
メッセージ ノードは、詳細または情報を顧客に提供するときに常に使用されます。 メッセージは通常シンプルなテキスト メッセージですが、必要に応じて画像、ビデオ、リンク、クイック返信、カードなどの、よりリッチなコンポーネントを含めることもできます。
エージェントからメッセージを送信するノードの下にある [ノードの追加] アイコン (+) を選択し、[ メッセージの送信] を選択します。
テキスト ボックスに、エージェントが送信するメッセージを入力します。
必要に応じて、ノードのメニュー バーのツールを使用して、次の手順を実行します。
- 基本書式を適用する (太字、斜体、箇条書き、段落番号付き)
- 変数の挿入
- メッセージ バリエーションを追加する
- 画像の挿入
- ビデオを挿入する
- 基本カードの追加
- アダプティブ カードの追加
- クイック返信を追加する
メッセージのバリエーション
より多くの会話エクスペリエンスをユーザーに提供するため、さまざまなメッセージ バリエーションを指定できます。 たとえば、バリエーション「わかりました。 お手伝いできます」と「お手伝いできて幸せです」。メッセージ バリエーションを追加すると、エージェントはノードが使用されるたびに使用するいずれかのバリエーションをランダムに選択します。
画像とビデオ
画像とビデオは、より高度で役に立つエクスペリエンスを作成するための優れた方法です。 たとえば、トラブルシューティングを支援するエージェントを作成する場合、画像を使用してトラブルシューティング対象のアイテムの写真を表示したり、役に立つビデオにリンクしたりすることができます。
基本カード
基本カードは、テキスト、画像、インタラクティブな要素をエージェント応答に追加するために使用できる汎用カードです。
アダプティブ カード
表示される詳細が静的な基本カードとは異なり、アダプティブ カードは、必要に応じてカスタマイズできるプラットフォームに依存しないカードです。 特定のアプリに配信されると、JSON はその周囲に適応するネイティブ UI に自動的に変換されます。 たとえば、予報がより詳細に表示されるグラフィックやアニメーションを含む天気カードを作成できます。
カードは、アダプティブ カード デザイナーを使用して設計するか、JSON を直接作成することができます。 アダプティブ カード デザイナーの使用について詳しくは、アダプティブ カード デザイナーをご覧ください。
アダプティブ カードを作成する場合、JSON の編集にカードの JSON を入力します。 より大きなスペースが必要な場合、展開アイコンを選択して JSON エディターの大きいビューを開くことができます。
アダプティブ カードの取り扱いに関する詳細情報については、Copilot Studioでのアダプティブ カードの活用方法を参照してください。
クイック返信
エージェントを設計する場合、エクスペリエンスをできる限り単純にすることも重要ですが、 エージェントがユーザーの活動を容易に識別し、適切なアクションを実行可能にすることも重要です。
Microsoft Copilot Studio でこれを行う 1 つの方法として、クイック返信があります。 クイック返信では、推奨される応答またはアクションがユーザーに表示されます。 ユーザーがクイック返信を選択すると、メッセージがエージェントに戻されます。 クイック返信テキストは、ユーザーがメッセージを入力した場合と同様、チャット履歴に表示されます。 クイック返信ボタンは、エージェントまたはユーザーが別の活動を送信するとチャット履歴から削除されます。
質問ノード
質問ノードは、多くの場合、会話パスで使用されます。 顧客からの追加情報のキャプチャに役立ちます。 質問からキャプチャされた情報は、変数として格納し、エージェントの他の部分または自動化で使用できます。 質問ノードは、顧客が誘導されるパスに影響する場合もあります。 たとえば、question ノードを使用して、顧客が住んでいる市区町村を取得できます。 また、質問ノードを使用して、市町村の一覧など、選択可能な複数の選択肢オプションの一覧を顧客に提供することもできます。
メッセージ ノードと同様に、質問 ノードには、画像、ビデオ、カード、クイック返信、メッセージのバリエーションを含めることができます。
各質問ノードには 3 つのベース フィールドがあります。
- 質問する: ユーザーに対して表示する質問テキスト。
- 特定: エージェントが顧客のどのような応答をリッスンするかを定義します。 たとえば、複数選択式オプション、数字、特定の文字列などがあります。
- ユーザーの応答を次のように保存する: 質問からキャプチャしたデータを保存して、後で 変数 として使用できるようにする方法を定義します。
[ 識別 ] フィールドで選択できる、複数の定義済みオプション (エンティティ) があります。 これらのオプションによって、エージェントとの対話が容易になるだけでなく、エージェントが顧客の応答から正しい情報を簡単に抽出することが可能になります。
エンティティは、電話番号、郵便番号、市町村、個人名など、実際の特定のタイプの項目を表す情報の単位として捉えることができます。 たとえば、特定フィールドを [City] に設定すると、顧客の応答に基づいて市区町村の情報だけが抽出されます。 顧客が「I live in Seattle」などと入力した場合、Seattle が市区町村であると把握されます。 「I love NYC」と入力した場合、NYC が New York City の略語であると把握され、NYC の応答が格納されます。 次の例のように、メール、日付と時刻、個人名、電話番号など、いくつかのオプションがあります。
特定フィールドで選択したオプションによっては、他のフィールド オプションが表示される場合があります。このような場合には、項目についてさらに詳細な情報を指定できます。 たとえば、特定フィールドを [複数選択式オプション] に設定すると、[ユーザーのオプション] が表示され、ユーザーに対して表示するオプションを定義できます。 各オプションは、[会話] ウィンドウで複数選択ボタンとして表示されます。
質問の特性
質問プロパティ パネルでは、プロンプト、検証、中断などの動作を調整できます。
Questionプロパティパネルを開くには、Questionノードの3つの点(...)を選択し、その後Propertiesを選択します。
質問プロパティ パネルで、目的のカテゴリを選択します。
- 質問動作
- エンティティの認識
- 割り込み
- Voice
質問動作
質問作成時のもう 1 つの側面は、質問動作プロパティの定義です。 これらのプロパティを使用すると、質問ノードのさまざまな側面 (エージェントが無効な応答を扱う方法や、エージェントがユーザー入力を検証する方法など) を細かく制御できます。 たとえば、予約の質問を作成する際に、予約を要求できるユーザー数を制限できます。 質問動作では、その数を定義し、その数を超過した場合の動作を指定できます。
質問プロパティを扱う際、以下の複数の項目を定義することができます。
-
動作をスキップ: 質問ノードに関連付けられた変数に、会話の前の部分で得られた値 (前の質問でキャプチャされた値など) が既に存在する場合の、エージェントの動作を定義します。 ここでは、次の 2 つのオプションから選択できます。
- 質問のスキップを許可: 変数に値がある場合は質問をスキップします。
- 毎回質問する: 変数に値がある場合でも質問します。
- 再プロンプト: エージェントがユーザーから有効な回答を得られない場合の対応方法を定義します。 もう 1 回やり直す、2 回やり直す、または回答なしで次に進むよう指示できます。 また、カスタム メッセージを作成することもできます。
-
メッセージの詳細設定: 送信されるメッセージの追加設定を定義できます。 次のオプションを変更できます。
- 値: 活動に固有のパラメーターが含まれており、クライアントごとに処理されます。
- チャネル データ: チャネルに固有のパラメーターが含まれており、クライアントごとに処理されます。
メッセージ コンテンツ内の変数
メッセージおよびその他のノードは、メッセージコンテンツに変数を含めることもできます。 変数は、質問から取得された情報を格納するために使用できます。 変数を挿入することにより、よりパーソナライズされたメッセージを提供できます。 たとえば、question ノードを使用して、個々の顧客が住んでいる市区町村を取得できます。 質問に対する回答は変数として格納され、後で顧客向けのメッセージで使用することができます (たとえば、「現在、"市区町村" 内の天候は...」など)。
トピック管理
エージェントの話題を効果的に整理することで、会話が管理しやすく、維持しやすくなります。
Copilot Studio では、トピック管理に関して柔軟性が大幅に向上します。 万人に当てはまるわけではありませんが、トピックのトリガーとなるさまざまな方法を覚えておくことは良い習慣です。
- トピックはユーザーの発話 と自然言語理解(NLU)モデルに基づいてトリガーされます。 これらのトピックを 入り口のトピックと考えてください。
- トピックはリダイレクトアクションから呼び出されるとトリガーされます。 これらのトピックには会話ノードと論理ノードを含めることができ、複数のトピックから呼び出すことができ、入力変数と出力変数を持つことができます。 これらは理想的には再利用可能な非常に小さいトピックです。
- トピックは両方にすることもできます。 例えば、トピックは意図認識や明示的なリダイレクトによってトリガーされることがあります。
- イベントは話題を引き起こすことがあります。 たとえば、カスタム イベント、非アクティブなどです。
非常に小さいトピックを作成する
大きなトピックは、維持と更新が困難になる場合があります。 特に複数のトピックがエージェントの会話ロジックの一部を共有している場合は、可能な限りエージェントのロジックを分解してください。
すべてのトピックにトリガーフレーズがある必要はありません。 トピックは他のトピックにリダイレクトでき、変動する情報をやり取りできます。
ヒント
大きなトピックをいくつかまとめるよりも、多くの小さなトピックを作る方が管理しやすいことが多いです。 このアプローチは、トリガーフレーズを特定のトピックに明確にマッピングすることで、トリガーをより効果的にします。
再利用可能なトピックを作成する
複数のトピックが会話メッセージやロジックノードを共有する場合は、内容を重複させるのではなく、新しいトピックにまとめましょう。 こうすることで、そのトピックへの単一の更新が、そのトピックにリダイレクトされるすべてのトピックを反映します。
トピック管理ノード
トピック管理では、次のノードを追加できます。
- 別のトピックに移動する
- 意図を認識する
- 現在のトピックを終了する
- すべてのトピックを終了する
- 会話を転送する
- 手順に進む
- 会話の終了
システム トピックの多くは、これらのノードを使用して、会話の終了ややり直しの方法を制御します。
別のトピックに移動する
最初からやり直さずに会話を別のトピックに移行するには、別のトピックに Go を追加します。
切り替えを行うノードの下にある [ ノードの追加] アイコンを選択し、[ トピック管理 ] を選択し、[ 別のトピックに移動] を選択します。
目的の宛先トピックをリストから選択します。
必要に応じて、トピック間で変数を渡します。 リダイレクト先のトピックに入力変数が必要な場合、または元のトピックに出力変数を返すことが予想される場合は、それぞれの値を入力または選択します。
Important
会話が宛先 トピック の最後に到達すると、デフォルトでは発信元のトピックで再開されます。 必要に応じて、Redirect ノードの後にさらにノードを挿入できます。
現在のトピックまたはすべてのトピックを終了する
デフォルトでは、リダイレクトされた会話は、呼び出された トピック の終了時に、元のトピックに戻ります。 トピック を終了するか、会話を終了するには、現在のトピックを終了 ノードまたは すべてのトピックを終了 ノードを使用します。
[ 現在の トピックの終了] ノードは、現在のトピックを終了します。 現在のトピックが別のトピックから呼び出された場合、会話はすぐに元のトピックに戻ります。 このノードの一般的な使用事例は、条件分岐です。 トピックを早期に終了する分岐もあれば、現在のトピックを続行する分岐もあります。
[ すべてのトピックを終了] ノードは、アクティブなすべてのトピックを直ちに終了します。 エージェントは、ユーザーからの次のメッセージを新しい会話の最初のメッセージと見なします。
会話が終了したことをユーザーに知らせるには、[すべてのトピックの 終了 ] ノードの前に [会話の終了] ノードを追加します。
会話の終了
多くの場合、トピックの終わりは、会話の終わりを表します。 終了会話ノードは、会話全体の終了を示し、開始できるアクションを提供します。 質問や問題が正しく回答されたり、解決されたりしたかどうかをユーザーに尋ねるアンケートが表示されます。 この情報は 、[分析] ページで収集されます。 適切なサービスアプリケーション、たとえばDynamics 365 Contact Centerを使用している場合、会話をライブの担当者に引き継ぐことも選択できます。 ユーザーの問題を解決するか、質問に回答する応答の最後で、[ 会話の終了] を選択します。
ツールを追加する
ツールはエージェントが外部システムとやり取りするための構成要素です。 ツールはエージェントの機能を拡張し、ユーザーの要求や自律的なトリガーに応じて様々なアクションを実行できるようにします。 各ツールは、エージェントが実行できる特定の機能を表します。 例えば、エージェントに以下のようなタスクを実行するツールを装備させることができます:
- Office 365 Outlook コネクタを使用して電子メールを送信する
- 現在の気象条件と予報を確認する
- Dataverse からのデータの読み取りと書き込み
- Teams へのメッセージの読み取りと投稿
Microsoft Copilot Studioする多くの利点の 1 つは、電子メールの送信、外部データの検索、エージェントに入力されたデータに基づくアクティビティの作成などのアクションを実行できることです。 ツール ノードの追加は、エージェントからCopilot Studioワークフローを呼び出せるようにすることで、これを容易にするのに役立ちます。
トピック内からツールを明示的に呼び出すことができます。 ユース ケースによっては、複数のノードを使用する広範なトピックの一部としてツールを使用したり、単に 1 つのアクション (ツール) ノードをトピックに追加するだけで必要な場合があります。
ツールを呼び出すノードの下にある [ノードの 追加 ] アイコンを選択し、[ ツールの追加] を選択します。
使用可能なツールからツールを選択します。 さまざまな種類のツールを示す 3 つのタブがあります。
- 基本的なツール
- コネクタ
- ツール
[基本ツール] タブ
[ 基本ツール ] タブでは、次のことができます。
- 新しいエージェント フロー - このトピックの新しいワークフローを作成します。
- 新しいプロンプト - このトピックの新しい AI プロンプトを作成します。
- スキルのアップロード - Microsoft 365 エージェント SDKなどのプロコードで構築されたエージェントを使用してエージェントを拡張するスキルを作成します。
- 検索クエリの生成 - 検索クエリの作成は、会話履歴で強化された、ユーザーの入力の書き換えられたバージョンをキャプチャするためにエージェントが使用できるトピック レベルのツールです。 書き換えられたクエリは、検索や要約などのダウンストリーム タスクで使用できます。 この書き換えられた文字列は、作成者に元のクエリの構造化された明確なバージョンを提供します。このバージョンは、エージェントの目的に合わせて再利用できます。
- カスタム検索の実行 - カスタム検索は、エージェントが入力クエリに基づいて検索を実行するために使用できるトピック レベルのツールです。 検索は、カスタマイズされた一連のデータ ソースに基づいて行われます。 このツールは、未加工の未確定の結果を出力変数として返します。 結果を処理し、ダウンストリーム タスクで使用できます。
[ツール] タブ
[ ツール ] タブで、エージェントに追加された MCP ツール、プロンプト ツール、またはワークフローを選択できます。 既存のツールを追加したり、新しいツールを作成したりすることもできます。
ワークフローをツールとしてトピックに追加する場合は、変数または静的な値を使用してワークフローの入力パラメーターを指定できます。
質問ノードの主な利点は、顧客の応答に基づいて異なる会話パスを作成できる点です。 次のユニットでは、分岐について説明します。この分岐により、各ユーザーが最適なパスを下に移動して、適切な解像度に到達します。