설치 대신 검색을 선택한 ARD 표준의 등장
에이전트에게 새로운 기능을 추가하려면 보통 설정 파일에 MCP(Model Context Protocol) 서버 주소를 직접 적어 넣거나 플러그인을 하나씩 연결해야 한다. 매번 수동으로 도구를 지정하는 방식은 일상적으로 사용하는 몇 가지 도구만 다룰 때는 효율적이지만 수천 개의 서로 다른 기능을 상황에 맞춰 유연하게 활용해야 하는 환경에서는 관리 비용이 급격히 상승한다. 이러한 설치 우선 방식의 한계를 해결하기 위해 마이크로소프트, 구글, GoDaddy, 허깅페이스 등이 공동으로 ARD(Agentic Resource Discovery)라는 오픈 표준 초안을 개발했다. ARD는 에이전트가 실행 시점에 필요한 기능을 스스로 검색해 찾아 쓸 수 있도록 정의한 개방형 사양이다.
ARD는 특정 기업이 소유한 제품이나 폐쇄적인 마켓플레이스가 아니라 어떤 기업이든 독립적으로 구현하고 참여할 수 있는 공유 표준으로 설계되었다. 핵심은 에이전트와 도구를 연합 레지스트리(federated registries)라는 분산된 저장소에 카탈로그화하고 인덱싱하여 누구나 검색 가능하게 만드는 구조에 있다. 기존의 모델이 도구를 미리 설치하고 나중에 사용하는 방식이었다면 ARD는 실행 중에 필요한 기능을 탐색하는 방식으로 작동 방식을 바꾼다. 이를 통해 에이전트는 사전에 설정 파일에 정의되지 않은 외부 서비스나 도구라도 런타임에 검색하여 즉시 호출해 사용할 수 있다.
허깅페이스는 이 표준을 실제로 구현하기 위해 자사 허브의 시맨틱 검색 기능을 ARD 구조에 결합했다. 허브 내의 스페이스(Spaces)를 검색할 때 `agents=true` 플래그를 적용하면 에이전트 지향 메타데이터를 기반으로 랭킹이 매겨진 결과가 도출된다. 시스템은 이 시맨틱 검색 결과를 ARD 카탈로그 엔트리로 변환하여 에이전트가 즉시 인식할 수 있는 형태로 제공한다. 이는 마치 웹 브라우저가 검색 엔진을 통해 필요한 정보를 찾듯 에이전트가 전 세계에 흩어진 기능을 실시간으로 탐색해 가져오는 구조를 가능하게 한다.
기존의 도구 관리 방식은 개발자가 사용 가능한 모든 도구 설명을 LLM의 컨텍스트 창에 한꺼번에 밀어 넣어 모델이 선택하게 하는 형태였다. 이는 컨텍스트 예산 제한과 설명의 모호함으로 인해 대규모 확장 시 성능 저하가 발생하는 문제가 있었다. 이제는 자연어 검색만으로 최적의 도구를 동적으로 호출하는 워크플로를 구현할 수 있다. 개별 도구를 일일이 사전 설정하지 않고도 의도 기반 검색을 통해 MCP 도구와 A2A(Agent-to-Agent) 에이전트에 접근할 수 있는 환경인지 판단하는 것이 실질적인 도입 기준이 된다.
허깅페이스 Discover Tool의 동작 원리와 3가지 미디어 타입
에이전트에게 새로운 기능을 추가할 때마다 설정 파일에 MCP 서버 URL을 일일이 적거나 플러그인을 수동으로 연결하는 작업은 단순 반복 노동에 가깝다. 허깅페이스 Discover Tool은 이러한 사전 설정 과정을 생략하고 실행 시점에 필요한 도구를 검색해 쓰는 ARD(Agentic Resource Discovery, 에이전트 자원 탐색) 표준 사양을 구현했다. 이 도구는 허깅페이스 Hub의 기존 시맨틱 검색 인프라를 활용해 검색 결과를 ARD 카탈로그 엔트리로 변환하여 제공한다. 개발자가 도구를 미리 설치하는 대신 에이전트가 자연어로 기능을 찾고 즉시 호출하는 구조로 전환하여 도구 연결의 병목을 제거했다.
허깅페이스 Hub의 시맨틱 검색에 `agents=true` 플래그를 적용하면 에이전트 지향 메타데이터를 기준으로 랭킹이 매겨진 Space 목록이 반환된다. Discover Tool의 어댑터는 이 응답에서 런타임 단계가 RUNNING 상태인 Space만 포함하도록 필터를 적용해 실제 사용 가능한 도구만 걸러낸다. 요청하는 클라이언트의 요구사항에 따라 `application/skill`, `application/mcp-server`, `application/generic`이라는 세 가지 미디어 타입을 지원한다. 이는 검색 결과의 단순 전달을 넘어, 클라이언트가 즉시 해석하고 실행할 수 있는 표준화된 데이터 형식으로 응답을 가공해 제공하는 과정이다.
`application/skill` 타입은 Space 내부에 저장된 agents.md 파일을 읽어 처리하는 추가 변환 단계를 거친다. Discover Tool은 이 파일에서 에이전트가 상호작용하는 방식에 대한 설명을 읽고, 이를 스킬 소비자가 기대하는 프런트매터 형식으로 감싼다. 여기에는 도구의 이름과 설명은 물론, Space ID, Hub URL, 앱 URL, 원본 agents.md URL과 같은 소스 메타데이터가 포함된다. 이렇게 변환된 결과물은 스킬 인식 기능을 갖춘 클라이언트라면 누구나 일반적인 스킬 로드 흐름을 통해 즉시 설치하거나 불러와 사용할 수 있는 형태가 된다.
MCP 태그가 부여된 Space의 경우, 어댑터는 해당 Space의 Gradio MCP 엔드포인트를 가리키는 카탈로그 엔트리를 생성하며 HTTP 전송 방식을 사용한다. 이때 URL은 Hub가 제공하는 런타임 도메인을 우선적으로 할당하고, 해당 도메인이 없는 경우에는 표준 .hf.space 슬러그 컨벤션을 적용해 경로를 지정한다. 실무자는 이제 개별 도구를 일일이 사전 설정하지 않고 자연어 검색만으로 최적의 도구를 동적으로 호출하는 워크플로를 구현할 수 있다. 정적 카탈로그 관리에서 의도 기반 검색으로 전환함으로써, 수천 개의 도구가 존재하는 환경에서도 컨텍스트 예산 낭비 없이 필요한 기능만 선택적으로 호출하는 판단 기준을 갖게 된다.
기존 방식과 달라진 지점
에이전트에게 새로운 기능을 추가하려면 매번 설정 파일을 열어 서버 주소를 직접 입력하거나 플러그인을 설치해야 했다. 개발자가 MCP(Model Context Protocol, 모델과 외부 도구를 연결하는 표준 프로토콜) 서버 URL을 설정 파일에 하드코딩하거나 사용자가 AI 앱에 서비스를 수동으로 연결하는 방식이다. 이는 설치 우선 모델로 불리며 매일 사용하는 소수의 도구에는 적합하지만 수천 개의 서로 다른 기능을 그때그때 가져다 써야 하는 실무 환경에서는 운영 효율이 급격히 떨어진다. 도구가 추가될 때마다 설정 파일을 수정하고 배포하는 과정이 반복되기 때문이다.
이 문제를 해결하기 위해 모든 도구의 설명을 LLM의 컨텍스트 창(모델이 한 번에 처리할 수 있는 텍스트 양)에 전부 집어넣는 방식이 대안으로 쓰였다. 하지만 컨텍스트 예산의 제한 때문에 넣을 수 있는 도구 수에 물리적인 한계가 있고 텍스트가 길어질수록 모델이 핵심 정보를 놓치는 현상이 발생한다. 검색 기반 전략을 섞어 일부만 노출해도 도구 설명 자체가 얇으면 모델이 유사한 기능 사이에서 엉뚱한 도구를 선택하는 모호성 문제가 해결되지 않는다. 결국 도구의 개수가 늘어날수록 선택의 정확도는 낮아지고 비용은 증가하는 구조다.
ARD(Agentic Resource Discovery, 에이전트 자원 탐색 표준)는 도구 선택 과정을 LLM의 추론 영역 밖으로 완전히 분리하여 외부 레지스트리 기반의 정밀 검색으로 전환한다. 레지스트리(자원 저장소)는 단순히 이름과 설명만 저장하는 것이 아니라 발행자 신원, 대표 쿼리, 컴플라이언스 증명, 태그처럼 풍부한 신호를 함께 인덱싱한다. 에이전트는 REST(Representational State Transfer, 웹 표준 API 구조) 엔드포인트를 통해 이 레지스트리에 접근하며 필요한 기능을 검색한다. 기업 환경에서는 특히 컴플라이언스 증명 같은 신호를 통해 검증된 도구만 호출하도록 제어할 수 있다.
이제 워크플로는 정적인 카탈로그 방식에서 의도 기반 검색으로 바뀐다. 에이전트는 실행 시점에 사용자의 요구사항을 분석해 자연어로 필요한 기능을 찾고 검색 결과로 반환된 최적의 도구를 즉시 호출한다. 이 과정에서 MCP 도구와 A2A(Agent-to-Agent, 에이전트 간 상호작용) 에이전트에 접근할 때 개별 도구를 사전에 설정하거나 설치하는 단계가 사라진다. 개발자는 더 이상 서버 주소를 하드코딩하지 않고 에이전트가 런타임에 스스로 최적의 도구를 찾아 쓰게 만드는 동적 확장 구조를 구현할 수 있다.
실무 적용을 위한 CLI 명령어와 연동 엔드포인트
에이전트에게 새 기능을 추가할 때마다 MCP 서버 주소를 설정 파일에 직접 적거나 플러그인을 하나씩 연결하는 작업은 실무자에게 상당한 피로감을 준다. 도구가 늘어날수록 관리해야 할 엔드포인트 리스트가 길어지고, 환경이 바뀔 때마다 설정을 수정해야 하는 번거로움이 반복되기 때문이다. ARD는 에이전트가 실행 시점에 필요한 기능을 스스로 검색해 찾아 쓰도록 정의한 개방형 표준 사양을 통해 이 문제를 해결한다. 개발자가 도구를 일일이 사전 설정하는 대신 에이전트가 런타임에 최적의 도구를 동적으로 찾아 호출하는 방식으로 워크플로를 전환하여 설정 노동을 줄인다. 이는 설치 후 사용하던 기존의 경직된 모델을 검색 후 사용 모델로 바꾸는 시도다.
허깅페이스는 이 표준을 구현하기 위해 허브의 시맨틱 검색 결과에 `agents=true` 플래그를 적용하는 구조를 채택했다. 에이전트 지향 메타데이터를 기반으로 랭킹을 매긴 검색 결과를 ARD 카탈로그 엔트리로 변환해 제공하는 방식이다. 이를 통해 에이전트는 수천 개의 스킬과 ML 애플리케이션, MCP 서버 중에서 현재 작업에 가장 적합한 도구를 자연어 쿼리로 찾아낼 수 있다. 기존의 설치 우선 모델에서 벗어나 의도 기반 검색으로 도구를 탐색함으로써, 수천 개의 서로 다른 인터페이스를 일일이 연결하지 않고도 필요한 기능을 즉시 확보하는 확장성을 얻었다. 특정 도구의 고유 ID를 기억할 필요 없이 자연어만으로 기능을 호출하는 환경이 가능해진다.
실무자는 허깅페이스 CLI에 내장된 명령어를 통해 이 도구 생태계에 즉시 접근하고 테스트할 수 있다.
hf discover전체 카탈로그는 `https://huggingface.co/.well-known/ai-catalog.json`라는 표준 URL에 게시되어 있다. 이는 웹 표준인 .well-known 경로를 활용해 기계가 읽을 수 있는 메타데이터를 제공하는 방식이다. 또한 REST API를 통해 직접 호출하거나 MCP 클라이언트를 `https://huggingface-hf-discover.hf.space/mcp` 엔드포인트에 연결해 사용할 수 있다. 이는 도구의 발견과 실행을 완전히 분리한 설계로, 어떤 클라이언트든 표준 HTTP REST 통신만 가능하다면 별도의 전용 라이브러리 설치 없이도 외부 기능을 탐색하고 가져올 수 있게 한다. 기존 MCP 클라이언트를 그대로 쓰면서 검색 범위만 확장하는 효과를 준다.
서로 다른 서비스 간의 기능 탐색을 지원하기 위해 ARD는 `auto`, `referrals`, `none` 세 가지 연합 모드(federation modes)를 제공한다. 이 모드들을 통해 한 레지스트리에서 시작한 검색이 다른 서비스에 호스팅된 기능까지 확장되어 나타날 수 있으며, 에이전트는 여러 저장소를 넘나들며 최적의 도구를 조합한다. 향후에는 사용자 및 조직 프로필에 정적인 `ai-catalog.json` 매니페스트 지원이 추가될 예정이다. 이 기능이 도입되면 스페이스 발행자는 표준 well-known URI 메커니즘을 통해 자신의 기능을 외부에 공표하고, 에이전트가 이를 자동으로 인식해 호출하는 완전한 자율 탐색 구조를 갖추게 된다. 기업 조직 차원에서 보유한 도구들을 표준화된 방식으로 외부에 공개하고 관리할 수 있는 기반이 마련되는 셈이다.
에이전트에게 기능을 추가하기 위해 설정 파일에 MCP 서버 URL을 하드코딩하던 방식은 이제 비효율적인 반복 노동이 된다. ARD는 허깅페이스 Hub의 시맨틱 검색에 agents=true 플래그를 결합해 에이전트가 런타임에 필요한 도구를 스스로 찾아 쓰게 만드는 표준이다.
이제 실무자의 판단 기준은 개별 도구를 일일이 사전 설정하는 수고를 덜고, 자연어 검색 기반의 동적 호출 워크플로를 구현할 수 있는가에 있다. 도구의 설치가 아닌 검색으로 기능을 확장하는 구조가 에이전트 운영의 새로운 기본값이 된다.




