Agent Registry 可以注册托管在受支持的 Google Cloud 运行时上的智能体,而无需您手动调用 Agent Registry API。根据运行时,此注册过程会自动进行,或者需要在部署期间执行选择启用配置步骤。
本文档介绍了如何为受支持的运行时上的智能体启用发现功能。如果您在外部或不受支持的运行时上托管智能体, 请参阅使用手动注册。
在注册期间从 智能体提取的元数据和 A2A 技能取决于智能体的协议。如需了解更多 信息,请参阅注册智能体。
准备工作
在注册智能体之前,请设置 Agent Registry。 您需要项目 ID 才能验证注册。
如需使用本文档中的 Google Cloud CLI 命令,请确保您已 设置 gcloud CLI 环境。
从 Agent Runtime 注册智能体
如果您使用 Gemini Enterprise Agent Platform 上的 Agent Runtime开发和部署智能体, 则会在 Agent Registry 中自动注册。
Agent2Agent (A2A) 协议是一种开放 标准,可让智能体声明其功能和身份。以下 示例展示了如何将实现 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 智能体(例如 Google Workspace 和 Gemini Enterprise 智能体)会自动注册到 Agent Registry。您无需执行任何配置或部署步骤。这些智能体会被提取并 可供发现在您的 注册表中。
从 GKE 注册智能体
您可以通过向
部署添加 registry.gke.io/functional-type: "AGENT" 标签来注册部署在
Google Kubernetes Engine (GKE)
上的智能体。此标签会将部署标识为 AI 智能体,从而让 Agent Registry 执行内省扫描。
如需启用智能体技能的自动发现,您还必须提供 a2a-protocol.org/agent-card 注解。提取控制器使用此注解查询 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 集群会自动尝试从智能体提取元数据,并将其直接同步到 Agent Registry 数据模型中。
从 Cloud Run 注册智能体
您可以在部署期间指定 --functional-type=agent 和 --identity-type=agent-identity 标志,以注册部署到
Cloud Run 的智能体。--functional-type=agent 标志会将 Cloud Run 工作负载标识为 AI 智能体,而不是标准容器化应用,从而让 Agent Registry 执行内省扫描。
使用 --functional-type=agent 配置的工作负载必须指定 --identity-type=agent-identity 标志。使用任何其他身份类型进行部署都会导致错误。
您可以将智能体部署为 Cloud Run 服务或作业。 如需了解如何在 Cloud Run 中将智能体部署为服务或作业,请参阅 为 Cloud Run 配置 Agent Platform 功能。
Agent Registry 会自动尝试从智能体提取元数据。
对于遵循 Agent2Agent (A2A) 协议的智能体,系统会扫描
/.well-known/agent-card.json 端点,以使用
智能体的 A2A 技能填充注册表。如需了解详情,
请参阅 将 A2A 智能体部署到 Cloud Run。
自动注册只会发现部署在同一 Google Cloud 项目中的资源。如需注册部署在不同 项目中的智能体,请参阅手动注册。
验证注册
您可以通过列出智能体来验证 Agent Registry 是否已成功注册智能体:
控制台
在 Google Cloud 控制台中,前往 Agent Registry:
在项目选择器中,选择您在其中 设置 Agent Registry的 Google Cloud 项目。
选择 Agents 选项卡。
该页面会显示所有已注册智能体的列表及其详细信息,例如名称、标识符、说明、运行时和位置。
按智能体的位置或其运行时资源过滤列表:
- 如需按位置过滤,请点击位置 菜单,选择要过滤的位置,然后点击应用 。
- 如需按运行时过滤,请点击运行时 菜单,选择要过滤的运行时,然后点击应用 。
该页面会显示根据您选择的条件过滤的已注册智能体列表。
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 发布商过滤列表
--filter="agentId:'urn:agent: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:智能体的简单易懂的显示名称。