智能体资源发现:让AI自主搜索
速览
本文探讨了智能体资源发现(Agentic Resource Discovery)技术,旨在让AI智能体具备自主搜索和获取资源的能力。这项技术对于提升智能体的自主性和任务完成效率具有重要意义。
AI 深度解读
Agentic Resource Discovery:让智能体自主搜索工具、技能与其他智能体
背景
当前,AI 智能体(Agents)的能力扩展主要依赖于“先安装,后使用”的模式。开发者通常需要将 MCP(Model Context Protocol)服务器的 URL 硬编码到配置文件中,或者用户通过插件将特定服务连接到 AI 应用中。这种模式对于智能体日常使用的少数几个工具是有效的,但无法扩展到成千上万个临时性或动态生成的能力表面。
另一种常见的妥协方案是将所有可用工具的描述放入大语言模型(LLM)的上下文窗口中,让模型自行选择。然而,这种方法受限于上下文预算(context budget)。虽然存在基于搜索的策略,但工具描述往往过于单薄,难以进行有效的消歧。
为了解决这一发现(Discovery)难题,Microsoft、Google、GoDaddy、Hugging Face 等行业贡献者共同开发了一份草案性质的开放规范——Agentic Resource Discovery (ARD)。ARD 并非一款产品或市场平台,而是一个共享标准,任何公司都可以独立实施,任何智能体或工具都可以参与。它定义了如何在联邦注册表中对智能体和工具进行编目、索引和搜索,使智能体能够在运行时动态发现能力,而无需预先安装。
核心内容
ARD 规范将选择过程从 LLM 内部移出,转向基于意图的搜索。注册表通过更丰富的信号(如发布者身份、代表性查询、合规性证明和标签)对能力进行索引,并提供 REST 端点。客户端使用自然语言进行搜索,模型则调用搜索结果。这一转变使得智能体能够动态找到正确的能力,并接入不断增长的 MCP 工具、A2A 智能体和其他服务生态系统,而无需预先配置每一个服务。
规范定义的两个核心要素
- 静态清单格式 (
ai-catalog.json): 允许发布者在其知名 URL(well-known URL)上托管其能力描述。 - 动态注册表 API (
POST /search): 提供实时的、排名靠前的发现服务。
Hugging Face Hub 上的 ARD 实现
Hugging Face 推出了 Discover Tool,作为 ARD 的参考实现。该工具提供对数千个 Skills(技能)、ML 应用和 MCP Servers 的搜索访问,涵盖 Hugging Face 内部及其他 ARD 发现服务。
其工作原理是将 Hub 现有的语义搜索(针对 Spaces、Agent Skills 等)与 ARD 目录条目相结合。Hub 已经托管了运行 Gradio 应用、MCP 服务器和演示的 Spaces 目录。其语义搜索支持 agents=true 标志,返回按面向智能体的元数据排名的 Spaces,Discover 工具将这些搜索结果转换为符合 ARD 规范的格式。
适配器过滤与转换
Discover 适配器应用了以下过滤和转换逻辑:
- 运行时状态过滤:仅包含运行时阶段为
RUNNING的 Spaces。 - 媒体类型驱动:响应媒体类型由请求决定,支持三种类型:
application/ai-skill(默认):生成的SKILL.md包裹了 Space 的agents.md。application/mcp-server+json:针对标记为mcp-server的 Spaces 的 MCP 服务器目录条目。application/vnd.huggingface.space+json:供希望自行处理原始 Space 元数据的客户端使用。
技能类型转换
许多 Spaces 附带 agents.md 文件,描述智能体应如何与之交互。Discover 读取该文件,并用技能消费者期望的 frontmatter(包含名称、描述、来源元数据,如 Space ID、Hub URL、应用 URL 和原始 agents.md URL)进行包裹。结果是,任何具备技能感知能力的客户端都可以通过其正常的技能流程安装或加载该技能。
对于标记为 MCP 的 Spaces,适配器会生成一个目录条目,指向通过 HTTP 传输的 Space 的 Gradio MCP 端点。URL 优先使用 Hub 提供的运行时域名,否则使用标准的 .hf.space slug 约定。
使用方式
Discover 已集成到 Hugging Face CLI (hf) 中。
通过 CLI 搜索资源:
# 安装 Hugging Face CLI 工具
uv tool install huggingface_hub
# 搜索用于训练模型的资源
hf discover search "Fine tune a language model"
# 查找用于生成图像的 MCP Servers
hf discover search "Generate an image" --json --kind mcp
# 搜索其他注册表
hf discover search "Purchase aeroplane tickets" --registry-url <catalog-url>
通过 REST API 或 MCP 工具搜索:
Hugging Face 目录发布在其知名 URL:https://huggingface.co/.well-known/ai-catalog.json
直接调用搜索 API:
# 搜索技能
curl -s https://huggingface-hf-discover.hf.space/search \
-H "Content-Type: application/json" \
-d '{
"query": {
"text": "fine tune a sentence transformer",
"filter": {
"type": ["application/ai-skill"]
}
},
"pageSize": 5
}'
# 搜索 MCP 服务器
curl -s https://huggingface-hf-discover.hf.space/search \
-H "Content-Type: application/json" \
-d '{
"query": {
"text": "transcribe some audio",
"filter": {
"type": ["application/mcp-server-card+json"]
}
},
"pageSize": 5
}'
此外,任何 MCP 客户端都可以通过 https://huggingface-hf-discover.hf.space/mcp 连接至 MCP 端点进行搜索。
关键要点
- 分离发现与执行:ARD 将能力发现与执行解耦。静态清单格式由媒体类型驱动,任何工件协议都可以利用相同的信封而无需规范层面的更改。
- 联邦搜索能力:注册表 API 是纯 HTTP REST 接口,任何客户端都可以与其联邦。Discover 是生态系统中该规范的多个参考实现之一,由于联邦机制内置于协议中,通过一个服务进行的搜索可以揭示由另一个服务托管的能力。
- 非新格式,而是封装:Discover 工具并未发明新的工件格式,而是将现有的搜索后端(Hub)封装在规范定义的信封中,根据客户端请求,使相同的 Spaces 表现为 Skills 或 MCP 服务器。
- 丰富的元数据信号:相比仅依赖文本描述,ARD 利用发布者身份、代表性查询、合规性证明等丰富信号进行索引,提高了搜索的准确性和消歧能力。
- 未来集成方向:下一步将加强与规范中联邦模式(
auto、referrals、none)的集成,并在 Hub 端支持用户和组织配置文件上的静态ai-catalog.json清单。一旦实现,任何 Space 发布者都可以通过标准的知名 URI 机制宣传其能力。
意义与影响
ARD 规范的提出标志着 AI 智能体生态系统从“静态配置”向“动态发现”的重要演进。
- 降低集成门槛:开发者不再需要硬编码工具 URL 或手动管理复杂的插件依赖。智能体可以像人类搜索互联网一样,通过自然语言动态发现并调用所需的工具或服务。
- 促进生态互操作性:作为行业共享标准,ARD 打破了不同平台和工具之间的壁垒。通过联邦注册表,不同来源的工具和智能体可以相互发现,形成一个更大、更互联的能力网络。
- 提升搜索效率与准确性:将搜索逻辑从 LLM 的上下文窗口中移出,利用专门的注册表和更丰富的元数据进行排序和过滤,不仅节省了昂贵的上下文令牌,还显著提高了找到合适工具的概率。
- 推动标准化进程:Hugging Face 等头部企业的参与和参考实现,加速了 ARD 规范的落地和普及,为构建开放、标准化的智能体基础设施奠定了基础。
对于开发者而言,这意味着可以构建更具适应性和扩展性的智能体应用;对于用户而言,则意味着更流畅、更智能的人机交互体验。随着更多公司和工具接入 ARD 标准,AI 智能体的能力边界将被极大地拓展。
