コルネの進捗や備忘録が記されたなにか

進捗や成果物や備忘録てきななにかを雑に更新していきます。

Copilot Studio の Multi-agent orchestration を試してみる


スポンサードリンク

はじめに

Microsoft Build 2025 で発表された Multi-agent orchestration (マルチエージェント オーケストレーション)が利用可能になっていたので、動作を確認してみたまとめです。

www.microsoft.com

一応発表の日本語訳

マルチエージェント・オーケストレーション
1つのエージェントにすべてを任せたり、サイロでバラバラのエージェントを管理したりするのではなく、Copilot Studio(プレビュー)でマルチエージェントシステムを構築し、エージェントが互いにタスクを委任できるようになった。これには、Microsoft 365 agent builder、Microsoft Azure AI Agents Service、Microsoft Fabricで構築されたものも含まれる。これらのエージェントはすべて、システム、チーム、ワークフローにまたがる複雑でビジネスクリティカルなタスクを完了するという共通の目標を達成するために連携できるようになりました。
この進化は、組織がMicrosoft全体でエージェントの利用を拡大する方法における、より広範なシフトを反映している。Copilot Studioエージェントが顧客関係管理(CRM)システムから販売データを取得し、それをMicrosoft 365エージェントに渡してWordで提案書を作成させ、別のエージェントをトリガーしてOutlookでフォローアップのスケジュールを作成させることを想像してみてください。あるいは、エージェントがIT、コミュニケーション、ベンダーのシステムを横断的に調整し、インシデントの検出から解決までを管理することも想定できる。エグゼクティブ・ブリーフィングであれ、顧客のオンボーディングであれ、製品のローンチであれ、エージェントは同期して動作することができるようになり、すべてのステップにおいて、より高い接続性、インテリジェンス、スケールをもたらします。この機能は現在プライベートプレビュー中で、パブリックプレビューは近日公開予定です。

公式ドキュメント

現状 Copilot Studio のこちらの 詳細情報 から飛べるサイトは Microsoft のトップページという残念な結果になっています。

www.microsoft.com

しかし、2025/06/13 にドキュメントが公開されましたので恐らく近日中に置き換わってくれるんじゃないかな。と思っています。
なお日本語未対応です。

learn.microsoft.com

マルチエージェントオーケストレーションを利用する

エージェントとエージェントを接続する

エージェントとエージェントを接続する方法としては、現在「概要」から実施する方法と「エージェント」から実施する方法の2通りがあります。

どちらから実施した場合でも結果は同じですので好きな方法で試してください。

エージェントを新規作成する

まずはこちらの「エージェントを作成する」から試してみましょう。

工 ー ジェントを作成する
現在のエ ー ジェント内で動作し、その設定を継承する軽量工 ー ジェント。複雑なロジックの分割に最適です。

という説明になっていますね。
「軽量エージェント」というのが少し重要なポイントになってきます。(後で説明)

「エージェントを作成する」を選択すると以下のような画面となります。

エージェントの構成要素を入力してエージェントの作成をしてあげましょう。

なお「これが作成されるタイミングは?」の「エージェント が選択するもの」は生成オーケストレーションにしていないと選択肢にでてきません。

とりあえず Power Apps の情報を返すエージェントを作成してみました。

作成するとこのように一覧に表示されます。

また親エージェントには先ほど作成したエージェントに使用したナレッジが表示されています。
「Available to」 でどこで利用されているのか?が確認できますね。

ではテストしてみましょう。

「Power Appsとはなんですか?」という問いを投げかけてみました。

活動マップをみてみると、先ほど作成したエージェントを呼び出して、そのエージェント内に設定されたナレッジから情報を検索してその結果を返してきてくれていますね。

既存のエージェントに接続する

続いて既存のエージェントに接続してみます。

こちらは事前に以下エージェントを作成しておきました。

未公開ですと選択ができないので対象のエージェントは公開しておく必要があります。



選択するとエージェントの詳細が表示されますので、問題なければ追加を行います。

「このエージェントに会話履歴を渡す」という設定は接続しようとしているエージェントに対して親エージェントでの会話履歴を渡すかどうかを制御するための設定です。
エージェントを呼び出す判断が為された際のメッセージ情報のみしか渡したくない場合はこちらのチェックを外します。

