自動登録を使用する

Agent Registry では、サポートされているGoogle Cloud ランタイムでホストされているエージェントを登録できます。Agent Registry API を手動で呼び出す必要はありません。ランタイムによっては、この登録プロセスは自動的に行われるか、デプロイ時にオプトイン構成の手順が必要になります。

このドキュメントでは、サポートされているランタイムでエージェントの検出を有効にする方法について説明します。エージェントを外部またはサポートされていないランタイムでホストする場合は、手動登録を使用するをご覧ください。

登録時にエージェント用にインデックス登録されるメタデータと機能は、エージェントが Agent2Agent(A2A)プロトコルを実装しているかどうかによって異なります。詳細については、エージェントを登録するをご覧ください。

始める前に

エージェントを登録する前に、Agent Registry を設定します。登録を確認するには、プロジェクト ID が必要です。

このドキュメントの Google Cloud CLI コマンドを使用するには、gcloud CLI 環境を設定していることを確認してください。

Agent Runtime からエージェントを登録する

Gemini Enterprise Agent Platform の Agent Runtime を使用してエージェントを開発してデプロイする場合、Agent Registry への登録は自動的に行われます。

Agent2Agent(A2A)プロトコルは、エージェントが機能と ID を宣言できるようにするオープン スタンダードです。次の例は、A2A プロトコルを実装するエージェントを Agent Runtime にデプロイする方法を示しています。詳細については、エージェントをデプロイするをご覧ください。

# Create and deploy the agent
# This action automatically registers the agent in Agent Registry
remote_agent = client.agent_engines.create(
    agent=my_a2a_agent, # Your defined A2A object
    config={
        "display_name": "my-support-agent",
        "description": "An agent that handles support tickets.",
        "requirements": ["google-cloud-aiplatform[agent_engines,langchain]"],
    },
)

Agent Runtime でエージェントを更新または削除すると、Agent Registry はそれらの変更を自動的に同期します。

組み込みの Google エージェントを登録する

Google Workspace エージェントや Gemini Enterprise エージェントなどの組み込みの Google エージェントは、Agent Registry に自動的に登録されます。構成やデプロイの手順を行う必要はありません。これらのエージェントは取り込まれ、レジストリ内で検出に使用できます。

GKE からエージェントを登録する

Google Kubernetes Engine(GKE)にデプロイされたエージェントを登録するには、デプロイに registry.gke.io/functional-type: "AGENT" ラベルを追加します。このラベルは、デプロイを AI エージェント ワークロードとして識別します。これにより、GKE クラスタ ランタイム コントローラはクラスタ内イントロスペクション スキャンを実行し、エージェントを Agent Registry に登録します。

エージェントのスキルを自動的に検出できるようにするには、a2a-protocol.org/agent-card アノテーションも指定する必要があります。GKE 取り込みコントローラは、このアノテーションを使用して A2A エージェントカードをクエリします。

次の例は、これらの構成を使用する GKE エージェントのデプロイ マニフェストを示しています。詳細については、AI エージェントをデプロイしてオーケストレートするをご覧ください。

apiVersion: apps/v1
kind: Deployment
metadata:
  name: my-agent
  labels:
    # GKE takes this label and registers the agent to Agent Registry
    registry.gke.io/functional-type: "AGENT"
  annotations:
    # A2A protocol metadata annotation for automated Agent Card discovery
    a2a-protocol.org/agent-card: |
      card:
        endpoint: /.well-known/agent-card.json
        protocol: HTTP
        port: 8080
spec:
  selector:
    matchLabels:
      app: my-agent
  template:
    metadata:
      labels:
        app: my-agent
    spec:
      containers:
      - name: server
        image: gcr.io/my-project/my-agent:1.0.0
        ports:
        - containerPort: 8080
        env:
        - name: PORT
          value: "8080"
---
apiVersion: v1
kind: Service
metadata:
  name: my-agent-service
  labels:
    app: my-agent
spec:
  type: ClusterIP
  ports:
  - port: 8080
    targetPort: 8080
    protocol: TCP
    name: http
  selector:
    app: my-agent

