記事一覧に戻る

エージェントによるリソース発見:エージェントにツール、スキル、その他のエージェントの検索を任せる

ben burtenshaw's avatar

shaun smith's avatar

今日エージェントを構築している場合、おそらく3つのプロトコルをご存知でしょう。MCPはエージェントにツールを呼び出すための標準的な方法を提供し、Skillsはエージェントに指示を消費する方法を提供し、A2Aはエージェントに他のエージェントを呼び出す方法を提供します。3つとも、ユーザーがすでに必要なツール、指示、またはエージェントを知っていることを前提としています。ユーザーは依然として、これらの機能を検出、統合、維持する責任を負っています。

Agentic Resource Discovery (ARD)仕様は、これらの前面に位置する発見レイヤーです。これはMicrosoft、Google、GoDaddy、Hugging Faceなどの貢献者によって開発されたドラフトのオープン仕様であり、業界全体で幅広い参加を得ています。エージェントとツールがフェデレーテッドレジストリ全体でカタログ化、インデックス化、検索される方法を定義し、エージェントが事前にインストールする必要なく実行時に機能を見つけられるようにします。これは製品やマーケットプレイスではありません。どの企業も独立して実装でき、どのエージェントやツールも参加できる共有標準です。

この記事では、仕様、Hugging Faceがどのように実装したか、そしてARDの上にどのように構築を開始できるかを探ります。

発見の問題

現在のエージェント機能のモデルは、まずインストールして後で使用するというものです。開発者はMCPサーバーのURLをconfigファイルにハードコードします。ユーザーはプラグイン経由でサービスをAIアプリに接続し、再利用します。これはエージェントが毎日使用する少数のツールには有効ですが、数千のアドホックサーフェスには対応できません。

代替策は、利用可能なすべてのツールの説明をLLMのコンテキストウィンドウにダンプし、モデルに選択させることです。これはコンテキスト予算によって制限されます。検索ベースの戦略もありますが、説明が薄すぎてうまく区別できないことがよくあります。

ARDは選択をLLMの外に移動させます。レジストリは発行者ID、代表的なクエリ、コンプライアンス証明、タグなどのより豊かなシグナルで機能をインデックス化します。RESTエンドポイントを公開し、クライアントは自然言語で検索し、モデルは検索結果を呼び出します。これは、手動でインストールされた静的なカタログから、意図に基づく検索へ移行し、エージェントが適切な機能を動的に見つけ、各機能を事前に設定することなく、MCPツール、A2Aエージェント、その他のサービスの成長するエコシステムに到達できるようにします。

仕様は2つのものを定義します:

  • 発行者が機能をよく知られたURLでホストできるようにするai-catalog.jsonという静的マニフェスト形式。
  • POST /searchの動的レジストリAPIは、ライブでランク付けされた発見を提供します。

Hugging Face Hub上のARD

Hugging FaceのDiscover Toolは、ARDのリファレンス実装です。Hugging Faceおよび他のARD発見サービス上の数千のSkills、MLアプリケーション、MCP Serversへの検索アクセスを提供します。

Spaces上の既存のセマンティック検索をAgent Skillsと組み合わせ、結果をARDカタログエントリとして提供することで動作します。HubはすでにGradioアプリ、MCPサーバー、デモを実行するSpacesのカタログをホストしています。そのセマンティック検索はagents=trueフラグをサポートし、エージェント指向のメタデータによってランク付けされたSpacesを返し、Discoverはその検索をARD仕様に変換します。

アダプターは2つのフィルターを適用します。まず、レスポンスにはランタイムステージがRUNNINGのSpacesのみが含まれます。次に、レスポンスのメディアタイプはリクエストによって決定されます。3つのメディアタイプがサポートされています:

  • application/ai-skill:デフォルト。Spaceのagents.mdをラップする生成されたSKILL.md
  • application/mcp-server+jsonmcp-serverタグが付けられたSpaces用のMCPサーバーカタログエントリ。
  • application/vnd.huggingface.space+json:クライアントが自分で処理したい場合の生のSpaceメタデータ。

skillタイプには追加の変換が含まれます。多くのSpacesは、エージェントがそれらとどのように対話すべきかを説明するagents.mdファイルを同梱しています。Discoverはそのファイルを読み取り、スキルコンシューマーが期待するフロントマター:namedescription、およびSpace ID、Hub URL、app URL、元のagents.md URLをカバーするソースメタデータでラップします。結果は、スキル対応クライアントが通常のスキルフローでインストールまたはロードできるスキルです。

MCPタグ付きSpacesの場合、アダプターはHTTPトランスポート経由でSpaceのGradio MCPエンドポイントを指すカタログエントリを生成します。URLはHubが提供する場合はSpaceのランタイムドメインを使用し、そうでない場合は標準の.hf.spaceスラッグ規則を使用します。

使用方法

discoverHugging Face CLIhf)に組み込まれています。開始してあなたまたはあなたのエージェントにアクセスを提供するには:

# 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 Tool

REST APIまたはMCP Serverのいずれかを使用して、カタログを直接検索することもできます。

Hugging Faceカタログは、そのよく知られたURLで公開されています:

https://huggingface.co/.well-known/ai-catalog.json

検索を直接呼び出すには:

POST https://huggingface-hf-discover.hf.space/search
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 Clientをhttps://huggingface-hf-discover.hf.space/mcpのMCPエンドポイントに接続して、カタログを検索できます。

仕様にとっての意味

ARDは発見と実行を分離します。静的マニフェスト形式はメディアタイプによって駆動されるため、仕様レベルの変更なしに任意のアーティファクトプロトコルが同じエンベロープに乗ることができます。レジストリAPIはプレーンなHTTP RESTであるため、任意のクライアントがそれに対してフェデレーションできます。Discoverは、エコシステム全体の仕様のいくつかのリファレンス実装の1つであり、フェデレーションがプロトコルに組み込まれているため、1つのサービスを通じた検索で、別のサービスがホストする機能を表示できます。

Discover Toolは、その設計の動作テストです。新しいアーティファクト形式を発明するのではなく、既存の検索バックエンドであるHubを仕様のエンベロープでラップし、クライアントが要求したものに応じて同じSpacesをスキルまたはMCPサーバーとして表示できるようにします。

次のステップは、仕様のフェデレーションモード(autoreferralsnone)とのより緊密な統合と、ユーザーおよび組織のプロファイル上の静的ai-catalog.jsonマニフェストのHub側サポートです。それが実現すれば、任意のSpace発行者が標準のwell-known URIメカニズムを通じて機能を宣伝できるようになります。

詳細を見る