一応公式ドキュメントでの説明は以下です。

原文

If you want to prevent conversation history from being passed to this agent when it's called, clear the Pass conversation history to this agent box. This method limits the information being passed to the agent to just the explicit task that the main agent wants the other agent to complete.

日本語訳

このエージェントが呼び出されたときに、会話履歴がこのエージェントに渡されないようにするには、[このエージェントに会話履歴を渡す]ボックスをクリアします。この方法は、エージェントに渡される情報を、メインエージェントが他のエージェントに完了させたい明示的なタスクだけに制限します。

追加すると以下のようになります。
こちらはリレーションシップが「接続済み」になっていますね。
勘のいい方はお気づきでしょうが、はい。先ほどと作成されるものが異なります。(後で説明します)

今回のやり方ですと、ナレッジに接続したエージェントのナレッジは表示されません。

ではテストしてみましょう。

こちらも簡単に「Copilot Studioとはなんですか?」と聞いてみます。

きちんと先ほど接続したエージェントが呼び出されているようですね!
念のため新規作成したエージェントにもルーティングされること確認してみましょう。

ちゃんと使い分けてくれていますね。

では両方のエージェントへのルーティングが必要なようなものはどうでしょうか??
「Power AppsとCopilot Studioそれぞれの詳細と使い分けについて知りたい」という質問を投げてみます。

なんかそれっぽい回答返してくれていますが、「Copilot Studioの専門家」として用意したエージェントのほうはナレッジが参照されていないように見えますね...
Copilot Studioが保持している一般的なナレッジから参照したのかな?(オフにしてないし)

また参照しているナレッジもおかしいですね。
これらのサイトは存在しない。

https://learn.microsoft.com/ja-jp/copilot-studio/

https://learn.microsoft.com/ja-jp/copilot-studio/overview

うーーん、複数のエージェントに同時にルーティングしたい場合は指示を工夫するか、トピックで作り込まないとダメかなー

少しだけ Deep Dive

さて、少しだけ Deep Dive してみて裏側の動作などもみてみましょう。

まずは新規作成したエージェントですが、こちらは「軽量なエージェント」といわれていましたね。
また既存のエージェントと接続した場合とでもリレーションの種類が違いました。

ではエージェントの一覧をみてみます。

なんとエージェントの一覧をみても作成してエージェント(「Power Appsの専門家」)は見当たりません。

ではどこにいるのか?
このエージェントに紐づけたソリューションを確認してみることにします。

いました。
種類「トピック」としてエージェントに追加されています。

ちなみに既存のエージェント接続として利用したエージェントはこちら。

新規作成した方のエージェントは、エージェントとしての実態がいないのですね。
だからこその「軽量なエージェント」となっています。

またどのやり方でも接続したエージェントは「トピック」というオブジェクトで管理されています。

ここでいう「トピック」は皆さんご存知の「あいさつ」や「フォールバック」などのあのトピックです。

つまりやろうと思えば Copilot Studio の「トピック」からトピック間の呼び出しとかも実装できるというわけですね。
生成オーケストレーション必須じゃないということです。

なおオブジェクトして存在しているだけであって、 Copilot Studio のトピックの一覧にいるわけではないのでご注意を。

最後に「活動」の記録です。

新規作成した実態のないエージェントの方は仕方ないとして、既存のエージェントを追加した方は、呼び出しが行われたら「活動」に履歴として表示されて欲しい(欲しくない?)と思うのですが、こちらどうやら現状は確認できないようです。

※表示されている活動はテストでこのエージェント自体で動かした際のもの

おわりに

マルチエージェントオーケストレーション機能がプレビューではあるものようやく登場しました!

これで"特定の役割に特化したエージェント"というものがより一層作りやすくなったかと思います。
またそのような構成にすることで、所謂マイクロサービスてきな考え方である疎結合なシステムを作成できるようになるかと思います。
これによりメンテナンス性も向上するのでメリットが多いですね。

ただ、アップデートが多いのは嬉しいのですが動作が少し不安定なところが多々見られるのが残念なところなのでもう少し安定性などどうにかならないかなーというのが個人的に思っているところですかね。。。


スポンサードリンク