次の方法で共有

Copilot Studio: 子エージェント呼び出しが条件と異なる挙動をする/複数エージェントが実行される

糸数颯太 0 評価のポイント
2025-09-19T01:00:38.5833333+00:00

本文

Copilot Studio でマルチエージェント構成を組んでいますが、親エージェントから子エージェント A/B を条件分岐で呼び出す際に、意図しない挙動が発生しています。

構成

  • 親エージェント(オーケストレーター)
    • /トピック でユーザー入力から A/B を判定し、結果を Global.グローバル変数 に格納
    • 変数が "A" の場合 /Aエージェント、"B" の場合 /Bエージェント を呼び出す設計
  • 子エージェント
    • 子A:Condition = Global.グローバル変数 = "A"
    • 子B:Condition = Global.グローバル変数 = "B"
    • 「When will this be used?」は両方とも The agent chooses – based on description に設定

期待する動作

  • "A" の場合は子A のみ、"B" の場合は子B のみが実行される
  • 親エージェントの明示的な呼び出しが優先される

発生している事象

  • Global.グローバル変数 に "A" が格納されているにもかかわらず子Bが呼ばれる
  • "A" が入っている状況で、子A の後に子B まで連続して実行される

確認したいこと

  1. 親エージェントから子エージェントを 明示的にのみ 呼び出す確実な方法はあるか。(トピックやAgent Flowから呼び出す等)
  2. 子エージェントの Condition は「呼び出し可否の前段」で評価されるのか、それとも「呼び出し後の処理開始条件」なのか
  3. 生成オーケストレーション有効時に、説明に基づいて複数エージェントが連鎖実行されるのは仕様か
    • その場合、安定して一方のみ呼び出すベストプラクティスがあるか
Microsoft Copilot | Windows Copilot | Copilot+ PC

お客様の回答

質問作成者は回答に "承認済み"、モデレーターは "おすすめ" とマークできます。これにより、ユーザーは作成者の問題が回答によって解決したことを把握できます。