Copilot Stuidoのエージェントに、色々なカテゴリのナレッジを参照させたいのですが、そうするとメンテナンスが大変になりそうですな…
そういった場合、専門分野ごとにエージェントを分けて、マルチエージェントを構築するとよいです!
この記事では、Copilot Studioで、複数のエージェントを連携させるマルチエージェントの機能と実装方法について解説します。
- Copilot Stuidoのマルチエージェントとは何か?
- マルチエージェントにするメリット
- マルチエージェントの具体的な実装方法
マルチエージェントにすることで、エージェントの再利用性や保守性が向上し、活用の幅も広がるので、ぜひ最後まで見てください!
Youtube動画で見たい方は、こちらからどうぞ!
Copilot Studioのマルチエージェントとは?
マルチエージェントの仕組み
「マルチエージェント」とは、複数のエージェントを連携・分担させて動かす仕組みです。
マルチエージェントがサポートされたことで、親エージェントが子エージェントを呼び出すことができるようになりました
例えば図のように、親エージェントとして、総合受付エージェントがあり、子エージェントとして、ITサポートエージェント、会計管理エージェント、総務エージェントの3つがあるとします。

このとき、親である総合受付エージェントを使ってユーザーが質問すると、その質問内容に応じて、適切な子エージェントを呼び出すことができます。
例えばユーザーが、親エージェントにCopilot Studioのエージェントの開発手順について質問したら、ITサポートエージェントが呼び出されて回答してくれるのですな!
マルチエージェントを使うと、上記のようなことが実現できます。
しかし、わざわざ子エージェントを複数に分割して、親エージェントから呼び出すよりも、親エージェントの方に必要なナレッジを全て登録して、何でも質問できるようにした方が良いのではないですかな?

その疑問を解決するため、マルチエージェントにすると何が良いのか?のメリットについても解説しますね。
マルチエージェントのメリット
マルチエージェントにする大きなメリットは、メンテナンス性と再利用性が良くなり、精度向上も期待できることです。
- メンテナンス性
1つのエージェントに多くの機能を詰め込むより、専門領域ごとに分けると保守が簡単 - 再利用性
1つの子エージェントを、複数の親エージェントから使いまわせる - 精度向上
各エージェントに、1つの専門的な役割を与えることで、回答精度の向上が期待できる
1つのエージェントに、様々な異なる役割を与えると、適切なナレッジを参照して回答してくれないことも多いです。
そのため、専門分野ごとにエージェントを分けることで、回答精度の向上が期待でき、メンテナンスも楽になります。
さらに、役割に応じてエージェントを分けることで、色々な親エージェントから、必要な子エージェントを呼び出すことができるようになり、再利用性も向上します!
例えば図のように、ITサポートエージェントは情報システム部門、会計管理エージェントは、会計管理部門、人事エージェントは人事部門、総務エージェントは総務部門が管理する等、各部署で、それぞれの専門エージェントを保守しやすくなります。

なるほど。必要に応じて、親エージェントAは、ITサポート・会計管理・人事の各エージェントを呼び出し、親エージェントBは、会計管理と総務エージェントを呼び出す等、専門ごとに子エージェントを分けることで、再利用もしやすくなりますな!
マルチエージェントには、上記のようなメリットがあります。
マルチエージェント実装の基本的な手順
Copilot Studioで、マルチエージェントを実現する方法について、基本的な手順は以下のようになります。
- 子エージェントを作成し、他のエージェントからの参照を許可する
- 親エージェントを作成し、親エージェントに子エージェントを追加
- 親エージェントの指示で、子エージェントの参照条件を記載
- 親エージェントでのテスト
実際にマルチエージェントの実装をしてみましょう!
マルチエージェントを実装してみる!
実際にCopilot Studioの画面で、マルチエージェントの実装方法を解説します。
今回は、親エージェントとして総合受付エージェントを作成し、子エージェントとして、マイナポータル操作説明エージェント、自治体オープンデータ活用エージェント、確定申告問合せエージェントの3つを用意します。

例えばマイナポータルについてユーザーが質問したら、マイナポータル操作説明エージェントを呼び出し、回答してくれるようなマルチエージェントを構築してみましょう。
(1)子エージェントの作成
最初に、3つの子エージェントを作成して、それぞれのナレッジを追加した後、他のエージェントからの参照を許可する設定をしていきます。

