トピックの作成と編集
Copilot Studio では、トピックによってエージェントとの会話の進行が定義されます。
トピックを作成するには、提供されているテンプレートをカスタマイズするか、トピックをゼロから作成するか、または必要な内容を記述して AI にトピックを作成してもらうことができます。
Copilot Studio では、トピック はユーザーとエージェント間の会話スレッドの一部を表します。 作成キャンバス 上でトピックを定義して使用します。トピックには 1 つ以上の 会話ノード、 が含まれ、トピックが使用できる会話パスをまとめて定義します。 各ノードは、メッセージの送信や質問などのアクションを実行します。
トピックには、トリガー フレーズ のセット (顧客が使用する可能性の高い特定の問題に関連するフレーズ、キーワード、質問) が含まれます。 Copilot Studio のエージェントは、自然言語理解、顧客のメッセージ、およびすべてのトピックのトリガー フレーズを使用して、トリガーする最適なトピックを見つけます。 メッセージは、トピックをトリガーするためにトピックのトリガー フレーズと完全に一致する必要はありません。 たとえば、店舗の営業時間に関するトピックには、トリガー フレーズ check store hours
が含まれる場合があります。 顧客が "店舗の営業時間を参照" を入力すると、このフレーズが店舗の営業時間トピックをトリガーします。
前提条件
- エージェントを作成するには、クイックスタート - エージェントの作成と展開を参照してください。
自然な言語の解釈
エージェントは、顧客が入力した内容を自然言語理解 (NLU) を使用して解析し、最適なトリガー フレーズまたはノードを見つけます。
たとえば、ユーザーが「営業時間」と入力すると、エージェントはそれを店舗営業時間のトピックと照合し、顧客がどの店舗に関心を持っているかを尋ねる会話を開始し、その店舗の営業時間を表示します。
エージェントのテスト ペインには、エージェントとの会話が各ステップでどのように進むかを示しています。 エージェントのテスト ペインを使用して、Copilot Studio を終了せずにトピックを微調整できます。
エージェントやトピックの制約については、割り当て、制限、アプリケーション登録、証明書、構成値を参照してください。
Copilot Studio のトピック
トピックの種類
エージェントには、システム トピックと カスタム トピック の 2 種類のトピックを含めることができます。 すべての新しいエージェントは、事前定義されたシステム トピックとカスタム トピックのセットで開始します。
システム トピックは、人と話す、または会話を終了するというカスタム要求などの重要な動作をサポートします。 一部のシステム トピックにはトリガー フレーズがあり、エージェントのニーズに合わせてカスタマイズできます。
- システム トピックを作成することはできません。
- システム トピックは削除できませんが、無効にすることはできます。
- システム トピックに変更を加えることができます。 ただし、完全なエージェント エクスペリエンスを作成することに慣れるまでは、システム トピックを編集することはお勧めしません。
詳細については、システム トピックを使用するを参照してください。
事前定義されたカスタム トピックには、顧客への挨拶、会話の終了、会話の再開などの一般的な動作が含まれます。
- 定義済みのカスタム トピックを変更したり、エージェントから完全に削除したりできます。
- 作成するトピックはすべてカスタム トピックです。
ノードの種類
利用できるノードには次の種類があります。
回答内容 | プロパティ |
---|---|
メッセージの送信 | 顧客メッセージを送信します。 |
質問する | 顧客に質問します。 |
アダプティブ カードで質問する | 他のアプリと交換するための JSON スニペットを作成します。 |
条件を使用して作成する | 条件に基づいて会話を分岐させます。 |
変数管理 | 値を設定するか、値を解析するか、すべての変数をクリアします。 |
トピックの管理 | トピックまたは会話をリダイレクト、転送、または終了します。 |
フローを呼び出す | Power Automate または Excel Online のようなフローを呼び出すか、コネクタまたはプラグインを使用します。 |
Advanced | 生成的な答え、HTTP 要求、イベント など。 |
チップ
名前を変更し、ノードを識別しやすくします。 ノードの名前フィールドを選択して名前を直接更新するか、ノードのその他 (…) アイコンを選択してメニューから名前の変更を選択します。 コード エディター でノードの名前を変更することもできます。
トリガー ノードと 手順に進む ノードの名前を変更することはできません。
ノード名の長さは 500 文字までです。
トピックを作成する
エージェント ページのリストからご利用のエージェントを開きます。 見やすくするために、ここでは エージェントのテスト パネルを閉じてください。
上部のメニュー バーの トピック を選択します。
トピックを追加を選択し、最初からを選択します。
トリガー ノードは、空白の トピック オーサリング キャンバス上に表示されます。
トリガー ノードのその他アイコン (…) を選択し、プロパティ を選択します。 フレーズ認識プロパティ パネルが表示されます。
認識された意図のプロパティ パネルで、フレーズ 領域を選択します。 フレーズ セカンダリ パネルが表示されます。
フレーズの追加 で、トピックのトリガー フレーズを入力します。
エージェントが、顧客の応答を理解するように AI を訓練するには、5~10 個のトリガーフレーズが必要です。 トリガー フレーズをさらに追加するには、次のいずれかを実行できます:
- テキスト フィールドの横にある 追加 アイコン を選択し、目的のフレーズを入力します。
- 一連のトリガー フレーズをそれぞれ別の行に貼り付け、Enter を選択します。
- 一連のトリガー フレーズを入力し、それぞれの後に Shift+Enter を押して別の行に配置し、Enter を選択します。
トリガー フレーズには句読点を含めることができますが、長文ではなく、短い語句を使用することをお勧めします。
ツール バーで 詳細 を選択して、トピック詳細 パネルを開きます。
エージェントのトピックの詳細を追加します:
- トピックを識別するための名前を入力します (「営業時間」など)。トピック ページには、エージェントで定義されたすべてのトピックがこの名前で表示されます。
- 必要に応じて、エージェントが顧客のメッセージに一致するトピックを判断できない場合に顧客に表示する表示名を入力します。
- 必要に応じて、説明フィールドを使用して、自分自身やチーム内の他のエージェントの作成者向けにトピックの目的を説明してください。 顧客にトピックの説明が表示されることはありません。
上部のメニュー バーの 保存 を選択して、トピックを保存します。
重要
トピックの名前にはピリオド (.
) を使用しないでください。 トピック名にピリオドが含まれるエージェントを含むソリューションをエクスポートすることはできません。
トピックの会話パスを設計する
トピックを作成すると、作成キャンバスに トリガー ノードが自動的に表示されます。 その後、さまざまな種類のノードを追加して、トピックの目的の会話パスにすることができます。
トピック作成キャンバスで別のノードの後、または 2 つのノード間にノードを追加するには:
新しいノードを追加するノードの下にある ノードの追加 アイコン を選択します。
表示されたリストから目的の ノードの種類 を選択します。
ノードの削除
削除するノードのその他アイコン (…) を選択し、削除を選択します。
キャンバス上のノードを編集するための制御
ツール バーのコントロールを使用して、選択したノードまたは選択した隣接ノードを切り取り、コピー、貼り付け、および削除できます。
ツール バーでは、編集を元に戻すこともできます。 元に戻す メニューを開いて、すべての操作を最後に保存した状態に戻すか、直前の操作をやり直します。
ノードを貼り付ける
切り取りカット や コピー ツールを使用して、複数のノードをクリップボードに配置したら、キャンバスに貼り付ける方法は次の 2 とおりあります。
ノードを選択してから貼り付けを選択した場合、クリップボードのノードは、選択したノードの後に挿入されます。
"+" を選択して ノードの追加 メニューを表示し、貼り付け を選択すると、クリップボード上のノードがその位置に挿入されます。
トピック の入力および出力パラメータを追加します
トピックには入力および出力パラメータを持てます。 トピックが 別のトピックにリダイレクト する場合、これらのパラメータを使用してトピック間で情報を渡すことができます。
さらに、エージェントが生成モードを使用している場合、会話の文脈からトピック入力を自動的に埋めることができます。また、ユーザーから値を収集するための質問を生成した後にも、トピック入力を自動的に埋めることができます。 この動作は、アクションの生成スロット充填の動作に似ています。
トピックの入力および出力パラメータの詳細については、トピックの入力と出力を管理する を参照してください。
コード エディターでトピックを編集する
コード エディターには、YAML でトピックが表示されます。YAML は、読みやすく理解しやすいマークアップ言語です。 コード エディターを使用して、他の作成者が作成したものであっても、他のボットからトピックをコピーして貼り付けます。
重要
トピック全体をコード エディターで設計し、複雑なトピックを貼り付けることは、完全にはサポートされていません。
この例では、YAML をコピーしてコード エディターに貼り付け、顧客に配送情報を尋ねるトピックをすぐに追加します。
トピック ページで、+ 作成>空欄から を選択します。
作成キャンバスのページの右上で、その他オプション を選択し、コード エディターを開く を選択します。
コード エディターの内容を選択して削除します。 次に、以下の YAML コードをコピーして貼り付けます:
kind: AdaptiveDialog beginDialog: kind: OnRecognizedIntent id: main intent: displayName: Lesson 3 - A topic with a condition, variables and a prebuilt entity triggerQueries: - Buy items - Buy online - Buy product - Purchase item - Order product actions: - kind: SendMessage id: Sjghab message: I am happy to help you place your order. - kind: Question id: eRH3BJ alwaysPrompt: false variable: init:Topic.State prompt: To what state will you be shipping? entity: StatePrebuiltEntity - kind: ConditionGroup id: sEzulE conditions: - id: pbR5LO condition: =Topic.State = "California" || Topic.State = "Washington" || Topic.State = "Oregon" elseActions: - kind: SendMessage id: X7BFUC message: There will be an additional shipping charge of $27.50. - kind: Question id: 6lyBi8 alwaysPrompt: false variable: init:Topic.ShippingRateAccepted prompt: Is that acceptable? entity: BooleanPrebuiltEntity - kind: ConditionGroup id: 9BR57P conditions: - id: BW47C4 condition: =Topic.ShippingRateAccepted = true elseActions: - kind: SendMessage id: LMwySU message: Thank you and please come again.
保存を選択してから、コード エディターを閉じるを選択します。 質問 ノードには、配送に関する質問に対して多くの条件が設定されました。
エージェントをテストして公開する
トピックに変更を加えた際には、エージェントをテストし、すべてが期待通りに動作することを確認してください。
エージェントを設計し、テストした後、Web、モバイル、ネイティブアプリ、または Microsoft Bot Framework チャネルに公開します。