ミムチ

前回、指示文を使ってマルチエージェントを実装する方法について学びましたが、ミムチの作成しているエージェントではトピックを作りこんでいるので、指示文での制御が難しいですな…

パワ実

その場合は、トピック内でエージェントを呼び出す方法をとるといいですよ!

この記事では、Copilot Studioでマルチエージェントを実装する際に、トピック内で他のエージェントを呼び出す方法について解説します。

この記事でわかること
  1. マルチエージェントを実現する2つの方法
  2. トピック内で別のエージェントを呼び出す方法
  3. 呼び出された子エージェントの履歴を確認する方法

マルチエージェントを実装する2つの方法

Copilot Studioのマルチエージェントとは、エージェントから別のエージェントを呼び出し、エージェント間で連携して処理をさせる仕組みです。

マルチエージェントの仕組みやメリットは、以前の記事をご参考ください。

【Copilot Studio入門】マルチエージェントとは?複数エージェントを連携させる方法を解説! この記事では、Copilot Studioで、複数のエージェントを連携させるマルチエージェントの機能と実装方法について解説します。...

このマルチエージェントを構築するためには、以下の2つの実装方法があります。

マルチエージェントの実装方法
  1. 親エージェントの「指示」で、子エージェントを呼び出す
  2. 親エージェントの「トピック」内で、子エージェントを呼び出す

①の方法については、以下のように指示文で呼び出すエージェントを制御する方法になります。

具体的な実装方法は、以前の記事をご参考ください。

ここでは、②のトピック内で別のエージェントを呼び出す方法について紹介します。

トピックから別のエージェントを呼び出す!

今回も、以前の記事のように、以下の図のようなエージェントを作成してみます。

(1)子エージェントと親エージェントの作成

子エージェントと、親エージェントの作成については、前回の記事と同様の手順になります。

以下の記事の、「03:マルチエージェントを実装してみる!」の(1)、(2)の手順をご参考ください。

【Copilot Studio入門】マルチエージェントとは?複数エージェントを連携させる方法を解説! この記事では、Copilot Studioで、複数のエージェントを連携させるマルチエージェントの機能と実装方法について解説します。...

子エージェントを公開し、親エージェントの「エージェント」タブで、「エージェントの追加」から、公開した子エージェントを追加します。

(2)親エージェントのトピックを作成

親エージェントでトピックを作成し、子エージェントを呼び出す実装をします。

1.親エージェントの「トピック」タブから、「システム」の「会話の開始」トピックを開きます。

エージェントを起動したとき、最初に「会話の開始(Conversation Start)」トピックが呼び出されます。

そのため、トピックを編集したい場合は、「会話の開始」トピックから編集していきましょう。

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

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

4.「ユーザーのオプション」で、ユーザーに選んでもらう「選択肢」を必要な分追加します。

ユーザーが選択したものは、変数「Var1」に格納されます(ユーザーが「マイナポータルの操作」を選択すると、変数「Var1」に「マイナポータルの操作」という値が格納される)。

「Var1」を選択して、変数名を変えることができます。

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

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

「質問」ノードで、ユーザーの選んだ選択肢に応じて、後続の処理が分岐されます。

例えば、「マイナポータルの操作」を選んだら、一番左の「条件」ノードに進むため、この「条件」ノードの下に、マイナポータルの操作を選んだあとの処理を追加していきます。

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

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

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

10.条件分岐以降は、以下のように設定できていればOKです!

トピックを「保存」しておきましょう。

ミムチ

トピック内で、直接エージェントを指定して呼び出せるのは便利ですな…!

(3)エージェントのテスト

親エージェントのトピックの編集が終わったら、適切に子エージェントが呼び出されるかテストします。

1.右上の「テスト」ペインを開き、「+(新しいテストセッションを開始する)」をクリックして、テストをします。

最初の質問で、質問のカテゴリを何か選択してみましょう。

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

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

4.適切に子エージェントが呼び出されたかは、子エージェント側の「活動」タブで確認できます。

親エージェントを実行した日時の履歴を選択します。

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

これで、「トピック」を利用したマルチエージェントを実装ができました!

さいごに

この記事では、「トピック」から別のエージェントを呼び出すことで、マルチエージェントを実装する方法について解説しました。

マルチエージェントを実装する方法としては、主に以下の2つがあります。

マルチエージェントの実装方法
  1. 親エージェントの「指示」で、子エージェントを呼び出す
  2. 親エージェントの「トピック」内で、子エージェントを呼び出す

それぞれのケースに応じて、使い分けて実装してみてください。

パワ実

トピックからエージェントを呼び出すのは確実ですが、分岐が増えると、トピックの実装が複雑になりそうですね。

ABOUT ME
パワ実(Microsoft MVP)
2021年からPower Platformの勉強中。 2023年にIT系・コンサルタントに転職し、仕事でPower Platformを活用したコンサルを行っています。 2025年~Microsoft MVP for Business Applications 受賞。Power Platformを使っていく中で、知りえた情報をブログ、Youtube、Xで発信しています。 2025年8月~現在は、フリーランスとして、Power Platform系ITコンサルタントとして活動中。 Power Platformに関するご相談は以下のページからお願いします! https://www.powerplatformknowledge.com/contact/