Agentic Resource Discovery (ARD) to specyfikacja katalogowania zasobów agentowych. Plik manifestu ard.json opisuje zasoby agentowe w domenie, takie jak serwery MCP, agenty A2A i umiejętności agentów, dzięki czemu agenty AI i rejestry mogą je znaleźć.
Jak działa kontrola Lighthouse
Proces wykrywania: audyt wyszukuje plik manifestu na podstawie mechanizmów wykrywania opisanych w specyfikacji ARD (§5.1):
- Sprawdzam, czy w pliku
robots.txtznajduje się dyrektywaAgentmap:. - Skanuję kod HTML w poszukiwaniu tagów
<link rel="ard" href="...">. - Sprawdzanie odpowiedzi nagłówka HTTP
Link: <...>; rel="ard". - Pobieram z dobrze znanego punktu końcowego
/.well-known/ard.json.
Jeśli podstawowe wykrywanie się nie powiedzie, Lighthouse sprawdza starsze ścieżki (takie jak rel="ai-catalog" lub /.well-known/ai-catalog.json). Treści znalezione w tych miejscach są nadal sprawdzane, ale pojawia się ostrzeżenie, ponieważ standardowi klienci ARD nie muszą obsługiwać wycofanych ścieżek.
Reguły weryfikacji: weryfikacja jest przeprowadzana za pomocą JavaScriptu pakietu zgodności ARD w wersji 0.91, który sprawdza te kryteria:
Błędy zgodności i walidacji:
- Składnia i schemat: plik manifestu jest prawidłowym plikiem JSON i jest zgodny ze schematem pliku manifestu ARD, a każdy wpis jest zgodny ze schematem wpisu ARD. Lighthouse nie pobiera ani nie weryfikuje artefaktu, do którego prowadzi wpis (np. karty serwera MCP pod adresem
url). - Wymagane pola: plik manifestu zawiera tablicę
entries, a każdy wpis zawiera polaidentifier,displayNameitype. - Nazwy URN powiązane z domeną: każda nazwa
identifierma formaturn:air:<publisher>:<namespace>:<name>. - Definicja lokalizacji: każdy wpis definiuje dokładnie 1 element
urllub wbudowany elementdata, nigdy oba ani żaden z nich. - Struktura pliku manifestu zaufania: gdy uwzględniony jest element
trustManifest, jest to obiekt z właściwościąidentity.
Ostrzeżenia dotyczące sprawdzonych metod:
- Reprezentatywne zapytania: każdy wpis zawiera tablicę
representativeQueriesz 2–5 przykładowymi zapytaniami. Rejestry tworzą na ich podstawie indeks wyszukiwania, więc wpis bez nich nie pojawi się w wynikach wyszukiwania. (Jeśli jest obecny, musi być tablicą ciągów znaków. Każda inna wartość jest błędem). - Typ multimediów:
typemusi być prawidłowo sformatowanym typem multimediów. Lighthouse ostrzega o wycofanych typach (np.application/mcp-server+jsondoapplication/mcp-server-card+json), typach standardowych z brakującymi lub dodatkowymi parametrami oraz nierozpoznanych typach pozaapplication/*. Dozwolone są niestandardowe typyapplication/*. - Kolekcje: oznacza pole
collectionsnajwyższego poziomu. Nie jest już częścią ARD i jest ignorowany. Zamiast tego hierarchie modeli znajdują się wewnątrzentries. - Starsze punkty końcowe: oznacza pliki manifestu, które można znaleźć tylko w starszych lokalizacjach
ai-catalog. - Uszkodzone lokalizacje reklamowane: oznacza każdą reklamowaną lokalizację (link
Agentmap:,rel="ard"lubrel="ai-catalog"albo nagłówekLink), której nie udało się wczytać, gdy plik manifestu został znaleziony w innym miejscu.
Niewymagane:
specVersioni inne dodatkowe pola najwyższego poziomu nie mają wpływu na wynik.- Pytania oznaczone jako
capabilitiessą opcjonalne i nie są oceniane. Jeśli zasób udostępnia nazwane narzędzia lub umiejętności, rozważ ich wymienienie (np.["WeatherTool", "ForecastTool"]), aby rejestry mogły je filtrować bez pobierania pełnego artefaktu. Jeśli jest uwzględniona, musi być tablicą ciągów znaków.
Interpretowanie tabeli wyników
W kolumnie Element wyświetla się Root w przypadku problemów z całym plikiem manifestu. W przypadku problemów z wpisem wyświetla się displayName wpisu, a jeśli nie jest dostępny, to identifier lub Entry #n. Pojedynczy problem ze schematem może pojawić się dwukrotnie – raz w sekcji Root i raz we wpisie, co odpowiada wynikom oficjalnego testu zgodności.
Interpretowanie wyniku
Wyniki kontroli są wyświetlane w następujący sposób:
- Zaliczone (1): znaleziono plik manifestu i nie zawiera on błędów ani ostrzeżeń.
- Częściowe zaliczenie (0,9): plik manifestu jest prawidłowy, ale zawiera co najmniej 1 ostrzeżenie dotyczące sprawdzonych metod.
- Niepowodzenie (0): dowolny błąd zgodności, taki jak nieprawidłowy format JSON, naruszenie schematu, nieprawidłowy identyfikator URN, brak obu lub żadnego z pól
url/data. Kontrola nie powiedzie się też, jeśli manifest został zareklamowany (za pomocąrobots.txt, linkurel="ard"lubrel="ai-catalog"albo nagłówkaLink), ale nie udało się go wczytać. - Nie dotyczy: nie znaleziono pliku manifestu żadną metodą. Nie ma to wpływu na wynik Lighthouse.
Sposób naprawienia
Aby przejść kontrolę, wykonaj te czynności:
- Udostępnij plik manifestu w
/.well-known/ard.jsonlub połącz go zrel=ard. Jeśli używaszai-catalog.jsonlubrel=ai-catalog, przejdź na nowe nazwy. - Popraw błędy wymienione w tabeli kontrolnej, aby plik manifestu był zgodny ze schematem ARD.
- Każdy wpis musi mieć identyfikator
urn:air:...oraz dokładnie 1 identyfikatorurllubdata. - W polu
typeużywaj standardowego typu multimediów ARD, jeśli jest on dostępny. - Aby uzyskać idealny wynik, dodaj od 2 do 5
representativeQueriesdo każdego wpisu.