代理資源發現 (ARD) 規範與 Hugging Face 實作

代理資源發現 (ARD) 規範與 Hugging Face 實作

Hugging Face 已推出代理資源發現 (ARD) 規範的參考實作。此開放標準讓 AI 代理人能從靜態的「先安裝」模式轉為動態的發現模式,允許代理人在執行時透過共享的發現層找到並整合工具、技能與其他代理人。

代理資源發現 (ARD) 規範

ARD 是由 Microsoft、Google、GoDaddy 與 Hugging Face 等聯盟共同開發的草案、開放規範。它提供一個發現層,位於現有協議(如工具呼叫的 Model Context Protocol (MCP)、指令消費的 Skills、以及代理對代理 (A2A) 的跨代理通訊)之前。

過去的模型需要開發者硬編碼伺服器 URL,或將所有工具描述一次性灌入 LLM 的上下文視窗;ARD 則將選擇過程移出 LLM。它使用註冊表以高保真訊號(包括發布者身分、合規聲明、標籤與代表性查詢)索引能力,並透過 REST 端點公開。這讓代理人能以自然語言的意圖搜尋,動態找到合適的能力。

規範定義了兩個主要元件:

  • 靜態清單:一種稱為 ai-catalog.json 的格式,讓發布者可在眾所周知的 URL 上託管能力。
  • 動態註冊表 APIPOST /search 端點,提供即時、排序的資源發現。

Hugging Face Discover 工具實作

Hugging Face Discover 工具是 ARD 的參考實作。它提供對 Hugging Face Hub 以及其他 ARD 發現服務上數千個 Skills、機器學習應用與 MCP 伺服器的搜尋存取。

技術工作流程

Discover 利用 Hub 既有的 Spaces 語意搜尋,搭配 agents=true 旗標,以代理導向的中繼資料對結果排序。接著適配器套用兩個主要過濾條件:僅包含 RUNNING 執行階段的 Spaces,且確保回應的媒體類型與請求相符。

支援的媒體類型包括:

  • application/ai-skill:透過將 Space 的 agents.md 包裝成 SKILL.md,加入必要的 frontmatter(名稱、說明與來源中繼資料)來產生檔案。
  • application/mcp-server+json:為標記為 mcp-server 的 Spaces 提供目錄項目,指向該 Space 透過 HTTP 傳輸的 Gradio MCP 端點。
  • application/vnd.huggingface.space+json:為希望自行處理資料的客戶端提供原始 Space 中繼資料。

整合與使用方式

使用者與代理人可透過多種介面存取 ARD 目錄:

Hugging Face CLI

資源發現已整合至 hf CLI。範例包括:

  • 搜尋訓練資源:hf discover search "Fine tune a language model"
  • 尋找 MCP 伺服器:hf discover search "Generate an image" --json --kind mcp
  • 搜尋外部註冊表:hf discover search "Purchase aeroplane tickets" --registry-url <catalog-url>

REST API 與 MCP

可直接透過 REST API https://huggingface-hf-discover.hf.space/search 或眾所周知的目錄 URL https://huggingface.co/.well-known/ai-catalog.json 存取。此外,任何 MCP 客戶端皆可透過 https://huggingface-hf-discover.hf.space/mcp 的 MCP 端點連接搜尋目錄。

對代理生態系的影響

ARD 將發現與執行分離,使任何工件協議皆能使用相同的封裝,而不需在規範層面做變更。因為註冊表 API 採用純 HTTP REST,客戶端可以對多個註冊表進行聯邦化。這意味著在一個服務的搜尋結果中,可能會顯示由另一服務所託管的能力。

未來的更新將包括與聯邦模式(autoreferralsnone)的更緊密整合,以及 Hub 端對使用者與組織檔案中靜態 ai-catalog.json 清單的支援,讓任何 Space 發布者都能透過標準 URI 宣傳其能力。

Sources