Agent Development Kit(ADK)を使用してカスタム エージェントを構築し、独自のインフラストラクチャでホストする場合は、エージェントカードを公開し、エンドポイントを手動で登録することで、エージェント レジストリで検出できるようにすることができます。
このドキュメントでは、ADK エージェントが Agent2Agent(A2A)プロトコルに準拠していることを確認し、レジストリでスキルをインデックス登録できるようにする方法について説明します。
エージェント カード エンドポイント
Agent Registry がカスタム エージェントの機能を理解できるようにするには、エージェントが Agent2Agent(A2A)プロトコルを使用してメタデータと使用可能なスキルを公開する必要があります。
A2A 仕様では、エージェントは、エージェントの ID とツールを記述する JSON ドキュメントであるエージェント カードを、通常は /.well-known/agent-card.json の特定のエンドポイントで提供する必要があります。
ADK の特定の A2A サーバー プラグインまたはモジュールを使用してエージェントを登録すると、フレームワークは、コードで指定した Agent 定義と tools に基づいて、このエージェントカードを自動的に生成して提供できます。
公開されたエージェントを登録する
ADK エージェントをホスティング環境にデプロイし、REST エンドポイントが正常に提供されたら、Agent Registry に検出するよう指示します。
カスタム デプロイには手動登録が必要なため、レジストリに Service リソースを作成します。エージェントの生成されたエージェントカードをローカルの JSON ファイル(例: agent-card.json)として保存します。
Google Cloud CLI を使用してエージェントを登録します。必ず a2a-agent-card 仕様タイプを指定し、--agent-spec-content フラグを使用してローカルファイルをアップロードしてください。
gcloud alpha 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 リソースを作成して、ADK Python コードで定義されたスキルをインデックスに登録します。これにより、他のデベロッパーがそれらを検索できるようになります。