使用自动注册

Agent Registry 可以注册托管在受支持的 Google Cloud 运行时 上的智能体,而无需您手动调用 Agent Registry API。根据运行时,此注册过程会自动进行,或者需要在部署期间执行选择启用配置步骤。

本文档介绍了如何为受支持的运行时上的智能体启用发现功能。如果您在外部或不受支持的运行时上托管智能体, 请参阅使用手动注册

在注册期间从智能体提取的元数据和技能取决于智能体的协议。如需了解详情,请参阅 注册智能体

准备工作

在注册智能体之前,请设置 Agent Registry。 您需要项目 ID 才能验证注册。

如需使用本文档中的 Google Cloud CLI 命令,请确保您已 设置 gcloud CLI 环境

从 Agent Runtime 注册智能体

如果您使用 Gemini Enterprise Agent Platform 上的 Agent Runtime开发和部署智能体, 则会在 Agent Registry 中自动注册。

Agent2Agent (A2A) 协议是一种开放 标准,可让智能体声明其功能和身份。以下 示例展示了如何将实现 A2A protocol 的 智能体 部署到 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 智能体(例如 Google WorkspaceGemini Enterprise 智能体)会自动注册到 Agent Registry。您无需执行任何配置或部署步骤。这些智能体会被提取并 可供发现在您的 注册表中。

从 GKE 注册智能体

您可以通过将 registry.gke.io/functional-type: "AGENT" 标签添加到 部署中,来注册部署在 Google Kubernetes Engine (GKE) 上的智能体。此标签会将部署标识为 AI 智能体,让 Agent Registry 执行内省扫描。

如需启用智能体技能的自动发现,您还必须提供 a2a-protocol.org/agent-card 注解。提取控制器使用此注解查询 A2A 智能体卡片。此外,请使用 iam.gke.io/spiffe-identity-type: agent-identity 注解配置工作负载身份,以帮助启用安全经过身份验证的通信。

以下示例展示了使用这些配置的 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:
      annotations:
        # Workload Identity annotation for identity and access management
        iam.gke.io/spiffe-identity-type: agent-identity
      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 集群会自动尝试从智能体提取元数据,并将其直接同步到 Agent Registry 数据模型中。

验证注册情况

您可以通过列出智能体来验证 Agent Registry 是否已成功注册您的智能体:

控制台

  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 格式。例如,您可以通过 按 googleapis.com 发布商过滤列表来发现内置 Google Workspace 智能体,方法是使用 --filter="agentId:'urn:agent:googleapis.com:*'"

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:智能体的简单易懂的显示名称。