用 Nacos 3.3.0 ARD 让 Agent 按任务发现工具和 Skill

作者:席翁

如今,工作中用 Agent 帮忙已经越来越常见。研发同学用 Coding Agent 写代码、补测试、排查问题,业务同学用 Work Agent 整理资料、分析表格、制作演示文稿。不少过去需要自己一步步操作的事情,现在可以把需求交给 Agent,让它协助完成。

月底的经营汇报就是一个例子:看看华东区这个月卖得怎么样,和上个月比有哪些变化,再整理成几页 PPT。这类任务很适合让 Agent 帮忙。

不过,在 Agent 开始干活之前,员工往往还得自己做不少准备。

一份经营汇报背后的准备工作

假设 Agent 还没有接入公司的销售系统。你得先找数据团队,说明要查华东区哪两个月、需要哪些指标,请他们导出 Excel 或 CSV。拿到文件后,再确认字段含义、检查数据有没有缺漏,才能交给 Agent。

有了数据,还得交代怎么分析。销售额按下单还是按回款统计?退款要不要扣除?产品之间的增减怎么比较?一张表并不能告诉 Agent 这些业务口径,你还需要把计算规则和注意事项写进 Prompt。

到了做汇报的时候,又要说明一共几页、先讲哪些指标、图表用什么格式、哪些问题要单独列出来。来回调整几次后,你可能会把这些要求存成本地模板,或者整理成 Skill,留到下个月继续用。

自己一直用同一个 Agent,暂时还能管得过来。一旦换了电脑或 Agent,就得重新找文件、复制 Prompt、安装 Skill,再确认是不是上次改好的那一份。

多人一起做时更麻烦。你负责华东,同事负责华北,各自让 Agent 生成汇报。等到合并时才发现,一份按回款算销售额,另一份按订单金额算;一份先讲产品,另一份先讲渠道,图表样式和页数也不一样。区域可以分开分析,统计口径和汇报格式却得统一,否则还要返工。

规范其实一直都在,只是散在人的脑子里、之前的对话中,以及各自电脑上的 Prompt、Skill 和模板文件里。最后用了哪套规则,往往取决于谁来做、用哪个 Agent 做。

团队可以把销售数据查询做成 API,或通过 MCP 提供给 Agent,再把分析口径、汇报结构整理成 Skill 和 Prompt,供大家复用。

这些资源准备好以后,员工仍然得知道有哪些服务可用、地址在哪里、哪份 Skill 适合这次任务、团队现在用哪一版规范,再逐个交给 Agent。

如果 Agent 能根据需求,自己去团队资源库里寻找数据接口、MCP、Skill 和 Prompt,员工就可以直接说"帮我做华东区这个月的经营汇报,和上个月对比,按团队规范整理成 5 页 PPT",让 Agent 查找合适的资源,获取有权访问的数据,再按团队的分析口径和汇报要求继续工作。

负责华东和华北的同事可以各自分析,复用同一套规范;即使换了 Agent,也有共同的资源入口。

Nacos 3.3.0 新增的 ARD 资源发现 提供了这样的入口:让 Agent 按当前任务搜索 Nacos 中的 Agent、MCP、Skill 和 Prompt,再按各类资源的使用方式继续操作。(Nacos 3.3.0 发布介绍 ** **1 。)

ARD 给 Agent 一个找能力的入口

ARD 的全称是 Agentic Resource Discovery ,是一套描述、搜索和发现 AI 资源的开放规范,通过 ARD 官网 ** **2 发布,在 GitHub 仓库 ards-project/ard-spec ** **3 中公开维护。

参与制定规范的工作组成员来自 Microsoft、Google、Hugging Face、GoDaddy 等公司。目前规范仍处于提案阶段,社区可以通过公开仓库参与讨论和完善。(工作组介绍 ** **4 、规范正文 5** ** 。)

使用时,Agent 把任务需求交给资源库,资源库返回候选项,说明每项资源叫什么、能做什么、属于什么类型,以及从哪里获取内容。能找的资源包括:

资源 放到日常工作里是什么
MCP 查询销售数据、读取工单、访问业务系统的工具服务
Skill 分析销售变化的方法、生成团队文档的规则
Prompt 可以复用的任务指令和输出要求
Agent 已经部署好、可以承担一类任务的远程助手

找到资源后,Agent 仍需按对应协议或内容格式使用:连接 MCP 服务,读取并遵循 Skill,或按远程 Agent 支持的协议发起调用。(ARD 协议介绍 ** **6 。)

使用者先接上资源库,需要时再找与当前工作有关的工具和规则,不必在任务开始前全部准备好。前提是团队已经接入服务、整理好规范;ARD 帮助发现和复用已有资源,不能凭空补出尚未建设的能力。

