Agent2Agent(A2A)エージェントを接続エージェントとして追加する(GitHub Copilot)

接続エージェントを使って、プライマリ エージェントが特定のタスクを専門エージェントに委任できるようにします。 この記事では、 Agent2Agent(A2A)プロトコル上で利用可能なリモートエージェントを接続する方法を紹介しており、プライマリエージェントがタスクをそのエージェントに引き継げるようにします。

Note

このエージェントを構築するために使われるフレームワークは使用量ベースの請求を採用しています。 エージェントの使用、構築、テスト、評価にはCopilotクレジットが消費されることがあります。 使用 量ベースの請求の概要についてはこちらをご覧ください。

A2Aプロトコルは、エージェント間の通信と協働のためのオープンスタンダードです。 オープンスタンダードなので、Copilot Studioの外でホストされ、他のフレームワーク上で構築されたエージェントでも、A2Aを実装していれば接続可能です。 Copilot Studioはエージェントカードからリモートエージェントを発見し、実行時にA2Aプロトコルを使ってタスクを委譲します。

各接続済みエージェントは、同じ「接続されたエージェントを追加」ダイアログから追加します。 接続エージェントの概要とルーティングの仕組みについては 、「接続エージェント概要」をご覧ください。 他のCopilot Studioエージェントを接続するには、「接続されたエージェントとしてCopilot Studioエージェントを追加」をご覧ください。 Microsoft Foundryエージェントを接続するには、「Foundryエージェントを接続エージェントとして追加」をご覧ください。

Prerequisites

  • GitHub Copilotハーネスで作成されたエージェントで、メインエージェントとして設定されました。 エージェントを作成する (プレビュー) を参照してください。
  • Agent-to-Agentプロトコルを実装し、Copilot Studioからパブリックインターネット経由でアクセス可能なリモートエージェントです。
  • リモートエージェントのエージェントカードのURLは、通常https://<your-agent-host>/.well-known/agent-card.jsonです。
  • リモート エージェントが必要とする認証の詳細(必要であれば)。 Copilot Studioは認証不要、APIキー、OAuth 2.0をサポートしています。
  • OAuth 2.0の場合、リモートエージェントのID プロバイダーが使用するアプリ登録にリダイレクト URI を追加する権限。 Copilot Studioはウィザード中にリダイレクトURLを生成します。接続を作成する前に、それを登録する必要があります。

Note

A2A 接続ではカスタム コネクタ インフラストラクチャが使用されるため、それらを使用して、オンプレミスまたは仮想ネットワーク内で実行されている A2A エージェントに接続することもできます。

Agent2Agent(A2A)エージェントを追加

