Copilot Studio でのトピック作成のベスト プラクティス
コンテキストに合わせて管理および保守しやすいようにトピックを作成および整理します
Copilot Studio は、トピック の管理において非常に柔軟です。 1 つですべてに適用できる わけではありませんが、トピックをトリガーするさまざまな方法を覚えておくことをお勧めします:
トピックは、ユーザーの発話 と自然言語理解 (NLU) モデルに基づいてトリガーできます。
これらのトピックは、ほとんど エントリー ポイントのトピック とみなすことができます。
複数のトピックが重複するトリガー フレーズがある場合、キャッチ オール トピック (または曖昧性解消トピック) を含めて、ロット充填と質問の明確化により他のトピックにリダイレクトすることをお勧めします。
エンティティ抽出のおかげで、説明のための質問をスキップすることができ、ユーザーからの入力なしで、会話は適切な トピック に直接流れます。リダイレクト アクションから呼び出されたときにトピックをトリガーできます。
これらのトピックには会話ノードと論理ノードを含めることができ、複数のトピックから呼び出すことができ、入力変数と出力変数を持つことができます。 これらは理想的には再利用可能な非常に小さいトピックです。トピックは両方にすることもできます。
たとえば、意図認識または明示的なリダイレクトによってトリガーされるトピックです。トピックは他のイベントによってトリガーできます。
たとえば、カスタム イベント、非アクティブなどです。
詳細については、トピック トリガーの完全なリスト を参照してください。
チップ
次の例では、トリガー フレーズが 2 つのメイン トピックに関連付けられており、それらのロジックがリダイレクト アクションで呼び出される複数のトピックに分割されます。
一部のトピックは、他の複数のトピックから呼び出すことができます。これは通常、会話の終了トピックの場合に当てはまります。
スロット充填とエンティティ抽出のおかげで、ユーザーが「クレジットカードのブロックを解除する必要があります」と言うと、Card
トピック がトリガーされ、Debit/Credit
と Block/Unblock
の質問は両方ともスキップされます。これは、 CardType
と OperationType
がトリガー フレーズから推測されるためです。 次に、ユーザーが追加の入力をしなくても、適切な Credit Card
子トピックが自動的に呼び出されます。
非常に小さいトピックを作成する
大きなトピックは、維持と更新が困難になる場合があります。 可能な限り、エージェント ロジックを分解することは良い アイデア です。特に、エージェント 会話ロジックの一部が複数のトピックで共有されている場合はそうです。
トピックは他のトピックにリダイレクトし、変数情報をやり取りできるため、すべてのトピックにトリガー フレーズがある必要はありません。
チップ
通常は、大きなトピックをいくつか作成するよりも、小さいトピックを数多く作成する方が管理しやすくなります。 このアプローチを採用すると、トリガー フレーズをそれらの領域に対処する特定のトピックに明確にマッピングできるため、トリガーをより効果的にすることもできます。
トピックの数は、会話型デザインの好みと決定によって決まります。 その結果、いくつかの大きなトピック (結合がある場合) か小さいトピック (分割がある場合) になります。
チップ
認識が複雑な意図 ("要求" や "問題" などの汎用的な語句など。さまざまな内容に当てはまるため。) の場合、トピックを分割すると、適切なトリガー フレーズを含むより適切なオプションにすることができます。
再利用可能なトピックを作成する
会話メッセージまたはロジック ノードが複数のトピックで共有される場合は、コンテンツを複製するのではなく、新しいトピックでグループ化することをお勧めします。 こうすることで、そのトピックに対して 1 回の更新すると、それにリダイレクトされるすべてのトピックに反映されます。
チップ
前後のノードが同じまたは類似している複数の Copilot Studio トピックから同じ Power Automate クラウド フローを呼び出す場合は、それらを専用のトピックでグループ化することをお勧めします。
トピックの重複を回避する
トピック間のあいまいさを監視して除去する
NLU を使用してトピックをトリガーする場合、重複の問題を解消することが重要です。 重複の問題は通常、多数の一致する複数のトピック トピック (「もしかして」とも呼ばれます) を通じて反映されます。
これらの問題は、異なるトピックのトリガー フレーズ間の意図の意味の重複を減らすことで回避できます。
チップ
トリガー フレーズでトリガーされたトピックの場合は、次のことを行う必要があります。
- トピック全体でトリガー フレーズを比較し、あいまいなペアを削除します。
- 異なるトピックのトリガー フレーズで同じ単語を使用しないようにしてください。
トピックの重複は、次のようにさまざまな方法で監視できます。
- 「もしかして」トピックをトリガーするユーザーの発話を分析します。これは、重複があることを示す重要な指標であるためです
- Copilot Studio トピック 重複検出 機能が提供されており、エージェント の作成者は重複するトピックを検出し、それに応じて解決できます (トピック間で トリガー フレーズを削除/移動)。
曖昧性解消トピックを作成する
トリガー フレーズが近すぎるトピックが複数ある場合、曖昧性解消トピックを作成することでトピックの重複を回避することができます。
チップ
前の例を続行するには、"クレジット カードのブロックを解除する" や "デビット カードのブロックを解除する" などの確実性シナリオで対処するために (ユーザーは「カードのブロックを解除する」と言っても NLU モデルはトリガーするための特定のトピックとプロセスを認識しません)、汎用の Card
曖昧性解消トピックを呼び出して、CardType
のエンティティ スロット充填を使用し、それに応じて適切なトピックを開始することができます。
エンティティを使用してトピックの数を減らす
バリエーションを変数に格納できる場合は、ロジックの重複を回避する必要があります。 たとえば、次のような同様のトピックを作成する代わりに:
- ピザを注文する
- ハンバーガーを注文する
- ドリンクを注文する
以下を作成できます:
Order
の 1 つのトピックPizzas
、Burgers
、Drinks
を値として持つFoodType
の 1 つのエンティティ。