Nacos 3.3.0 把资源管理和资源发现接起来

如果团队已经用 Nacos 管理 MCP 或 Skill,可以继续通过控制台和管理接口创建、更新、发布资源,维护好描述,无需为 ARD 另建一份资源清单。

ARD 从中检索最新的在线版本,并按调用者身份和资源可见性筛选。草稿、已下线的版本,以及调用者无权读取的内容,不会出现在候选结果中。维护者发布的资源,由此有了 Agent 可以直接搜索的入口。(Nacos AI Registry 适配器规范 ** **7 。)

检索默认使用关键词,也可以选配向量检索及 JEV 模型辅助判断。可以先用关键词搜索,等资源多了、需要处理更自由的问法时,再配置向量检索和 JEV 模型。向量模型、向量存储和 JEV 模型需要另外配置,开启 ARD 不会自动完成这些配置。

从找资源到交付一份经营汇报

假设数据团队已经开发好销售数据 MCP,并发布到 Nacos。我们之前在 Agent 里反复调整的分析方法和汇报要求,也分别整理成了销售分析 Skill、经营汇报 PPT Skill,发布在同一个资源库中,供团队成员使用。

这时,我们开启一个全新的 Codex 会话,通过 ARD 项目的 AgentFinder Skill ** **8 接入这个"企业资源库"。会话已配置发现入口和访问凭据,也具备通用 HTTP 和 PPT 工具。至于本次任务用哪个销售 MCP、哪份分析和汇报规范,就让 Codex 从资源库里查找。

先让 Codex 看看有哪些资源能帮上忙

我们先说明要分析的区域、对比月份,以及汇报的交付形式:

我要做华东区 2026 年 9 月的经营汇报,需要和 8 月对比,最终整理成 5 页 PPT。先帮我从企业资源库找找有哪些合适的数据服务、分析方法和汇报规范。

Codex 通过 AgentFinder 向 Nacos 发起 ARD 搜索,找到了团队提前准备好的销售 MCP、分析 Skill 和汇报 Skill。

图 1:Codex 列出找到的三项资源,解释各自的用途,并提供资源入口。

这三项资源各有用途:销售 MCP 可以查询华东区 8 月、9 月的销售额和订单量;分析 Skill 用于计算环比和产品贡献;汇报 Skill 规定了 5 页汇报的结构和统一版式。Codex 把它们与本次需求的对应关系列了出来。

从资源描述也能判断是否够用。销售 MCP 的描述写明没有利润、预算达成率和渠道数据,这次汇报就应围绕它能提供的指标展开;如果还要分析利润,就得继续找数据来源。

这一步已经找到了取数、分析和制作汇报所需的资源入口。具体的计算规则和制作要求,要等获取资源内容后才能读到。

选好资源后,让 Codex 取数并分析变化

确认这三项资源能覆盖本次任务后,我们让 Codex 继续:

就用这些资源,查询两个月的数据,分析主要变化,先把分析结论给我。

Codex 沿返回的链接读取两份 Skill,从 MCP 服务描述中取得连接信息,再连接销售 MCP,调用 query_sales_data 查询两个月的数据。这次就不用另外导出 Excel,也不用把分析规则重新贴进对话了。

图 2:分析结果同时列出月度指标、产品变化和后续核查事项,便于检查结论的依据。

结果显示,9 月销售额为 148 万元 ,比 8 月的 160 万元下降了 7.5%。产品明细解释了这 12 万元的差额:会议耳机减少 20 万元,办公显示器和扩展坞合计增加 8 万元,抵消了部分下降。

截图底部写明了分析口径:销售额按已支付订单金额统计,与上一个自然月比较,产品变化与总变化核对一致。这些要求来自分析 Skill,换同事或换 Agent 来做,也能读取同一份规则。

还需要查清的是,会议耳机的订单为什么减少。Codex 列出了渠道订单、缺货记录等核查方向,我们可以找业务同学确认,再决定是否补充进正式汇报。

分析确认后,再整理成团队要求的 PPT

看过分析结果后,再让 Codex 整理成 PPT:

把这份分析整理成 5 页可编辑的经营汇报 PPT。

先前读取的汇报 Skill 已经规定了每页内容和版式。Codex 按这些要求组织内容,使用现有的 PPT 工具生成文件,不用我们再从头交代。

图 3:左侧是交付的 PPT 文件,右侧可以查看封面和五页缩略图。

右侧预览中的汇报共 5 页,采用统一版式,包含经营总览、产品对比和后续核查事项。文字、表格和图表都可以继续编辑,便于补充业务判断,或按评审意见调整。

这次新会话用上了数据团队的查询服务,以及之前在其他会话中积累的分析和汇报经验。以后换同事接手,也可以从 Nacos 找到这些资源,沿用团队的规范。