ウィザードは、選択した認証方法に応じて3段階または4段階の手順を案内します。

  • 「なし」またはAPI キーを選択したら、A2A エージェントに接続、A2A エージェントに接続、次に確認して追加を選択します。
  • OAuth 2.0を選択した場合:A2Aエージェントに接続し、リダイレクトURLを追加し、A2Aエージェントに接続してからレビューして追加します。
  1. Copilot Studio にサインインします。

  2. プライマリ エージェントとして使用したいエージェントを選択して開いてください。

  3. エージェントナビゲーションバーで「 ビルド 」タブを選択します。

  4. コンポーネント パネルで接続されたエージェントを選択し、接続済みエージェントを追加ダイアログを開きます。

  5. ダイアログで 「追加」を選択し、次に 「A2Aエージェントを追加」を選択します。

  6. 「A2Aエージェントに接続」ステップで、リモートエージェントの詳細を入力します:

    • エージェントカードURL:例えば https://agent.example.com/.well-known/agent-card.jsonのリモートエージェントのエージェントカードのURLです。 Copilot Studioはカードを読み取り、エージェントのエンドポイントと能力を特定します。
    • 名前: エージェントの作成者に表示される名前。 エージェントカードに名前が記載されている場合、Copilot Studioがこの欄を埋めてくれます。
    • 説明:このA2Aエージェントを使用するべき場合を明確に示すもので、30文字から1,000文字の範囲です。 エージェントカードに説明が含まれていれば、Copilot Studioがその欄を埋めてくれます。 オーケストレーターはこの記述を使ってリクエストをエージェントにルーティングするタイミングを決めるため、具体的に設定し、他のツールやエージェントとの重複を避けてください。 効果的なメタデータの書き方についてもっと学びましょう。

    Note

    名前や説明が自動的に入力されない場合、リモートのエージェントがエージェントカードを持っていなかったり、カードが入力したURLと異なる場合、あるいはCopilot Studioがそのカードにアクセスできない可能性があります。 まずURLを確認し、ブラウザでエージェントカードを開いてみてください。 カードが利用できない場合は、名前と説明を手動で入力してください。

  7. 認証 で、Copilot Studio がリモート エージェントに対してどのように認証するかを選択し、選択した方法の詳細を入力してください。

    • なし:リモートエージェントは認証を必要としません。
    • APIキー:リモートエージェントはAPIキーを必要とします。 API キー認証の設定を参照してください。
    • OAuth 2.0:リモートエージェントはOAuth 2.0を使用します。 詳細は OAuth 2.0認証の設定 を参照してください。

    認証情報が完全になるまでは続けられません。

  8. 次へ を選択します。

  9. OAuth 2.0を選択した場合、「リダイレクト URL を追加」ステップが表示されます。 Copilot StudioはA2Aエージェントのコネクタを作成し、プラットフォームはそのためのリダイレクトURLを生成します。 接続を作成する前に、そのURLをアイデンティティプロバイダーに登録してください:

    1. リダイレクトURL欄に値が入力されるまで待ちます。 URLが生成される前にコネクタが存在しなければなりません。
    2. フィールドの横にあるコピーボタンを選択してURLをコピーしてください。
    3. OAuthアプリの登録でURLをリダイレクトURIとして追加し、アプリの登録を保存してください。
    4. 次へ を選択します。

    Important

    リダイレクトURLを最初に登録しなければ、最初の認証試みは失敗します。 リダイレクトURLはコネクタごとに生成されるため、このA2Aエージェント専用であり、他のコネクタから再利用することはできません。 後でURLが必要な場合は、コンポーネントパネルの 「Connected agents 」からA2Aエージェントを選択して再度開いてください。

  10. 「 A2Aエージェントに接続 」ステップで、このエージェントがリモートエージェントに到達するために使用する接続を選択します:

    • 利用可能な接続リストから既存の接続を選択します。
    • 接続が利用できない場合は、新しい接続を作成してください。 リモートエージェントがAPIキー認証を使用している場合、接続を作成する際にAPIキーの値を入力します。
  11. 次へ を選択します。

  12. 「レビューして追加」ステップで、名前、説明、エージェントカードのURLを確認し、「エージェントに追加」を選択します。

  13. コンポーネントパネルの 「接続されたエージェント」 に接続エージェントが表示されるか確認してください。

A2A エージェントに接続 ステップの認証設定に戻って変更すると、Copilot Studio は以前の設定に基づいて作成されたコネクタを破棄します。 新しいリダイレクトURLを登録し、再度接続を選択する必要があります。

Note

あなたは、特定のユースケースに合わせた接続エージェントを慎重にレビュー・テストし、適切な判断やカスタマイズを行う責任があります。 Copilot Studio の外部にあるエージェントに接続する場合、そのエージェントの利用についてはユーザーが責任を負います。 考慮すべき点には以下の事項が含まれます:

  • データフロー、データ処理、エージェント間のデータ共有は、あなたのユースケースに適しており、関連する要件や法律を満たしています。
  • エージェントは適切な品質、信頼性、セキュリティ、信頼性の基準を満たしています。
  • 適切な権限、境界設定、承認は、あなたのユースケースに合った慎重であれば提供されています。
  • 適切な観察可能性、アイデンティティとトレーサビリティ、そして人間の監督機能が整っています。

API キー認証を構成する

APIキーを選択したら、パラメーターの種類を選択して、Copilot Studioがキーの送信先を指定してください。

  • ヘッダー:キーはリクエストヘッダーとして送信されます。 ヘッダー名には、リモートエージェントが期待するヘッダー名(例:x-api-key)を入力します。
  • クエリ文字列:キーはクエリ文字列パラメータとして送信されます。 Parameterラベルに、リモートエージェントが期待するクエリ文字列パラメータの名前を入力します。

