Co to jest ARD?

Autor: Opublikowano Zaktualizowano

ARD (Agentic Resource Discovery) to otwarta specyfikacja opisywania i wyszukiwania zasobów, z których mogą korzystać agenci AI. Pomaga aplikacji znaleźć narzędzie, serwer MCP, innego agenta albo zestaw instrukcji pasujący do zadania użytkownika. Łączy publikowane przez właścicieli opisy zasobów z rejestrami, które je indeksują i udostępniają wyszukiwanie. Podstawą tego artykułu jest specyfikacja ARD .

Jaki problem rozwiązuje ARD?

Załóżmy, że prosisz asystenta: „Znajdź krótką domenę dla sklepu rowerowego”. Do wykonania zadania potrzebuje on dostępu do katalogu domen oraz wiedzy, jak go przeszukać. W małej aplikacji programista może wcześniej podłączyć odpowiednie narzędzie. Przy tysiącach dostępnych usług ręczne konfigurowanie każdej integracji i umieszczanie wszystkich opisów w kontekście modelu staje się trudne.

ARD proponuje wyszukiwanie zasobów według potrzeby. Aplikacja wysyła zapytanie do rejestru, otrzymuje pasujące opisy i wybiera, z czego skorzystać. Do kontekstu modelu mogą wówczas trafić informacje o wybranych zasobach, zamiast całego katalogu.

To mechanizm odkrywania możliwości. Po znalezieniu zasobu aplikacja musi jeszcze obsłużyć właściwy sposób komunikacji oraz wymagane uprawnienia. Specyfikacja oddziela wyszukiwanie od późniejszego użycia narzędzia. Założenia projektowe ARD

Jak działa ARD krok po kroku?

W procesie uczestniczą wydawca zasobu, rejestr oraz aplikacja korzystająca z agenta AI.

  1. Wydawca opisuje zasób. Podaje jego nazwę, identyfikator, typ i dokument opisujący możliwości lub instrukcje użycia.
  2. Opis staje się dostępny w internecie. Podstawową lokalizacją manifestu jest /.well-known/ard.json. Specyfikacja przewiduje też m.in. osadzone dane JSON-LD, odnośnik HTML rel="ard", dyrektywę Agentmap w robots.txt i rekordy DNS.
  3. Rejestr pobiera i indeksuje wpisy. Wykorzystuje ich dane do wyszukiwania odpowiednich zasobów.
  4. Aplikacja opisuje potrzebę. Wysyła do rejestru zapytanie w języku naturalnym, opcjonalnie z filtrami.
  5. Aplikacja wybiera wynik i odczytuje opis zasobu. Następnie może użyć go zgodnie z właściwym protokołem i własnymi zasadami dostępu.

Opublikowanie manifestu jest więc czymś innym niż prowadzenie rejestru. Właściciel strony może udostępnić statyczny plik, bez uruchamiania własnej usługi wyszukiwania. Obowiązek udostępnienia interfejsu wyszukiwania REST dotyczy rejestrów. Odkrywanie i indeksowanie zasobów

Co zawiera wpis ARD?

Wpis jest opisem zasobu w modelu JSON-LD. Manifest ard.json grupuje takie wpisy w tablicy entries. Najważniejsze pola to:

PoleZnaczenieWymaganie
identifierUnikalny identyfikator w postaci urn:air:<publisher>:<namespace>:<agent-name>Obowiązkowe
displayNameCzytelna nazwa zasobuObowiązkowe
typeTyp opisywanego dokumentu, zapisany jako typ mediówObowiązkowe
url albo dataAdres dokumentu albo jego treść umieszczona we wpisieDokładnie jedno z tych pól
representativeQueriesPrzykładowe pytania lub polecenia, na które zasób odpowiadaZalecane 2–5 przykładów
capabilitiesKrótkie oznaczenia funkcji, przydatne do filtrowaniaOpcjonalne

Pole url prowadzi do opisywanego dokumentu, np. karty serwera lub pliku instrukcji. Nie trzeba utożsamiać go z adresem, pod który wysyła się polecenie wykonania zadania. Identyfikator urn:air:… pozwala natomiast odróżnić tożsamość zasobu od miejsca przechowywania jego opisu.