快速上手

可以先准备一个数据 MCP、一个分析 Skill 和一个汇报 Skill,走一遍上面的流程。案例中的三项资源用于演示,并非 Nacos 内置服务,实际体验时需要自行创建或接入。

第一步 在 Nacos 中开启 ARD

准备一套能正常启动和登录的 Nacos 3.3.0,在服务端 conf/application.properties 中配置:

ini 复制代码
# 开启 ARD 协议入口,默认关闭
nacos.ai.ard.enabled=true
# AI Registry 适配器的独立端口,默认是 9080
nacos.ai.registry.port=9080
# 共享资源检索默认开启;如果此前关闭过,需要恢复
nacos.ai.resource.search.enabled=true
# 返回给调用者的资源链接所使用的适配器公开地址
# 这里按本机试用填写,跨机器访问时应改成实际可达的地址
nacos.ai.ard.catalog.base-url=http://127.0.0.1:9080

重启服务后,通过适配器端口访问 ARD。默认直连时,搜索地址为:

bash 复制代码
http://127.0.0.1:9080/v3/ai/ard/search

如果 Agent 在另一台机器或容器里,127.0.0.1 指向的是它自己所在的环境。搜索地址和 catalog.base-url 都要改为 Agent 实际能访问的 Nacos 适配器地址;如果经过网关并设置了路径前缀,地址也要带上完整前缀。

使用外部数据库或从旧版本升级时,需要先完成 3.3.0 对应的数据库脚本更新,包括 AI 资源检索所需的表。配置项与接口路径可查阅 3.3.0 适配器规范 ** **9 。

第二步 把资源准备好并发布

在 Nacos 控制台创建或导入资源:为 MCP 配置可用的服务连接信息,为 Skill 上传内容,再发布上线。用于调用的账号需要有这些资源的读取权限。

写资源描述时,可以想想别人会怎么找它。比如销售 MCP:

按区域和月份查询销售额、订单量及产品明细,适用于月度经营分析和环比对比。

分析 Skill 可以这样写:

统一月度销售分析口径,计算销售额环比和各产品的增减贡献,列出需要进一步核查的问题。

只写"销售工具"或"分析助手",人和 Agent 都难以判断是否适用。比起取一个好名字,写清业务范围、可查询维度和适用任务往往更有用。

发布后,资源索引需要一定时间更新。如果刚上线还搜不到,可以稍后重试,同时检查命名空间是否正确、是否已有在线版本,以及调用账号是否有读取权限。

第三步 让 Agent 接入企业资源库

把 AgentFinder Skill 放进所用 Agent 支持的 Skill 目录,就可以让它按这份 Skill 查找资源。Agent 还需要具备发送 HTTP POST 请求的能力。

AgentFinder 在 ~/.agentfinder/finders.json 中保存资源发现服务和当前选中的资源库。首次配置可以这样写;如果文件中已有其他条目,保留它们,追加企业资源库并更新 selected:

json 复制代码
{
  "selected": "nacos-team",
  "finders": [
    {
      "id": "nacos-team",
      "name": "企业资源库",
      "description": "团队在 Nacos 中维护的数据服务、分析方法和工作规范",
      "search": "http://127.0.0.1:9080/v3/ai/ard/search?namespaceId=public"
    }
  ]
}

search 填完整搜索地址,namespaceId 换成资源所在的命名空间 ID。这个示例只保存发现入口,访问凭据需要由 Agent 的 HTTP 工具或连接配置携带。

配置好后,就可以向 Agent 提出需求:

yaml 复制代码
使用 AgentFinder,从已配置的"企业资源库"查找资源。
通过当前环境配置的凭据访问 Nacos。
我要做华东区 2026 年 9 月的经营汇报,和 8 月对比,
最后整理成 5 页 PPT。
先找能查询销售数据的 MCP、规定分析口径的 Skill,
以及团队经营汇报的格式规范,列出它们分别能帮我做什么。

找到合适的资源后,再根据任务读取 Skill、接入 MCP 或调用远程 Agent。需要生成 PPT 时,还得准备相应的文件生成工具。(AgentFinder 配置与发现流程 10 。)

也可以先用 HTTP 验证搜索

直接请求搜索接口,可以先确认服务端能否返回资源。下面以 Nacos 默认鉴权插件的 Bearer 令牌为例,假定本地环境变量 NACOS_ACCESS_TOKEN 中已有有效令牌:

vbnet 复制代码
curl --fail-with-body --silent --show-error \
  'http://127.0.0.1:9080/v3/ai/ard/search?namespaceId=public' \
  -H 'Content-Type: application/json' \
  -H "Authorization: Bearer ${NACOS_ACCESS_TOKEN:?请先配置有效的 Nacos 访问令牌}" \
  --data '{
    "query": {
      "text": "销售"
    },
    "pageSize": 5,
    "federation": "none"
  }'

