次の方法で共有


トピックの作成と編集

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

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

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

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

前提条件

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

ユーザーへの対応方法を決定するにあたっては、エージェントは、生成オーケストレーションかクラシック オーケストレーションのいずれかを使用します。

生成オーケストレーションでは、エージェントはユーザーからの問い合わせに答えたり、イベントのトリガーに応答するために使用するトピック、アクション、ナレッジの最も適切な組み合わせを決定します。 各トピックには、その目的をエージェントに通知する説明があります。 詳細については、作成に関する説明を参照してください。

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

Copilot Studio のトピック

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

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

    • システム トピックを作成することはできません。
    • システム トピックは削除できませんが、無効にすることはできます。
    • システム トピックに変更を加えることができます。 ただし、完全なエージェント エクスペリエンスを作成することに慣れるまでは、システム トピックを編集することはお勧めしません。

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

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

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

ノードの種類

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

ノード タイプ プロパティ
メッセージ ノード 顧客メッセージを送信します。
質問ノード 顧客に質問します。
アダプティブ カード ノード 他のアプリと交換するための JSON スニペットを作成します。
条件ノード 条件に基づいて会話を分岐させます。
変数管理 ノード 値の設定、値の解析、または変数のクリア (エージェントが使用した会話履歴をクリアする機能を含む)。
トピック管理 会話のリダイレクト、ユーザーの転送、トピックや会話を終了します。
ツールの呼び出しノード Power Automate や Excel Online などのフローを呼び出したり、コネクタや別の種類のツールを使用します。
アドバンスド 生成回答HTTP リクエストイベントなどを送信します。

チップ

名前を変更し、ノードを識別しやすくします。 ノードの名前フィールドを選択して名前を直接更新するか、ノードのその他 () アイコンを選択してメニューから名前の変更を選択します。 コード エディター でノードの名前を変更することもできます。

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

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

トピックを作成する

  1. エージェントの トピック ページ に移動します。 視認性を高めるには、とりあえずテストパネルを閉じてください。

  2. トピックを追加を選択し、最初からを選択します。

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

  3. トリガー ノードのその他アイコン () を選択し、プロパティ を選択します。 フレーズ認識プロパティ パネルが表示されます。

  4. フレーズ認識 プロパティで、フレーズ 領域を選択します。 フレーズ セカンダリ パネルが表示されます。

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

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

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

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

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

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

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

重要

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

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

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

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

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

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

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

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

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

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

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

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

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

トピックの会話パスを設計する

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

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

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

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

    トリガー ノードの後にノードを挿入するために選択できるオプションのスクリーンショット。

ノードの削除

削除するノードのその他アイコン () を選択し、削除を選択します。

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

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

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

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

ノードを貼り付ける

切り取りカットコピー ツールを使用して、複数のノードをクリップボードに配置したら、キャンバスに貼り付ける方法は次の 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 から作成された会話のスクリーンショット。

エージェントをテストして公開する

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

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