1.Copilot Studioの画面を開き、最初にソリューションを作成します。

↓

Copilot Studioの基本的な操作方法を知りたい方は、以前の記事もご参考ください。
2.ソリューションを作成したら、ソリューション内で、3つの子エージェントを作成していきます。
最初に、マイナポータル操作説明エージェントを作成しましょう。

3.構成から作成する場合、「名前」、「説明」、「指示」を書き、今回はWeb検索は無効にして、「作成」を選択します。

4.エージェントがプロビジョニングされたら、ナレッジを追加します。

今回はSharePointのファイルを参照するため、「ファイルをアップロード」から「SharePoint」を選択します。

ナレッジとなる、SharePointファイルを選択し、ナレッジの「名前」と「説明」を入力して「エージェントに追加」します。

5.「設定」で、他のエージェントからの参照を許可します。

「生成AI」タブの「接続されたエージェント」で、「他のエージェントがこれに接続し、使用できるようにする」を「オン」にします。

必要に応じて他の設定もして、変更を「保存」します。
他の設定では、エージェントのモデルは「GPT-5 Auto」にして、一般的なナレッジの使用をオフにしましたぞ。
6.これで1つ目の子エージェントができたので、設定を閉じて「公開」を選択します。

↓

7.同様の手順で、残り2つの子エージェント(自治体オープンデータ活用エージェントと、確定申告問合せエージェント)も追加していきます。

これで、3つの子エージェントの作成ができましたぞ!
(2)親エージェントの作成と子エージェントを追加
次に、親エージェントである「総合受付エージェント」を作成し、先ほど作成した3つの子エージェントを追加します。

1.Copilot Studioで、先ほどと同じソリューション内で、親エージェントである総合受付エージェントを作成していきます。
エージェントの作成方法は先ほどと同じで、親エージェントにナレッジは追加しません。

2.エージェントができたら、「エージェント」タブを開き、先ほど作成した3つの子エージェントを追加します。
「エージェントの追加」>「既存のエージェントに接続する」>「Copilot Studio」を選択します。

そして、先ほど作成した3つのエージェントを1つずつ追加していきましょう。

↓

3つの子エージェントが追加できたらOKです。

これで、親エージェントと子エージェントの接続ができましたぞ!
(3)親エージェントの指示を編集
次に、親エージェントの指示で、質問に応じて、3つの子エージェントのどれを呼び出すかの参照条件を記載します。

1.親エージェントの「概要」タブで「指示」の「編集」を選択します。

2.例えば以下のように、どのような質問の場合は、どのエージェントを呼び出すかを記載します。

3.例えば以下のような感じで指示を記載し、保存します。

これでマルチエージェントの実装は完了です。
最後にテストをしてみましょう!
(4)エージェントのテスト
最後に、親エージェントを公開して、テストしてみましょう。
1.エージェントの公開後、一旦リフレッシュをします。

2.テストでは、「活動」タブで、どの子エージェントが呼び出されたかが確認できます。
最初にマイナポータルに関する質問をしてみます。

テスト中、以下のような表示が出たら「許可」します。

マイナポータルに関する質問をすると、「マイナポータル操作説明エージェント」が呼び出され、適切な回答がされました。

次に、自治体オープンデータの活用についての質問をしてみます。

これも適切に「自治体オープンデータ活用エージェント」が呼び出されました。

最後に、確定申告についての質問もしてみましょう。

ちゃんと、「確定申告問合せエージェント」が呼び出されました。

このような感じで、Copilot Studioでマルチエージェントが実装できました。
さいごに
この記事では、Copilot Studioで「マルチエージェント」とは何かと、具体的な実装方法について解説しました。
Copilot Studioの「マルチエージェント」では、親エージェントへの質問に応じて、異なる子エージェントを呼び出すことができます。
マルチエージェントにすることで、再利用性や保守性が向上し、活用の幅も広がるので、ぜひ試してみてください。
また今後、今回のマルチエージェントの実装方法とは別の方法で、エージェントフローを使って、明示的に別のエージェントを呼び出す方法についても紹介していきます。