federation: "none" 表示本次只查询当前资源库。先用资源名称或描述中已有的关键词搜索,便于检查入口、权限和索引是否正常。接入向量检索后,再试试不同自然语言问法的检索效果。

搜索响应的候选资源位于 results 中,可以先看这四个字段:

字段 怎么看
displayName 找到了什么资源
description 它是否能解决当前问题
type 应该按哪一种资源格式处理
url 去哪里获取这项资源的描述或内容

沿 url 获取内容时,要保留完整链接和参数。Nacos 返回的 Skill 通常是 ZIP 包,包含 SKILL.md 和附属文件。MCP 返回的是服务描述,要从中读取连接信息,再按 MCP 协议初始化、发现工具。搜索结果里的资源链接,不等于业务工具的调用地址。(3.3.0 ARD 资源获取契约 ** **11 。)

搜索成功后,可以把 query.text 换成自己的任务描述,再按需要增加类型等过滤条件,缩小范围。

搜不到或用不起来时,先检查以下内容

现象 优先检查
搜索接口连不上或返回 404 是否已开启 ARD 并重启服务,访问的是否为适配器端口,网关路径是否正确
返回 401 是否携带有效凭据,令牌是否过期,当前部署采用哪种鉴权方式
请求成功但没有结果 命名空间、在线版本、读取权限、索引更新状态,以及查询词是否覆盖资源描述
能搜到但资源链接打不开 catalog.base-url 是否从 Agent 所在环境可达,资源获取请求是否也携带所需凭据
能取到 MCP 描述但查不到数据 业务 MCP 是否运行、连接信息是否正确,以及业务服务自己的访问权限是否齐备

Nacos 的资源读取权限和业务系统的调用权限要分别满足。能搜到销售 MCP,并不意味着自动获得了它背后所有销售数据的访问权限。

先让一个高频任务用起来

第一次接入,可以从月度经营汇报开始:准备好数据服务、分析方法和汇报规范,让 Agent 通过同一个入口找到它们,完成一次交付。

等流程稳定下来,再逐步把工单分析、项目周报、研发评审中常用的工具和经验放进资源库。

数据同学维护服务,业务同学完善分析口径,团队维护汇报规范。使用者按任务查找和复用这些资源,换一个 Agent 或有新成员加入时,也能从同一个入口找到它们。

相关链接:

1 Nacos 3.3.0 发布介绍

nacos.io/blog/releas...

2 ARD 官网

agenticresourcediscovery.org/

3 GitHub 仓库 ards-project/ard-spec

github.com/ards-projec...

4 工作组介绍

agenticresourcediscovery.org/#who-is-beh...

5 规范正文

agenticresourcediscovery.org/spec/

6 ARD 协议介绍

agenticresourcediscovery.org/spec/

7 Nacos AI Registry 适配器规范

github.com/alibaba/nac...

8 AgentFinder Skill

github.com/ards-projec...

9 3.3.0 适配器规范

github.com/alibaba/nac...

10 AgentFinder 配置与发现流程

github.com/ards-projec...

11 3.3.0 ARD 资源获取契约

github.com/alibaba/nac...

相关推荐
分布式存储与RustFS3 小时前
给 RustFS 桶加一层内存缓存:用 Alluxio 让热数据少跑一遍网络
运维·云原生·开源·对象存储·分布式存储·s3·性能基准
吴声子夜歌7 小时前
Kubernetes权威指南——深入掌握Service(一)
云原生·容器·kubernetes
Z21-X8 小时前
云原生运维学习笔记:容器技术的演进、底层原理与 Docker 全生命周期管理
运维·笔记·学习·云原生
阿里云云原生1 天前
HiRoute 新版本发布:结合自己的真实工作选择最佳模型
云原生
对象存储与RustFS1 天前
Velero 接 RustFS 实操:K8s 集群备份落到自建对象存储
后端·docker·云原生
.冰块.1 天前
流量大了自动加 Pod!K8s HPA 扩缩容与 ResourceQuota/LimitRange 资源管控实战
linux·云原生·容器·kubernetes·hpa·quota·limitrange
Z21-X1 天前
云原生运维实战笔记:企业网站综合上云部署与云运维服务全景解析
运维·笔记·学习·云原生
qq_452396231 天前
第三篇:《从 ZooKeeper 到 KRaft 的迁移实战:前置条件、三阶段流程与回滚策略》
分布式·zookeeper·云原生
分布式存储与RustFS1 天前
Longhorn 的卷备份别堆本地盘:用 RustFS 给它当 S3 备份目标
运维·云原生·开源·对象存储·分布式存储·s3·性能基准