はじめに
Copilot Studio では、作成したエージェントを様々なチャネルに展開できます。
代表的な展開先としては、Teams と Microsoft 365 Copilot (Chat) があります。
Teams は、Copilot Studio の前身である、Power Virtual Agents 時代からよく展開先として使われていたため、今でも展開先として選択されるケース多いです。
ただし、Teams に展開した際、いくつか悩む、相談いただくポイントがあります。
- [会話の開始] システムトピックが展開した初回しか出てこないため、会話が長くなると、利用者が、次何を入力したらいいか、使い方が分からなくなる
例) エージェントの説明文、使い方、質問の仕方、問題がある際の対処方法などを [会話の開始] システムトピック書いて利用者に伝えていた場合、会話の最初まで戻らないと確認できない
- エラーが続く際などに、会話をリセットしたいが方法が分からない (Microsoft 365 Copilot Chat と違い、新しいチャットを開始する方法がない)
今回は、このような悩むポイントに対処するため、会話セッションのリセット方法中心に対策について整理してみます
しばらくアイドル状態の場合セッションをリセットする
このような感じのカスタムトピックを作ると、しばらく会話していない際に自動でリセットさせることができます。
時間は以下から調整できます。
また、その際、会話をリセットする旨のメッセージを送る、次に質問したい際に何を入力するといいかなども、作られているエージェントの作りを踏まえ教えてあげるとよいかと思います。
今回のサンプルでは、[質問する] と入力したらオーケストレーションが「質問回答トピック」に飛ばすため、その旨を書いています。
しばらく会話をしていないと、以下のような感じでメッセージが表示されます。
※実装してみましたが、上手く上記のようなメッセージが表示されないことも結構あります
オーケストレーション終了時に質問を続けるか確認する
オーケストレーション終了時 (例えば質問に対して回答した後)、ユーザーに続けて質問した以下確認したいという要望をいただくことがあります。
この場合、他の記事でも触れた通り、以下をトリガーにします。
この場合、例えば、「はい」か「いいえ」を選んでもらい、以下のように処理をします。今回も、「質問する」と入力したらオーケストレーションが「質問回答トピック」に飛ばしてくれるため、その旨誘導しやすいようにしています。
※このような「質問回答トピック」を用意しておらず、基本的に指示文ベースで、オーケストレーションのみで構成している場合は、上記のようなメッセージ、[クイック返信] など利用しなくていいです
なお、「質問回答トピック」は、以下の記事で紹介したような方法を使って、カテゴリごとに参照するナレッジを限定しています。
フォールバック (回答が生成できなかった場合の案内文) は以下の方法で構成しています。
/debug clearstate コマンド
/debug clearstateコマンドは、会話の状態を強制的にリセットするコマンドです。
内部では以下のようなことが行われるようです。
上述の方法で対策をしていれば概ね大丈夫と思いますが、エラーが続く、会話がリセットできないような場合、こちらのコマンドを実行することで解決できる可能性があります。
必要に応じて、定期的に表示されるメッセージ内に、「問題が継続して発生する際は、/debug clearstateと入力してみてください」といった文言を追加してみてもよいかもしれません。
[会話の開始] システムトピックに戻す
上述した記事などでは、Teams 上では [会話の開始] システムトピックは初回しか表示されないと記載あるのですが、こんな感じでカスタムトピックを作ったところ、[会話の開始] システムトピックは一応呼ばれていました。ただ、いずれにせよ、しばらくの期間非アクティブだったらリセットした方が、不要な情報が残ることで、動作、回答品質に影響が出ることを防止できると思います。
会話の開始に戻すということは、変数や会話履歴もクリアしておいた方が、以前の会話の履歴などクリアしていた方がよいと思うので、この辺も間に入れてもよさそうですね。
まとめ
今回は、Copilot Studio で作成したエージェントを Teams に展開した際の会話セッションのリセットという観点で記事を書きました。
本番利用を見据えると、利用者に継続して使ってもらう、利用者が次に何をしたらよい分かりやすい感じで会話が流れていることが望ましいです。Teams にエージェントを展開した場合、Microsoft 365 Copilot Chat と違い、「新しいチャットをする」という導線がなく、今は新しい会話をしているのか、以前の状態のまま会話をしているのか、分かりにくいため、紹介したような方法で分かりやすくしてあげることが重要と思います。その観点で参考になれば幸いです。














