次の方法で共有


トピックの作成と編集

Copilot Studio では、トピックによってエージェントの会話の進行状況が定義されます。

トピックを作成するには、必要な内容を記述して AI にトピックを作成してもらうか、ゼロからトピックを作成します。

エージェントやトピックの制約に関する詳細ついては、割り当て、制限、アプリケーション登録、証明書、構成値を参照してください。

ユーザーに応答する適切なトピックの選択

ユーザーに応答する方法を決定するために、エージェントは 生成オーケストレーション またはクラシック オーケストレーションを使用します。

生成オーケストレーションでは、エージェントがトピック、ツール、ナレッジの中から最適な組み合わせを選択することで、ユーザーのクエリに応答したり、イベント トリガーに対応したりすることができます。 各トピックでは、その目的をエージェントに解説する説明が記載されています。 記述作成について詳しく知る。

クラシック オーケストレーションを使用するように構成されたエージェントでは、各トピックには、顧客が特定の課題に関連するクエリに使用する可能性が高いフレーズ、キーワード、質問などのトリガーフレーズが設定されています。 これらのエージェントは、自然言語理解、顧客のメッセージ、トピックのトリガー フレーズを使用して最適なトピックを見つけます。 顧客の入力は、トピックをトリガーするためにトピックのトリガー フレーズと完全に一致している必要はありません。 たとえば、店舗の営業時間に関するトピックには「営業時間を確認する」というトリガー フレーズを設定できます。顧客が「店舗の開店時間を確認する」と入力すると、このフレーズがトリガーとなり、営業時間トピックが起動します。 詳細情報については、トリガー フレーズの作成を参照してください。

Copilot Studio のトピック

Copilot Studio では、topic は、ユーザーとエージェント間の会話の一部を表します。 作成キャンバスでトピックを定義します。1 つのトピックには 1 つ以上のノードが含まれており、このノードによって、トピックが実行できる会話パスが決まります。 各ノードは、メッセージの送信や質問などのアクションを実行します。

  • Web アプリケーション
  • クラシック / チーム

エージェントには、 システム トピックと カスタム トピックの 2 種類のトピックを含めることができます。 すべての新しいエージェントは、事前定義されたシステム トピックとカスタム トピックのセットで開始します。

  • システム トピックは、人と話す、または会話を終了するというカスタム要求などの重要な動作をサポートします。 一部のシステム トピックにはトリガー フレーズがあり、エージェントのニーズに合わせてカスタマイズできます。

    • システム トピックを作成することはできません。
    • システム トピックは削除できませんが、無効化することはできます。
      • システム トピックに変更を加えることができます。 ただし、システム トピックの編集を開始する前に、エージェント のエクスペリエンス全体を作成することに慣れるまで待つことを推奨します。

    詳細については、システム トピックを使用するを参照してください。

  • 事前定義されたカスタム トピックには、顧客への挨拶、会話の終了、会話の再開などの一般的な動作が含まれます。

    • 定義済みのカスタム トピックを変更したり、エージェントから完全に削除したりできます。
    • 作成するトピックはすべてカスタム トピックです。

ノードの種類

利用できるノードには次の種類があります。

  • Web アプリケーション
  • クラシック / チーム
Node のタイプ 説明
メッセージ ノード 顧客メッセージを送信します。
質問ノード 顧客に質問します。
アダプティブ カード ノード 1 つ以上の応答ボタン、または入力フィールドを含む対話型カードを表示します。
条件 ノード 条件に基づいて会話を分岐させます。
変数管理 ノード 値を設定する、値を解析する、または変数をクリアする (エージェントが使用する会話履歴をクリアする機能を含む)。
トピック管理 会話のリダイレクト、ユーザーの転送、トピックや会話を終了します。
ツール ノード Power Automateや Excel Online などのフローを呼び出すか、コネクタやその他の種類のツールを使用します。
詳細 生成回答、HTTP リクエスト、イベントなどを送信します。

チップ

名前を変更し、ノードを識別しやすくします。 ノードの名前フィールドを選択して直接名前を更新するか、ノードの3つの点(...)を選択してメニューから 「Rename 」を選択してください。 コード エディター でノードの名前を変更することもできます。

トリガー ノードと 手順に進む ノードの名前を変更することはできません。

ノード名の長さは 500 文字までです。

トピックを作成する

  • Web アプリケーション
  • クラシック / チーム
  1. エージェントの トピック ページ に移動します。 視認性を高めるため、テスト パネルを一旦閉じてください。

  2. [ トピックの追加] を選択し、[ 空白から] を選択します。

    トリガー ノードは、空白の トピック オーサリング キャンバス上に表示されます。

  3. トリガーノードの3つの点(...)を選択し、その後プロパティを選択します。 認識されたインテントプロパティパネルが表示されます。

  4. 意図が認識されたときのプロパティで、「フレーズエリア」を選択します。 フレーズのサブパネルが表示されます。

  5. フレーズの追加 で、トピックのトリガー フレーズを入力します。

    エージェントが、顧客の応答を理解するように AI を訓練するには、5~10 個のトリガーフレーズが必要です。 トリガー フレーズをさらに追加するには、次のいずれかを実行できます:

    • テキスト フィールドの横にある 追加 アイコン を選択し、目的のフレーズを入力します。
    • 一連のトリガー フレーズをそれぞれ別の行に貼り付け、Enter を選択します。
    • 一連のトリガー フレーズを入力し、それぞれの後に ShiftEnter を押して別の行に配置し、Enter を選択します。
    • このトピックに追加するトリガー フレーズを記載したファイルをアップロードしてください。

    トリガー フレーズには句読点を含めることができますが、長文ではなく、短い語句を使用することをお勧めします。

  6. ツール バーで 詳細 を選択して、トピック詳細 パネルを開きます。

  7. トピックの詳細を追加します。

    • トピックを識別する名前を入力します ("ストア時間" など)。[ トピック] ページには、エージェントで定義されているすべてのトピックがこの名前で一覧表示されます。
    • 必要に応じて、エージェントが顧客のメッセージに一致するトピックを判断できない場合に顧客に表示する表示名を入力します。
    • 必要に応じて、説明フィールドを使用して、自分自身やチーム内の他のエージェントの作成者向けにトピックの目的を説明してください。 顧客にトピックの説明が表示されることはありません。
  8. 上部のメニュー バーの 保存 を選択して、トピックを保存します。

