Copilot Studio を使用すると、エージェントを他のエージェントに接続してエージェントを強化し、ユーザーの操作を引き渡したり、自律的なトリガーに応答したりできます。 特定のタスクまたはデータ セットに合わせて調整されたモジュールエージェントを使用して、ソリューションを効率的かつ効果的にスケールアウトします。
追加したすべてのエージェントが [ エージェント] ページに表示されます。
子エージェントの作成または既存のエージェントへの接続
次の考慮事項は、メイン エージェント内で子エージェントを作成するか、エージェントを別のエージェントに接続するかを決定する際に重要です。
子エージェントは、メイン エージェント内に存在する軽量エージェントです。 エージェント内のツールとトピックに似ています。
接続されたエージェントは、メイン エージェントとは独立した本格的なエージェントです。 Copilot Studio では現在、同じ環境に存在する他の Copilot Studio エージェントと Microsoft Fabric データ エージェントの接続がサポートされています。
次の場合に、エージェント内に子エージェントを作成します。
- 1 人の開発者または小規模なまとまりのあるチームが、エージェント ソリューション全体を管理します。
- ツール、命令、知識を論理的にグループ化して、より大きなエージェント内の明確に定義されたサブエージェントにしたいと考えています。
- サブエージェントの個別の構成設定、認証、または展開機能は必要ありません。
- これらのエージェントを個別に発行したり、個別に使用できるようにしたりすることはありません。
- 複数のエージェント間でエージェントを再利用する必要はありません。
次の場合に既存のエージェントを接続します。
- 複数のチームまたは開発者が、異なるエージェントを個別に管理します。
- エージェントを個別に発行および管理し、独立したチャネルで直接使用できるようにする必要があります。
- エージェントには、認証を含む独自の専用設定が必要です。
- エージェントごとに独立したアプリケーション ライフサイクル管理 (ALM) プロセスが必要です。
- エージェントを再利用できるようにする必要があります。
接続されたエージェントと子エージェントをソリューションに混在させることができます。 たとえば、ソリューションの一部を、ユーザーが直接アクセスできる個別のエージェントに分割できます。 これらの各エージェントは、キーの目的で独自の子エージェントを持つことができます。
子エージェントを作成する
メイン エージェントの [エージェント] ページに移動し、[ エージェントの追加] を選択します。
[ エージェントの作成] を選択します。
新しいエージェントの名前を入力します。
エージェントを使用するタイミングを決定します。 既定では、エージェントは説明に基づいてユーザーまたはトリガーに応答します。
- 既定の動作 (エージェントが選択) を使用する場合は、エージェントの目的の簡単な説明を入力します。
- それ以外の場合は、使用されるタイミング の一覧を展開し、目的の動作を選択します。 サポートされている動作の詳細については、「 エージェントを使用するタイミングを決定する」を参照してください。
エージェントが呼び出されたときに従う明確な手順を入力します。 手順でツール、変数、または Power Fx 数式を参照するには、スラッシュ (/) を入力し、表示されるメニューから目的のオプションを選択します。
Von Bedeutung
手順で既存のツールを参照する場合は、メイン エージェントから直接ツールにアクセスするか、命令内で明示的に呼び出す場合にのみツールにアクセスするかを決定します。 ツールの使用を明示的な命令参照に制限すると、同様のツールまたはエージェントが存在する場合に混乱を防ぐことができます。 たとえば、"アカウント残高の確認" エージェントと同様の "アカウント残高の取得" ツールがある場合は、重複を回避するために、エージェントによってのみ呼び出されるようにツールを制限します。 ツールを別のエージェントから参照する場合にのみ使用できるようにするには、ツールの詳細ページの [追加の詳細] セクションで、このツールプロパティを使用するタイミングをエージェントが動的に決定できるようにするをオフにします。
必要に応じて、この子エージェントのみが使用できるナレッジとツールを追加します。
このエージェントをアクティブにしない場合は、[ 有効] をオフにします。 後で 子エージェントをアクティブにすることができます 。
保存 を選択します。
エージェントを使用するタイミングを決定する
既定では、エージェントは説明に基づいてユーザー クエリに応答します。 他のイベントをインターセプトして応答するようにエージェントを構成することもできます。
出来事 | 説明 |
---|---|
メッセージが受信される |
message タイプのアクティビティ (最も一般的なアクティビティの種類) が受信されたときに呼び出されます。 ユーザーがエージェントに何かを入力または発言したときに受信されます。 既定では、エージェントはメッセージに応答します。 エージェントの応答を特定の種類のメッセージに制限するには、[追加の詳細] の [ アクティビティの種類 ] リストを使用 します。 |
カスタム クライアント イベントが発生する |
event 型のアクティビティを受信したときに呼び出されます。 既定では、エージェントはイベントに応答します。 エージェントの応答を特定のイベントに制限するには、[追加の詳細] の [イベント名] プロパティを使用します。 |
アクティビティが発生する | 任意の種類のアクティビティを受信したときに呼び出されます。 エージェントの応答を特定の種類のアクティビティに制限するには、[追加の詳細] の [ アクティビティの種類 ] リストを使用 します。 |
会話の変更 |
conversationUpdate 型のアクティビティを受信したときに呼び出されます。 たとえば、Teams は、ユーザーが会話に参加すると、このタイプの活動を送信します。 |
呼び出された時 |
invoke 型のアクティビティを受信したときに呼び出されます。 最も一般的に Teams チャネルから受信されます。たとえば、ユーザーが Teams でメッセージや検索拡張機能を操作する場合などです。 |
リダイレクトされる先 | エージェントがトピック内から明示的に呼び出されたときに呼び出されます。 まだサポートされていません。 |
ユーザーはしばらくの間非アクティブです | 構成された期間が経過した後にユーザーがメイン エージェントと対話しなかった場合に呼び出されます。 [その他の詳細] の [非アクティブ期間] リストから、目的の非アクティブしきい値を選択します。 |
計画の完了時 | メイン エージェントが、ユーザー クエリまたは自律トリガーに応答するために計画されたすべてのステップの実行が完了したときに呼び出されます。 |
AI によって生成された応答が送信されようとしています | 1 つ以上のトピック、アクション、またはナレッジ ソースを呼び出した後に、メイン エージェントがユーザーの応答を生成するときに呼び出されます。
Response.FormattedText システム変数を使用して、生成された応答を確認します。 オーケストレーション応答が送信されないようにする場合は、 ContinueResponse 変数を false に設定します (つまり、メッセージを変更し、メッセージ ノードを使用して独自に送信する場合)。 |
追加の詳細
[ 使用するタイミング] の選択に応じて、さらに多くのプロパティを使用できる場合があります。 次のプロパティは常に使用できます。
状態
エージェントを呼び出すために満たす必要がある条件を指定します。 たとえば、従業員が使用するチャネルがMicrosoft Teamsされている場合にのみエージェントを呼び出したい場合があります。
より複雑な条件が必要な場合は、Power Fx の数式エディタに切り替え (ビルダーから式を選択) できます。
優先順位
メッセージなど、1 つの受信アクティビティに対して複数のエージェントを起動できます。 既定では、[いつ使用しますか ? ] に選択したオプションによって、エージェントの起動順序が決まります。
子エージェントとトピックは、応答できるトリガーまたはイベントの同じセットを共有します。 エージェントとトピックが同じイベント (ユーザーの非アクティブなど) に応答するように構成されている場合は、priority プロパティを使用して、どちらを先に実行するかを決定できます。
実行順序:
- 受信した活動
- メッセージ / イベント / 会話の更新 / 呼び出しの受信
- エージェント別
同じ種類のイベント発生に基づいて複数のエージェントまたはトピックを呼び出す必要がある場合は、作成の順序で呼び出されます (最初に最も古い)。
Priority プロパティは明示的に設定できます。 数値を小さくすると、優先度が高いことを示します。
既存のエージェントを接続する
既存のエージェントをあなたのエージェントに接続するには:
[ エージェント ] ページで、[ エージェントの追加] を選択します。
接続するエージェントの種類を選択します。
- Copilot Studio、Copilot Studio エージェント用。
- Microsoft Fabric(Microsoft Fabric データ エージェント用)。
エージェントの追加を選択します。
追加すると、エージェントが エージェント の一覧に表示され、エージェントを呼び出す必要があるテスト チャット内の何かを確認することで、すぐにテストできます。
注
接続されたエージェントに変更を加える場合は、必ずそれらの変更を発行してください。メイン エージェントは、発行後にのみ最新バージョンを使用できます。 また、エージェントが接続されたら、その 説明 をローカルで制御することに注意してください。 元のエージェントの説明に対する更新は、メイン エージェントと自動的に同期されません。 これらの変更を反映する場合、または他の変更を行う場合は、説明を手動で更新する必要があります。
Copilot Studio エージェントを接続する
メイン エージェントを別のエージェントに接続するには、他のエージェントが次の必要があります。
- メイン エージェントと同じ環境
- 公開済み
- 他のエージェントからの接続を許可するように構成されている
既存のエージェントをあなたのエージェントに接続するには:
使用可能なエージェントの一覧から目的のエージェントを選択します。 エージェントの名前、手順、および説明が表示されます。
説明を (必要に応じて) 調整して、メイン エージェントのコンテキストを増やします (つまり、説明が重複する可能性がある他のツールやエージェントがある場合は、説明をより具体的にします)。 このエージェントを呼び出すタイミングを Copilot Studio が理解できるように、説明を更新することをお勧めします。 効果的なメタデータの記述について説明します。
会話履歴が呼び出されたときにこのエージェントに渡されないようにするには、[ このエージェントに会話履歴を渡す ] ボックスをオフにします。 このメソッドは、エージェントに渡される情報を、メイン エージェントが他のエージェントに完了させる明示的なタスクのみに制限します。
Microsoft Fabric Data エージェントを接続する
使用可能な接続の一覧から目的の接続を選択するか、Microsoft Fabric と Copilot Studio エージェントの間に新しい接続を作成します。
[次へ] を選択します。
アクセス権を持つ Fabric データ エージェントの一覧から目的のエージェントを選択します。
説明を (必要に応じて) 調整して、メイン エージェントのコンテキストを増やします (つまり、説明が重複する可能性がある他のツールやエージェントがある場合は、説明をより具体的にします)。 このエージェントを呼び出すタイミングを Copilot Studio が理解できるように、説明を更新することをお勧めします。 効果的なメタデータの記述について説明します。
他のエージェントが Copilot Studio エージェントを使用できるようにする
既定では、どのエージェントも同じ環境内の別のエージェントに接続できます。
エージェントに関しては設定 ページに移動します。
現在オンになっていない場合は、他のエージェントが接続してこのエージェントを使用できるようにするをオンにしてください。
他のエージェントがこのエージェントに接続できないようにするには、このオプションをオフにします。
メイン エージェントの指示にエージェントを参照する
作成した子エージェントや接続した他のエージェントを参照できるようにするには、特に自律エージェントに役立ちます。 このメソッドを使用すると、エージェントの長い命令セットをより小さな焦点を絞った部分に分割できます。
メイン エージェントの [概要 ] ページに移動します。
[ 命令 ] フィールドにスラッシュ (/) を入力し、目的のエージェントを選択します。 Copilot Studio によって命令が自動的に保存されます。
エージェントをテストする。 Copilot Studio でテスト パネルを使用すると、アクティビティ マップでエージェントが参照されていることがわかります。
子エージェントと接続されているエージェントを管理する
子エージェントまたは接続されているエージェントを一時的に使用できないようにしたり、ソリューションから完全に削除したりできます。
エージェントのオンとオフを切り替える
メイン エージェントの [ エージェント] ページで、オンまたはオフにするエージェントの横にある [有効] トグルを使用します。
子エージェントまたは接続されたエージェントを無効にすると、非アクティブになります。つまり、ユーザーやトリガーに応答しません。
子エージェントを削除する
メイン エージェントの [ エージェント] ページで、削除する子エージェントの横にある 3 つのドット (...) を選択し、[削除] を選択 します。
接続されているエージェントを削除する
メイン エージェントの [ エージェント] ページで、削除する接続済みエージェントの横にある 3 つのドット (...) を選択し、[ エージェントの切断] を選択します。
既知の制限事項
子エージェントと接続されているエージェントには、次の制限事項が適用されます。
[リダイレクト] ノードでは、子エージェントと接続されているエージェントへのリダイレクトはサポートされていません。
子エージェントがメイン エージェントに渡す情報については、引用が見つからない可能性があります。 回避策として、子エージェントの手順を利用することを検討してください。 たとえば、ユーザーの質問に対する回答が見つかったら、常にメッセージを常に送信するように子エージェントに指示します。"ナレッジを検索して回答を見つけたら、常にすぐにその回答を含むメッセージを送信します。"また、生成された要約内で引用文献を保持するように子エージェントに指示することもできます。"概要を作成するときは、常にすべての引用文献を保持し、要約に含めます"。
子エージェントと接続されたエージェントは、メイン エージェントの 一般的なナレッジ 設定を尊重しますが、組み込みのナレッジ ツールによって生成された回答の一部として一般的な知識を使用しないことによって、質問やメッセージを生成するときに基になる LLM ナレッジを使用する場合があります。
既に他のエージェントに接続されている既存のエージェントに接続することはできません。