Szczególną rolę odgrywa representativeQueries: rejestr wykorzystuje przykładowe zapytania do indeksowania semantycznego. Brak tego pola może pozostawić wpis poprawny strukturalnie, ale pozbawić go podstawy do odnalezienia przez takie wyszukiwanie. Narzędzie sprawdzające zgodność zgłasza wówczas ostrzeżenie, a nie błąd schematu. Model wpisu i wymagania dotyczące pól

Jak aplikacja wyszukuje narzędzie?

Rejestr udostępnia endpoint POST /search. Przykładowe ciało żądania dla wyszukiwarki domen mogłoby wyglądać tak:

{
  "query": {
    "text": "znajdź domenę na sprzedaż dla sklepu rowerowego",
    "filter": {
      "capabilities": ["searchDomainCatalog"]
    }
  },
  "federation": "none",
  "pageSize": 5
}

To przykład zapytania do rejestru, który zaindeksował odpowiedni zasób. query.text opisuje potrzebę, a filtr ogranicza wyniki do wpisów deklarujących wskazaną funkcję. pageSize ogranicza liczbę wyników na stronie.

Rejestry mogą także współpracować. Parametr federation przyjmuje trzy wartości: none oznacza wyszukiwanie we własnym indeksie, auto pozwala rejestrowi odpytać inne rejestry i połączyć wyniki, a referrals zwraca również wskazania rejestrów, które klient może przeszukać sam. Domyślnym trybem jest auto. Interfejs wyszukiwania i federacja rejestrów

Jak ARD łączy się z MCP i agent skills?

Te rozwiązania pełnią różne role w jednym procesie:

ElementRola
ARDPomaga znaleźć zasób odpowiadający na potrzebę
MCPZapewnia sposób komunikacji aplikacji AI z udostępnionymi narzędziami i danymi
A2ASłuży komunikacji między agentami
Agent skillsDostarczają instrukcje i materiały potrzebne do określonego zadania

ARD może opisywać zasoby reprezentowane przez różne formaty. Znalezienie wpisu serwera MCP nie oznacza automatycznego połączenia z tym serwerem. Aplikacja musi obsługiwać odpowiednią integrację. Typy zasobów i rozdzielenie funkcji

Przykład z Domeny.ForSale

W tym serwisie dostępny jest manifest ARD . Zawiera opis umiejętności wyszukiwania katalogu domen i artykułów. Pole url wskazuje instrukcję użycia wyszukiwarki , a representativeQueries obejmuje m.in. poszukiwanie domeny dla sklepu internetowego.

Dzięki takiemu opisowi klient obsługujący ARD może dowiedzieć się, że serwis udostępnia przydatny zasób i gdzie znaleźć instrukcję jego wykorzystania. Sam plik nie wykonuje wyszukiwania i nie dowodzi, że konkretny asystent już zaindeksował stronę.

Czy znalezionemu zasobowi można zaufać?

Dopasowanie do zapytania i wiarygodność to osobne kwestie. Zwracany przez rejestr score w skali 0–100 określa trafność semantyczną. Nie stanowi oceny bezpieczeństwa, certyfikatu ani potwierdzenia uprawnień.

Specyfikacja przewiduje opcjonalne pole trustManifest, pozwalające przekazać informacje służące weryfikacji tożsamości i pochodzenia. Gdy występuje, deklarowana tożsamość musi być powiązana z domeną wydawcy zapisaną w identyfikatorze. ARD nie definiuje własnej uniwersalnej procedury podpisywania; weryfikacja zależy od wskazanego systemu zaufania. Tożsamość i zaufanie w ARD

Na dzień aktualizacji artykułu dokument opisuje wersję 0.91 ze statusem „Proposal”. Wdrożenie warto opierać na aktualnej specyfikacji i możliwościach konkretnego klienta. Dotyczy to również starszej nazwy manifestu ai-catalog.json, którą obecna wersja zastępuje ścieżką ard.json.

Zobacz też: Co to jest ai-catalog.json? · Co to jest MCP? · Co to są agent skills?

Przeczytaj także

Dowiedz się, jak PHP-FPM obsługuje żądania PHP, czym różni się od serwera WWW i jak dobrać ustawienia procesów do ruchu oraz zasobów hostingu.
Poznaj BIND, otwarte oprogramowanie serwera DNS: sprawdź, jak obsługuje domeny, czym różnią się jego role i kiedy warto samodzielnie go wdrożyć.
Poznaj najważniejsze Security Headers, ich rolę w ochronie strony oraz sposób sprawdzania i wdrażania nagłówków bez blokowania potrzebnych funkcji.