今回はCopilot Studioのプレビュー機能「オーケストレーション」を使用して、複数のアクションを組み合わせて回答を生成させる。
オーケストレーション機能

※Semantic KernelのPlannerとか、LangChainのPlan-and-Executeみたいな感じ。

ということで今回の記事ではそんなオーケストレーション機能を使ってみる。
今回やりたいこと
- エージェントに「○○さんの予定を教えて」と聞く
- エージェントはアクション「名前からユーザーの情報を取得」でユーザーの名前からメールアドレスを取得
- 続いて取得したメールアドレスから、アクション「予定を取得」を使用して該当ユーザーの予定を取得
- 上記情報を基に回答を生成する
アクション「名前からユーザーの情報(メールなど)を取得」の構築





※この構築だと候補のユーザーが複数いる場合(同姓同名 など)は、複数の検索結果が返っちゃうけど、今回はひとまずこれらは考慮しないこととする。





動作確認:アクション単体





動作確認:オーケストレーション



ユーザーからの質問に対し、自分が使えるアクションやナレッジを使う順序も考慮した上で複数活用し、回答を生成する、といったことができてくると、生成AIを使っている感が出てきて楽しい。
おまけ:候補が複数(同姓同名など)がいる場合

同じ質問をしてみると「ユーザー情報の取得」からは2人目の田中さんの情報もちゃんと返ってくるが、生成AIが勝手に1人目の田中さんについて聞かれてると判断して、回答を生成してしまう。

ということで、こういった機能を本番で構築する場合は、トピックを使って「Human-in-the-Loop」なども利用して機能を構築する必要がありそう。





コメント