Agentic Resource Discovery (ARD), एजेंटिक रिसॉर्स को कैटलॉग करने के लिए एक स्पेसिफ़िकेशन है. ard.json मेनिफ़ेस्ट में, किसी डोमेन पर मौजूद एजेंटिक संसाधनों के बारे में बताया जाता है. जैसे, एमसीपी सर्वर, एटूए एजेंट, और एजेंट की स्किल. इससे एआई एजेंट और रजिस्ट्री उन्हें ढूंढ पाती हैं.
Lighthouse ऑडिट कैसे काम करता है
खोजने की प्रोसेस: ऑडिट में, एआरडी के नियमों (§5.1) में बताए गए खोजने के तरीकों के आधार पर मेनिफ़ेस्ट को खोजा जाता है:
robots.txtमेंAgentmap:डायरेक्टिव की जांच की जा रही है.<link rel="ard" href="...">टैग के लिए, एचटीएमएल को स्कैन किया जा रहा है.- एचटीटीपी
Link: <...>; rel="ard"हेडर रिस्पॉन्स की जांच की जा रही है. /.well-known/ard.jsonएंडपॉइंट से फ़ेच किया जा रहा है.
अगर मुख्य तरीके से खोज नहीं हो पाती है, तो Lighthouse लेगसी पाथवे (जैसे, rel="ai-catalog" या /.well-known/ai-catalog.json) की जांच करता है. यहां मिलने वाले कॉन्टेंट की पुष्टि अब भी की जाती है. हालांकि, चेतावनी दी जाती है, क्योंकि स्टैंडर्ड एआरडी क्लाइंट के लिए, अब काम न करने वाले रूट के साथ काम करना ज़रूरी नहीं है.
पुष्टि करने के नियम: पुष्टि करने के लिए, ARD v0.91 कन्फ़ॉर्मेंस सुइट के JavaScript पोर्ट का इस्तेमाल किया जाता है. इसमें इन शर्तों की जांच की जाती है:
अनुपालन और पुष्टि से जुड़ी गड़बड़ियां:
- सिंटैक्स और स्कीमा: मेनिफ़ेस्ट, मान्य JSON है और एआरडी मेनिफ़ेस्ट स्कीमा से मैच करता है. साथ ही, हर एंट्री, एआरडी एंट्री स्कीमा से मैच करती है. Lighthouse, किसी एंट्री पॉइंट के आर्टफ़ैक्ट को फ़ेच या उसकी पुष्टि नहीं करता. उदाहरण के लिए,
urlपर मौजूद एमसीपी सर्वर कार्ड. - ज़रूरी फ़ील्ड: मेनिफ़ेस्ट में एक
entriesकलेक्शन होता है. साथ ही, हर एंट्री मेंidentifier,displayName, औरtypeशामिल होता है. - डोमेन-ऐंकर किए गए यूआरएन: हर
identifier,urn:air:<publisher>:<namespace>:<name>फ़ॉर्मैट का पालन करता है. - जगह की जानकारी: हर एंट्री में,
urlया इनलाइनdataमें से किसी एक की जानकारी दी जाती है. दोनों की जानकारी कभी नहीं दी जाती. - ट्रस्ट मेनिफ़ेस्ट का स्ट्रक्चर: जब
trustManifestको शामिल किया जाता है, तो यहidentityप्रॉपर्टी वाला एक ऑब्जेक्ट होता है.
सबसे सही तरीके से जुड़ी चेतावनियां:
- Representative queries: हर एंट्री में दो से पांच सैंपल क्वेरी के साथ एक
representativeQueriesकलेक्शन होता है. रजिस्ट्री, इनसे अपना Search इंडेक्स बनाती हैं. इसलिए, इनके बिना कोई एंट्री, खोज के नतीजों में नहीं दिखेगी. (अगर यह मौजूद है, तो यह स्ट्रिंग का कलेक्शन होना चाहिए. इसके अलावा, कुछ और होने पर गड़बड़ी का मैसेज दिखेगा.) - मीडिया टाइप:
typeसही फ़ॉर्मैट में होना चाहिए. Lighthouse, बंद किए जा चुके टाइप (उदाहरण के लिए,application/mcp-server+jsonसेapplication/mcp-server-card+json), ऐसे स्टैंडर्ड टाइप जिनमें पैरामीटर मौजूद नहीं हैं या अतिरिक्त पैरामीटर हैं, औरapplication/*के बाहर मौजूद ऐसे टाइप जिनके बारे में जानकारी नहीं है उनके बारे में चेतावनी देता है. कस्टमapplication/*टाइप इस्तेमाल किए जा सकते हैं. - कलेक्शन: यह टॉप-लेवल
collectionsफ़ील्ड को फ़्लैग करता है. यह अब एआरडी का हिस्सा नहीं है और इसे अनदेखा कर दिया गया है. इसके बजाय,entriesमें मॉडल की हैरारकी मौजूद है. - लेगसी एंडपॉइंट: यह उन फ़्लैग मेनिफ़ेस्ट को फ़्लैग करता है जो सिर्फ़ लेगसी
ai-catalogजगहों पर मिलते हैं. - विज्ञापन में मौजूद ऐसी जगहें जो काम नहीं कर रही हैं: विज्ञापन में मौजूद ऐसी किसी भी जगह (
Agentmap:,rel="ard"याrel="ai-catalog"लिंक याLinkहेडर) को फ़्लैग करता है जिसे मेनिफ़ेस्ट के कहीं और मिलने पर लोड नहीं किया जा सका.
ज़रूरी नहीं है:
specVersionऔर अन्य अतिरिक्त टॉप-लेवल फ़ील्ड से स्कोर पर कोई असर नहीं पड़ता.capabilitiesको भरना ज़रूरी नहीं है और इसके लिए कोई स्कोर नहीं दिया जाता. अगर आपके संसाधन में टूल या स्किल के नाम शामिल हैं, तो उन्हें सूची में शामिल करें. उदाहरण के लिए,["WeatherTool", "ForecastTool"]. इससे रजिस्ट्री, पूरे आर्टफ़ैक्ट को फ़ेच किए बिना ही उन्हें फ़िल्टर कर सकती हैं. अगर इसे शामिल किया जाता है, तो यह स्ट्रिंग का कलेक्शन होना चाहिए.
नतीजों की टेबल को पढ़ना
एलिमेंट कॉलम में, मेनिफ़ेस्ट से जुड़ी समस्याओं के लिए Root दिखता है. किसी एंट्री में समस्या होने पर, यह एंट्री का displayName दिखाता है. अगर यह उपलब्ध नहीं है, तो identifier दिखाता है. अगर दोनों उपलब्ध नहीं हैं, तो Entry #n दिखाता है. स्कीमा से जुड़ी कोई समस्या दो बार दिख सकती है. एक बार Root में और एक बार एंट्री में. यह समस्या, आधिकारिक तौर पर किए जाने वाले कंफ़ॉर्मेंस टेस्ट के आउटपुट से मैच करती है.
अपने स्कोर को समझना
ऑडिट के नतीजे इन तरीकों से दिखते हैं:
- पास (1): मेनिफ़ेस्ट मिल गया है. इसमें कोई गड़बड़ी या चेतावनी नहीं है.
- कुछ क्रेडिट (0.9): मेनिफ़ेस्ट मान्य है, लेकिन इसमें सबसे सही तरीके से जुड़ी कम से कम एक चेतावनी है.
- फ़ेल (0): नियमों का पालन न करने से जुड़ी कोई भी गड़बड़ी. जैसे, गलत फ़ॉर्मैट वाला JSON, स्कीमा का उल्लंघन, अमान्य यूआरएन या
url/dataमें से दोनों या कोई भी नहीं. अगर मेनिफ़ेस्ट का विज्ञापन (robots.txt,rel="ard"याrel="ai-catalog"लिंक याLinkहेडर के ज़रिए) दिखाया गया था, लेकिन उसे लोड नहीं किया जा सका, तो भी ऑडिट फ़ेल हो जाता है. - लागू नहीं: किसी भी तरीके से मेनिफ़ेस्ट नहीं मिला. इससे आपके Lighthouse स्कोर पर कोई असर नहीं पड़ता.
कैसे ठीक करें
ऑडिट पास करने के लिए, ये काम करें:
- अपने मेनिफ़ेस्ट को
/.well-known/ard.jsonपर दिखाएं याrel=ardकी मदद से इसे लिंक करें. अगरai-catalog.jsonयाrel=ai-catalogका इस्तेमाल किया जा रहा है, तो नए नामों पर स्विच करें. - ऑडिट टेबल में मौजूद सभी गड़बड़ियों को ठीक करें, ताकि मेनिफ़ेस्ट, एआरडी स्कीमा से मैच हो सके.
- हर एंट्री को एक
urn:air:...आइडेंटिफ़ायर दें. साथ ही,urlयाdataमें से कोई एक दें. - जहां लागू हो वहां
typeमें स्टैंडर्ड एआरडी मीडिया टाइप का इस्तेमाल करें. - परफ़ेक्ट स्कोर पाने के लिए, हर एंट्री में दो से पांच
representativeQueriesजोड़ें.