Agent Registry を使用すると、Agent Development Kit(ADK)で構築し、独自のインフラストラクチャでホストするカスタム エージェントを登録して、他のデベロッパーやオーケストレーター エージェントが検出できるようにすることができます。Agent2Agent(A2A)プロトコルに準拠したエージェント カードを公開し、エージェントのエンドポイントを手動で登録することで、その A2A スキルを Agent Registry で検出可能にします。
始める前に
- Agent Registry を設定する。
単一プロジェクトの設定の場合は、Agent Registry が有効になっているガバナンス プロジェクトのプロジェクト ID を取得します。複数のプロジェクトに管理境界を構成した場合は、境界全体の検出と登録に管理プロジェクトの ID を使用するか、単一プロジェクトのオペレーションにメンバー プロジェクト ID を指定します。
このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境を設定します。
必要なロール
Agent Registry にカスタム ADK エージェントを登録するために必要な権限を取得するには、Agent Registry が有効になっているガバナンス プロジェクトに対する Agent Registry API 編集者 (roles/agentregistry.editor)IAM ロールを付与するよう管理者に依頼してください。ロールの付与については、プロジェクト、フォルダ、組織へのアクセス権の管理をご覧ください。
必要な権限は、カスタムロールや他の事前定義ロールから取得することもできます。
Agent Card エンドポイント
Agent Registry がカスタム エージェントの機能をインデックスに登録できるように、エージェントは Agent2Agent(A2A)プロトコルを使用してメタデータと使用可能な A2A スキルを公開する必要があります。
A2A 仕様では、エージェントは特定のエンドポイント(通常は /.well-known/agent-card.json)でエージェント カード(エージェントの ID とツールを記述した JSON ドキュメント)を提供する必要があります。
ADK 固有の A2A サーバー プラグインまたはモジュールを使用してエージェントを登録すると、フレームワークは、コードで指定した Agent 定義と tools に基づいて、このエージェント カードを自動的に生成して提供できます。
公開されたエージェントを登録する
ADK エージェントをホスティング環境にデプロイし、REST エンドポイントを正常に提供したら、Agent Registry にエージェントを検出するよう指示します。
カスタム デプロイには手動登録が必要なため、レジストリに Service リソースを作成します。エージェントが生成したエージェント カードをローカル JSON ファイル(agent-card.json など)として保存します。
gcloud CLI を使用して、gcloud agent-registry services create コマンドでエージェントを登録します。a2a-agent-card 仕様タイプを指定し、--agent-spec-content フラグを使用してローカル ファイルをアップロードします。
gcloud agent-registry services create AGENT_NAME \
--project=PROJECT_ID \
--location=LOCATION \
--display-name="DISPLAY_NAME" \
--agent-spec-type=a2a-agent-card \
--agent-spec-content=agent-card.json
仕様ファイルの最大ファイルサイズは 10 KB です。
次のように置き換えます。
AGENT_NAME: エージェントに付ける名前(例:my-custom-agent)。PROJECT_ID: プロジェクト ID。LOCATION: レジストリのロケーションまたはリージョン。DISPLAY_NAME: エージェントの人が読める形式の名前。
Service リソースが作成されると、Agent Registry はエージェント カードを解析し、読み取り専用の Agent リソースを作成します。また、ADK Python コードで定義された A2A スキルをインデックスに登録して、他のデベロッパーが検索できるようにします。