APIキー値は接続を作成する際に入力するもので、このステップでは入力しません。 そうすればキーは接続と一緒に保存され、エージェントの設定では見えなくなります。

OAuth 2.0 認証を構成する

OAuth 2.0を選択したら、構成タイプを選択してください:

  • ダイナミック: Copilot Studioはリモートエージェントのアイデンティティプロバイダーに代わりにクライアントを登録します。 認証URLとトークンURLを入力します。

  • 手動: リモートエージェントの ID プロバイダーで既に作成したアプリ登録を使用します。 次の値を入力します。

    • クライアントID:アプリ登録のクライアントID。
    • クライアントシークレット:アプリ登録のクライアントシークレットです。
    • 認可URL: アイデンティティプロバイダーの認可エンドポイント。
    • トークンURL:アイデンティティプロバイダーのトークンエンドポイント。
    • Refresh token URL:アクセストークンを更新するためのエンドポイントです。
    • スコープ (任意): リクエストするスコープ。スペースで区切って指定します。

リモートエージェントのアイデンティティプロバイダーが動的クライアント登録をサポートしている場合は、Dynamic(動的)を使用してください。 例えば、アイデンティティプロバイダーが事前登録リダイレクトURIや同意を求める場合など、アプリの登録を制御したい場合に マニュアル を使いましょう。

どちらの設定タイプでも、IDプロバイダーにリダイレクトURLを登録する必要があります。 「次」を選択すると、Copilot Studioがコネクタを作成し、「リダイレクトURLを追加」ステップで生成されたリダイレクトURLを表示します。

後でリダイレクトURLを確認してください

ウィザードを閉じたりリダイレクトURLを失った場合でも、リダイレクトURLをいつでも再度確認できます:

  1. ビルドタブで、コンポーネントパネルの「Connected agents」からA2Aエージェントを選択します。

  2. 「A2Aエージェント編集」ダイアログで、リダイレクトURL フィールドにある値をコピーします。

リダイレクトURLフィールドはOAuth 2.0を使用するA2Aエージェントにのみ表示されます。

オーケストレーターがA2Aエージェントにルーティングする方法

A2Aエージェントを追加した後、オーケストレーションランタイムが自動的にそのエージェントに委譲するタイミングを決定します。 ルーティングの判断基準は以下の通りです:

  • 接続済みエージェントの名前と説明
  • ユーザーのメッセージと会話のコンテキスト
  • プライマリ エージェントの指示

Tip

A2Aエージェントについて明確で具体的な説明を作成し、オーケストレーターがリクエストをいつルーティングすべきか正確に判断できるようにします。 接続されたエージェントの説明が重複しないようにしてください。

テストの委譲

A2Aエージェントを追加した後:

  1. エージェント ナビゲーション バーで、プレビュー タブを選択します。

  2. A2Aエージェントのドメインに合致するメッセージを送信します。

  3. 回答がA2Aエージェントから出ており、適切かどうかを確認してください。

  4. A2Aエージェントのドメイン外にメッセージを送り、プライマリエージェントが処理できるか確認してください。

後で名前や説明を変更する必要がある場合は、コンポーネントパネルから接続エージェントを編集してください。 エージェント内の接続エージェントの管理をご覧ください。

接続のトラブルシューティング

問題 確認すべきこと
接続を承認しようとすると、リダイレクトURIエラーで失敗します Copilot Studioが生成したリダイレクトURLは、あなたのアイデンティティプロバイダーに登録されていません。 Edit A2AエージェントのダイアログからURLをコピーし、アプリ登録に追加してから再度接続を承認してください。
ウィザードでは リダイレクトURL フィールドが空のままです コネクターはまだ作成中です。 代わりにエラーが表示された場合は「再試行」を選択してください。
エージェントカードから名前と説明が入力されません エージェントカードのURLが正しいか、Copilot Studioがカードにアクセスできるか確認してください。 カードが利用できない場合は、名前と説明を手動で入力してください。
作成した接続は、ウィザードを編集した後に機能しなくなりました 認証設定を変更すると、以前の設定から構築したコネクタが破棄されます。 新しいリダイレクトURLを登録し、再度接続を選択してください。