皆さん、こんにちは
マイクロソフトの佐々木です。
本日はCopilot Studioでマルチエージェントを作成する方法についてご紹介します。
はじめに
Copilot Studioではマルチエージェント機能がサポートされております。
親のエージェントから既存のエージェントを接続もしくは新しく作成することで、機能や役割ごとに適切なエージェントへルーティングすることが可能となります。
Learnでは、それぞれ下記のように解説されています。
メイン エージェント内で子エージェントを作成するか、エージェントを別のエージェントに接続するかを決定する際に重要です。
子エージェント:メイン エージェント内に存在する軽量エージェント
既存エージェント:メイン エージェントとは独立した本格的なエージェント
新規で親エージェントに紐づけて作成する軽量の子エージェントの場合は、エージェントを作成する、
既存のカスタムエージェントを呼び出す場合は、既存のエージェントに接続するをそれぞれ選択します。
今回は、子エージェントの作成をメインにお伝えしつつ、既存エージェントの接続についてもご説明したいと思います。
今回作成するエージェントシナリオ
親のエージェントに開発アイディアを入力すると各担当の子エージェント(設計エージェント、調達エージェント、法規エージェント、製造エージェント)にルーティングさせます。
手順
今回は一から子エージェントを作成しますが、大まかな流れは下記のとおりです
- オーケストレーションする親エージェントを作成する
- 子エージェント(軽量エージェント)を作成する
- テストする
オーケストレーションする親エージェントを作成する
それでは最初にオーケストレーションする親エージェントを作成します。
細かな手順は割愛しますが、生成オーケストレーションモードのカスタムエージェントを作成する手順そのままです。
指示はこの段階では不要ですが、子エージェントへルーティングするための指示を記述しておきます
(日本語でも動作しますが、言語が英語のエージェントかつ指示も英語の方が安定します)
軽量の子エージェントを追加する
子エージェントの作成についても、通常の生成オーケストレーションモードのエージェントの作成手順と同様です。
指示とナレッジと必要に応じてツールを追加します。
テストする
それでは親のエージェントに設定された指示どおり、子エージェントが呼び出しされるか確認します。
親のエージェントからテストします。
まずは、設計エージェントが呼び出しされるような質問をしてみます。
続いて、調達エージェントが呼び出しされそうな質問をしてみます。
続いて、法規エージェントが呼び出しされそうな質問をしてみます。
最後に、製造エージェントが呼び出しされそうな質問をしてみます。
このように適切に子エージェントにルーティングされていることが分かるかと思います。
おまけに親エージェントの指示に書かれているようにReasonigさせるアクションを取らせます。
こちらも指示通りうまく動いています。
【参考】既存カスタムエージェントを接続する方法
これまで軽量の子エージェントを作成して接続する方法について説明しましたが、既存のカスタムエージェントを接続する方法を簡単に説明します。
ただ、内容はこれまでの手順とほぼ同様です。
呼び出し元エージェントの設定
呼び出し元エージェント(厳密にはこの場合は親子という関係性ではないと思うので、ここでは呼び出し元とします)から既存のカスタムエージェントを追加します。
指示は極めてシンプルですが、呼び出しタイミングを説明します。
既存エージェント(接続先、呼び出し先エージェント)の設定
テストする
簡単なマルチエージェントの構成だったので、後続の処理や別の既存のカスタムエージェントがないので、中途半端な感じになってしまってますが、呼び出しできていることがわかります。
おわり
以上でCopiot Studio マルチエージェントの機能のご紹介でした。
適切なエージェントにルーティングできる強力な機能になりますので、包括的なビジネスプロセスの効率化にぜひご利用ください!