重要

トピックの名前にはピリオド () を使用しないでください。 トピック名にピリオドが含まれるエージェントを含むソリューションをエクスポートすることはできません。

トピックのトリガーフレーズをアップロードする

トピックのトリガー ノードのフレーズ パネルから、そのトピックに関連付けられているトリガーフレーズのセットを追加または置き換えることができます。

  1. トピックに追加するすべてのトリガーフレーズをリストしたテキストファイル(最大3 MB)を用意し、各フレーズを別々の行に記述します。

  2. フレーズの追加で、ファイルのアップロードを選択します。

  3. ファイルのアップロードで、目的のオプションを選択します。

    • トピックに新しいトリガー フレーズを追加する場合は、追加を選択します。
    • 既存のすべてのトリガー フレーズをファイルの一覧で置き換えるには、置換を選択します。
  4. ファイルをウィンドウにドロップします。 または、クリックして参照し、ファイルに移動して選択します。

  5. 表示されるトリガー フレーズを確認し、追加を選択します。

  6. トピックを保存します。

トピックへのトリガー フレーズのダウンロード

トピックのトリガー ノードのフレーズ パネルから、そのトピックに関連付けられているトリガーフレーズのセットをダウンロードすることができます。

  1. フレーズの追加で、ダウンロードを選択します。

  2. 結果のテキスト ファイルを保存するか、テキスト エディターで開いて内容を確認します。 各トリガーフレーズは、別々の行に表示されます。

トピックの編集

  • Web アプリケーション
  • クラシック / チーム

トピックを作成すると、作成キャンバスに トリガー ノードが自動的に表示されます。 その後、さまざまな種類のノードを追加して、トピックの目的の会話パスにすることができます。

トピック作成キャンバスで別のノードの後、または 2 つのノード間にノードを追加するには:

  1. 新しいノードを追加したいノードの下にある ノード追加アイコンを選択します。

  2. 表示されたリストから目的の ノードの種類 を選択します。

ノードの削除

削除したいノードの3つの点(...)を選択し、「 削除」を選択します。

キャンバス上のノードを編集するための制御

ツール バーのコントロールを使用して、選択したノードまたは選択した隣接ノードを切り取り、コピー、貼り付け、および削除できます。

ツール バーには、編集を元に戻すためのコントロールもあります。 元に戻す アイコン を選択し、次を選択します。

  • 元に戻 して最新の変更を元に戻す
  • 最後の保存に戻すですべての操作を元に戻す
  • 前回の操作をやり直しして再実行する

ノードを貼り付ける

切り取りまたはコピー ツールを使用して 1 つ以上のノードをクリップボードに配置した後、2 つの方法でキャンバスに貼り付けることができます。

  • ノードを選択してから貼り付けを選択した場合、クリップボードのノードは、選択したノードの後に挿入されます。

  • "" を選択して ノードの追加 メニューを表示し、貼り付け を選択すると、クリップボード上のノードがその位置に挿入されます。

トピック の入力および出力パラメータを追加します

トピックには入力および出力パラメータを持てます。 トピックが 別のトピックにリダイレクト する場合、これらのパラメータを使用してトピック間で情報を渡すことができます。

さらに、エージェントが生成モードを使用している場合、会話の文脈からトピック入力を自動的に埋めることができます。また、ユーザーから値を収集するための質問を生成した後にも、トピック入力を自動的に埋めることができます。 この動作は、アクションの生成スロット充填の動作に似ています。

トピックの入力および出力パラメータの詳細については、トピックの入力と出力を管理する を参照してください。

コード エディターでトピックを編集する

コード エディターには、YAML でトピックが表示されます。YAML は、読みやすく理解しやすいマークアップ言語です。 コード エディターを使用して、他の作成者が作成したものであっても、他のボットからトピックをコピーして貼り付けます。

重要

トピック全体をコード エディターで設計し、複雑なトピックを貼り付けることは、完全にはサポートされていません。

この例では、YAML をコピーしてコード エディターに貼り付け、顧客に配送情報を尋ねるトピックをすぐに追加します。

  1. [トピック] ページで、[トピックの追加] を選択します空白から。

  2. 作成キャンバスのページの右上で、その他オプション を選択し、コード エディターを開く を選択します。

    トピックのコード エディターを開く方法のスクリーンショット。

  3. コード エディターの内容を選択して削除します。 次に、以下の 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.
    
  4. [ 保存] を選択し、[ コード エディターを閉じる] を選択します。 質問ノードの一部に続く条件付きロジックに注目してください。

    Copilot Studio コード エディターで YAML から作成された会話のスクリーンショット。

テストと公開

  • Web アプリケーション
  • クラシック / チーム

トピックに変更を加えた際には、エージェントをテストし、すべてが期待通りに動作することを確認してください。

満足したら、目的のチャネルにエージェントを発行します。