【Copilot Studio入門】質問の種類によって呼び出す子エージェントを変える方法! ~トピックから他のエージェントを呼び出す~
前回、指示文を使ってマルチエージェントを実装する方法について学びましたが、ミムチの作成しているエージェントではトピックを作りこんでいるので、指示文での制御が難しいですな…
その場合は、トピック内でエージェントを呼び出す方法をとるといいですよ!
この記事では、Copilot Studioでマルチエージェントを実装する際に、トピック内で他のエージェントを呼び出す方法について解説します。
- マルチエージェントを実現する2つの方法
- トピック内で別のエージェントを呼び出す方法
- 呼び出された子エージェントの履歴を確認する方法
マルチエージェントを実装する2つの方法
Copilot Studioのマルチエージェントとは、エージェントから別のエージェントを呼び出し、エージェント間で連携して処理をさせる仕組みです。
マルチエージェントの仕組みやメリットは、以前の記事をご参考ください。
このマルチエージェントを構築するためには、以下の2つの実装方法があります。
- 親エージェントの「指示」で、子エージェントを呼び出す
- 親エージェントの「トピック」内で、子エージェントを呼び出す
①の方法については、以下のように指示文で呼び出すエージェントを制御する方法になります。

具体的な実装方法は、以前の記事をご参考ください。
ここでは、②のトピック内で別のエージェントを呼び出す方法について紹介します。
トピックから別のエージェントを呼び出す!
今回も、以前の記事のように、以下の図のようなエージェントを作成してみます。

(1)子エージェントと親エージェントの作成
子エージェントと、親エージェントの作成については、前回の記事と同様の手順になります。
以下の記事の、「03:マルチエージェントを実装してみる!」の(1)、(2)の手順をご参考ください。
子エージェントを公開し、親エージェントの「エージェント」タブで、「エージェントの追加」から、公開した子エージェントを追加します。

(2)親エージェントのトピックを作成
親エージェントでトピックを作成し、子エージェントを呼び出す実装をします。
1.親エージェントの「トピック」タブから、「システム」の「会話の開始」トピックを開きます。

2.トリガーの下にある「メッセージ」ノードは、「…(三点リーダー)」から「削除」します。

3.「+(ノードの追加)」から「質問する」ノードを追加します。

4.「ユーザーのオプション」で、ユーザーに選んでもらう「選択肢」を必要な分追加します。
「Var1」を選択して、変数名を変えることができます。

5.「Var1」をクリックし、「変数名」を自由に変えます。

6.ユーザーのオプションを設定すると、「質問」ノードの下に、自動的に条件分岐が追加されます。

7.前の手順で追加した「質問」ノードの下(条件分岐の前)に、「ノードの追加」から「質問する」ノードを追加します。

8.メッセージに「質問を入力してください!」と入力し、「特定」は「ユーザーの応答全体」を選択し、変数名も任意の名前に変更します。

9.それぞれの「条件」分岐ノードの下で、「ノードの追加」から「エージェントを追加する」を選択し、それぞれの分岐で呼び出すエージェントを設定します。

10.条件分岐以降は、以下のように設定できていればOKです!
トピックを「保存」しておきましょう。

トピック内で、直接エージェントを指定して呼び出せるのは便利ですな…!
(3)エージェントのテスト
親エージェントのトピックの編集が終わったら、適切に子エージェントが呼び出されるかテストします。
1.右上の「テスト」ペインを開き、「+(新しいテストセッションを開始する)」をクリックして、テストをします。
最初の質問で、質問のカテゴリを何か選択してみましょう。

2.質問を入力するようにメッセージが出るので、質問内容を入力し、送信します。

3.質問内容への回答が返ってきました。

4.適切に子エージェントが呼び出されたかは、子エージェント側の「活動」タブで確認できます。
親エージェントを実行した日時の履歴を選択します。

5.以下のように、親エージェントの方で入力した質問を、子エージェントが受け取って、回答してくれていることが分かります。

これで、「トピック」を利用したマルチエージェントを実装ができました!
さいごに
この記事では、「トピック」から別のエージェントを呼び出すことで、マルチエージェントを実装する方法について解説しました。
マルチエージェントを実装する方法としては、主に以下の2つがあります。
- 親エージェントの「指示」で、子エージェントを呼び出す
- 親エージェントの「トピック」内で、子エージェントを呼び出す
それぞれのケースに応じて、使い分けて実装してみてください。
トピックからエージェントを呼び出すのは確実ですが、分岐が増えると、トピックの実装が複雑になりそうですね。