デプロイが適用されると、GKE クラスタ ランタイム コントローラはワークロード コンテナを自動的にイントロスペクトし、アノテーションで宣言されたエージェント カード エンドポイントをクエリして、エージェントのメタデータと A2A スキルを Agent Registry データモデルに直接同期します。

Cloud Run からエージェントを登録する

Cloud Run にデプロイされたエージェントを登録するには、デプロイ時に --functional-type=agent フラグと --identity-type=agent-identity フラグを指定します。--functional-type=agent フラグは、Cloud Run ワークロードを標準のコンテナ化されたアプリケーションではなく AI エージェントとして識別し、エージェントを Agent Registry に登録するように Cloud Run に指示します。

--functional-type=agent で構成されたワークロードは、--identity-type=agent-identity フラグを指定する必要があります。他の ID タイプでデプロイすると、エラーが発生します。

エージェントは、Cloud Run サービスまたはジョブとしてデプロイできます。Cloud Run でエージェントをサービスまたはジョブとしてデプロイする方法については、Cloud Run 用の Agent Platform 機能を構成するをご覧ください。

登録時に、Cloud Run はエージェントの名前、URL エンドポイント、タイプ(AGENT)をレジストリに自動的に追加します。Cloud Run への A2A エージェントのデプロイの詳細については、A2A エージェントを Cloud Run にデプロイするをご覧ください。

自動登録では、同じGoogle Cloud プロジェクト内にデプロイされたリソースのみが検出されます。異なるプロジェクトにデプロイされたエージェントを登録するには、手動登録をご覧ください。

登録を確認する

エージェントを一覧表示することで、エージェント レジストリがエージェントを正常に登録したことを確認できます。

コンソール

  1. Google Cloud コンソールで、[Agent Registry] に移動します。

    Agent Registry に移動

  2. プロジェクト選択ツールから、Agent Registry を設定した Google Cloud プロジェクトを選択します。

  3. [エージェント] タブを選択します。

    このページには、登録されているすべてのエージェントのリストと、名前、識別子、説明、ランタイム、ロケーションなどの詳細が表示されます。

  4. エージェントのロケーションまたはランタイム リソースでリストをフィルタします。

    • 地域でフィルタするには、[地域] メニューをクリックし、フィルタする地域を選択して、[適用] をクリックします。
    • ランタイムでフィルタするには、[ランタイム] メニューをクリックし、フィルタするランタイムを選択して、[適用] をクリックします。

    このページには、選択した条件に一致する登録済みエージェントのフィルタされたリストが表示されます。

gcloud

エージェントのメタデータでリストをフィルタできます。Agent Registry 用に Google Cloud CLI 環境を設定し、次のコマンドを実行します。

gcloud agent-registry agents list \
  --project=PROJECT_ID \
  --location=REGION \
  --filter="FILTER_EXPRESSION"

次のように置き換えます。

  • PROJECT_ID: プロジェクト ID。
  • REGION: レジストリ リージョン。
  • FILTER_EXPRESSION: フィルタするエージェントのフィルタ式。たとえば、表示名でフィルタリングするには、displayName='DISPLAY_NAME' を使用します。グローバルに一意の識別子(URN)でフィルタするには、agentId='urn:agent:AGENT_URN' を使用します。

組み込みの Google エージェントは、エージェントのデプロイ場所に応じて URN 形式を使用します。たとえば、--filter="agentId:'urn:agent:googleapis.com:*'" を使用して googleapis.com パブリッシャーのリストをフィルタリングすると、組み込みの Google Workspace エージェントを見つけることができます。

Terraform

google_agent_registry_agent データソースを使用して、他の Terraform 構成で登録済みエージェントを参照します。

data "google_agent_registry_agent" "my_agent" {
  location = "REGION"
  filter = "displayName=\"DISPLAY_NAME\""
}

output "agent_urn" {
  value = data.google_agent_registry_agent.my_agent.urn
}

次のように置き換えます。

  • REGION: レジストリ リージョン。
  • DISPLAY_NAME: エージェントの人が読める表示名。