AIエージェントとの会話で、必要な情報を確実に収集したいけど、うまくいかないことはありませんか?例えば、配送の手続きで住所や電話番号を聞いているのに、時々情報が不足してしまう…そんな経験をお持ちの方も多いでしょう。
実は、そんな課題を解決してくれるのが、Copilot Studioのトピック機能なんです。今回は、この便利な機能について詳しく解説していきますね。
Copilot Studioのトピック機能とは?
トピック機能を一言で説明すると、会話のテーマに応じた処理や会話の流れを定義するための機能です。Power Automateでいうところの「フロー」のような感覚で捉えていただくと分かりやすいかもしれません。

この機能、実はPower Virtual Agentの時代から存在していて、もともとはチャットボットを定義するために作られたものなんです。そのため、チャットボットで会話の流れを定義する時と同じように、厳密な処理を流すことが可能です。
なぜトピック機能が重要なのか
ここで重要なのは、AIプロンプトだけでは限界があるということです。例えば、配送に関する会話で住所や名前、電話番号といった情報を集める場合を考えてみましょう。

生成AIのプロンプトを工夫することで、Copilot Studioでそういった情報を集めることは可能です。ただし、AIの機能なので100%集められるという保証はありません。しかし、実際に配送を行うには100%の情報が必要ですから、たまに集められないという事態は困りますよね。
そんな時に便利なのが、このトピック機能なんです。例えば「配送トピック」というものを作成し、その中で住所や電話番号、ユーザーの名前をエージェントから質問するような形にすれば、エージェントはすべての情報を確実に集めることができるというわけです。
トピックの種類:システムトピックとカスタムトピック
トピック機能には、主に2つの種類があります。
システムトピック
システムトピックは、規定で組み込まれたシステムイベントに対応したトピックのことです。削除や追加はできませんが、編集や無効化は可能です。

具体的には、以下のような場面で使われます:
- エラーが発生した時
- ログインした時
- エスカレーションをする時
このようなエージェントの動きそのものに影響があるものは、システムトピックで対応します。
ただし、公式ドキュメントにもある通り、ある程度トピックという仕組みに慣れてから編集するようにした方が良いでしょう。
カスタムトピック
カスタムトピックとは、システムトピック以外のすべてのトピックのことを指します。こちらは削除、編集、停止、コピーといったすべての操作が可能です。

新たに会話のテーマや流れを定義したい場合は、すべてのユーザーがこのカスタムトピックを新たに作ることになります。
規定では「挨拶」や「ありがとう」といった言葉に対応するカスタムトピックが用意されていて、その中ではそれぞれの言葉に対応した会話の流れが定義されています。
トピックの構成要素
カスタムトピックやシステムトピックを構成する要素として、トピックトリガーとノードと呼ばれているものがあります。

トピックトリガー
トピックトリガーは、トピックが実行される条件やフレーズのことです。Power Automateでいうところのトリガーと同じようなものだと思っていただいて大丈夫です。
このトピックトリガーにはいくつか種類があります:
- エージェントが必要なタイミングで実行するトリガー
- ユーザーからメッセージを受信した時に実行されるトリガー
- 一部のイベントに応じて実行されるトリガー
規定ではエージェントから実行されるトリガーになっていますが、それ以外の場合、例えばAIの応答で生成された時などにトピックを実行したいといった場合には、こちらのトリガーを変更してトピックを定義していく形になります。
ノード

ノードとは、トピック内で実行する処理や振る舞いのことです。Power Automateのアクションと同じような形で捉えて大丈夫ですね。
例えば、以下のような処理が可能です:
- メッセージを送信する
- 変数を管理する
- 条件を追加する
- アダプティブカードで質問する
Power Automateを実行する
また、トピックの中では複数のノードを定義することができます。
Power Automateとの関係性
それぞれの用語をPower Automateでまとめると、このような形になります:

- トピック =
Power Automateでいうところの「フロー」 - トピックトリガー =
Power Automateでいうところの「トリガー」 - ノード =
Power Automateでいうところの「アクション」
ですので、Power Automateを構築したことがあるような方は、このCopilot Studioのトピック機能は比較的簡単に受け入れられるかなと思います。
より複雑な会話フローの作成
条件ノードなどを使うことで、より複雑な会話の流れを定義することも可能です。また、Copilotの機能を使って自然言語でこのトピックを生成することも可能です。
まとめ
いかがでしたでしょうか。Copilot Studioのトピック機能を使うことで会話のフローを定義でき、また複数のノードを組み合わせることで複雑な会話をすることも可能になります。
もちろんAI機能のみで会話をすることも可能ですが、トピック機能を使うことで、より厳密で正確な会話のフローを定義することができるんです。
AIの機能やトピックの機能のどちらか一方を使えばいいというわけではなく、Copilot Studioではどちらも組み合わせて作ることで、より柔軟なAIエージェントを作成することが可能です。
ぜひCopilot Studioでは、プロンプトだけではなくトピック機能にも挑戦してみてください。
参考公式リンク






コメント