跳转到内容
Alibaba Cloud AI Agent Handbook 已开源,汇集50+工程师的一手实践经验点此了解

ARD 资源发现

ARD(Agentic Resource Discovery) 是面向 AI 资源描述、搜索与发现的开放规范。官方规范署名作者包括 Junjie Bu(Google)、R. V. Guha(Microsoft)和 Shaun Smith(Hugging Face),规范源码见官方 GitHub 仓库。

Nacos 3.3 通过 ARD 协议兼容接口,将已发布的 Agent、Skill、Prompt 和 MCP Server 提供给 AI 应用和工具链,客户端可以先搜索能力,再获取资源内容。

服务端启用、鉴权及完整 HTTP 示例见生态融合中的 ARD 接入指南。本页说明资源如何进入发现结果,以及应用如何使用这些结果。

1. 选择发现方式

使用场景入口
工具链需要通过 ARD 协议搜索多种 AI 资源、浏览目录并下载内容ARD 接入指南
应用需要发现 Agent 的调用定义、运行端点并订阅变化RAD 接入指南,RAD 全称为 Remote Agent Discovery
应用直接使用 Nacos 资源接口,或需要访问 AgentSpec按资源类型查阅客户端 API

ARD 当前覆盖 Agent、Skill、Prompt、MCP 四类资源。AgentSpec 通过 Nacos 原生 API 获取,不包含在 ARD 结果中。

2. 让资源可以被发现

在对应资源的管理页面完成创建和发布即可,无需再向 ARD 注册一份:

  1. 按 Agent、Skill、Prompt或 MCP 指南创建资源,补充名称、描述及业务标签,便于使用者搜索和筛选。
  2. 按 AI 资源生命周期完成提交和发布,确认资源已启用,latest 指向 online 版本。仅保存草稿或审核完成,尚未发布的版本不会进入发现结果。
  3. 确认资源可见范围和调用账号的权限。内置可见性插件允许非 Owner 读取 PUBLIC 资源;PRIVATE 资源对 Owner、管理员或获得显式可见性授权的身份可见。调用方仍需通过接口鉴权;匿名调用需先开启匿名访问并具备相应接口权限,且只能发现公开资源。
  4. 使用接入账号查询目录或搜索资源,检查名称、版本和资源地址。

内置策略下,新建 Agent、MCP Server 默认 PUBLIC,Skill、Prompt 默认 PRIVATE。私有发布应先设置 scope 再提交发布;已有私有设置不会被新版本重置。默认值、自定义插件边界和修改方法见可见性插件。

public 命名空间与 PUBLIC 可见范围是两个不同设置,不能仅凭命名空间判断资源是否公开。

搜索返回 latest 指向的当前上线版本,不会把各个历史版本都作为独立结果列出。发布、下线或修改资源后,搜索同步可能需要一些时间;刚启动或升级时,结果也可能暂不完整。排查缺失资源时,先确认发布状态和权限,再重试查询。

3. 筛选和使用结果

ARD 的 type 表示可下载内容的媒体类型,不是 Nacos 的资源类型名。搜索时可用 query.filter.type 限定应用能够处理的内容:

资源type获取内容后如何使用
Agent:A2A 表示application/a2a-agent-card+json交给 A2A 客户端解析 AgentCard。
Agent:Nacos 定义application/vnd.nacos.ai-agent+json读取版本化的 Agent 定义和调用接口;运行端点发现与订阅使用 RAD。
Skillapplication/agent-skills+zip获取包含 SKILL.md 及打包资源的 ZIP,供支持 Skill 的工具加载。
Promptapplication/vnd.nacos.ai-prompt+json读取 Prompt 内容及变量定义,按应用输入使用模板。
MCP Serverapplication/mcp-server-card+json读取 MCP Server 描述,使用 MCP 客户端连接实际服务。

应用从结果中读取 identifier、version、type 和 url,再按 url 下载内容。搜索响应中的资源放在 results,列表响应放在 items,目录响应放在 entries;分页和下载示例见 ARD 接入指南。

3.1. Agent 的两种表示

一个 Agent 在单次 ARD 查询中最多返回一个条目。当前 latest 仅包含 A2A 接口且能导出完整 AgentCard 时,默认返回 A2A 表示;包含多种协议的定义优先返回 Nacos 表示。应用只支持 A2A 时,应按 A2A 媒体类型筛选。

是否能返回 A2A 表示取决于当前 latest 版本。即使旧版本支持 A2A,也不会因此在当前版本的 ARD 结果中返回旧 AgentCard。

Agent 下载内容属于指定版本的定义,不包含运行端点或实时健康状态。声明地址中的默认健康标记也不代表实际探活结果。需要按健康状态选择运行实例时,使用 RAD 发现端点,再由相应协议客户端调用。

3.2. 向量插件与资源发现

ARD 可以通过 AI 向量插件补充相似内容召回,再与关键词结果一起排序。使用方无需改变 ARD 请求格式;服务端的配置、索引验证和自定义 Provider 接入见插件指南。

没有可用向量插件时仍可使用关键词搜索。默认插件使用本地 hashing 向量,实际相关性应结合资源描述和业务查询验证;启用向量不会扩大资源的可见范围,也不会绕过上线条件。

4. 验证接入

  1. 使用与应用相同的身份和命名空间搜索,确认能找到已发布的目标资源。
  2. 获取结果中的 url,检查返回的版本和 Content-Type 是否符合应用预期。
  3. Skill、Prompt 在工具或应用中验证加载;Agent、MCP Server 还需验证实际服务的网络连通性和调用凭据。

ARD 提供搜索、目录和内容获取。资源的编辑、发布及上下线仍通过 Nacos 控制台、运维 API 或 Maintainer SDK 完成。