借助 Agent Registry,您可以注册使用智能体开发套件 (ADK) 构建并托管在您自己的基础架构上的自定义智能体,以便其他开发者和编排器智能体可以发现这些智能体。通过公开符合 Agent2Agent (A2A) 协议的智能体卡片并手动注册智能体的端点,您可以在 Agent Registry 中发现其 A2A 技能。
准备工作
- 设置 Agent Registry。
- 获取已启用 Agent Registry 的治理项目的项目 ID。
- 如需使用本文档中的 Google Cloud CLI 命令,请设置 gcloud CLI 环境。
所需的角色
如需获得在 Agent Registry 中注册自定义 ADK 智能体所需的权限,请让管理员为您授予已启用 Agent Registry 的治理项目的 Agent Registry API Editor (roles/agentregistry.editor) IAM 角色。
如需详细了解如何授予角色,请参阅管理对项目、文件夹和组织的访问权限。
Agent Card 端点
为了让 Agent Registry 能够将自定义代理的功能编入索引,代理必须使用 Agent2Agent (A2A) protocol 公开其元数据和可用的 A2A 技能。
A2A 规范要求智能体在特定端点(通常为 /.well-known/agent-card.json)提供智能体卡片,即描述智能体身份和工具的 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 资源,并为 ADK Python 代码中定义的 A2A 技能编制索引,以便其他开发者可以搜索这些技能。