এজেন্টিক রিসোর্স ডিসকভারি (ARD) হল এজেন্টিক রিসোর্স ক্যাটালগ করার জন্য একটি স্পেসিফিকেশন। ard.json ম্যানিফেস্ট কোনও ডোমেনে এজেন্টিক রিসোর্স বর্ণনা করে, যেমন
MCP সার্ভার, A2A এজেন্ট এবং এজেন্টের স্কিল, যাতে AI এজেন্ট এবং রেজিস্ট্রি
সেগুলি খুঁজে পেতে পারে।
Lighthouse অডিট কীভাবে কাজ করে
আবিষ্কারের প্রসেস: অডিট ARD স্পেসিফিকেশনে (§৫.১) আবিষ্কারের মেকানিজমের উপর ভিত্তি করে ম্যানিফেস্ট খোঁজে:
robots.txt-এর মধ্যেAgentmap:নির্দেশিকা চেক করা হচ্ছে।<link rel="ard" href="...">ট্যাগের জন্য HTML স্ক্যান করা হচ্ছে।- HTTP
Link: <...>; rel="ard"হেডার রেসপন্স চেক করা হচ্ছে। - পরিচিত এন্ডপয়েন্ট
/.well-known/ard.jsonথেকে ফেচ করা হচ্ছে।
প্রাথমিক ডিসকভারি ব্যর্থ হলে, Lighthouse লিগ্যাসি পাথওয়ে (যেমন
rel="ai-catalog" বা /.well-known/ai-catalog.json) চেক করে। এখানে পাওয়া কন্টেন্ট
এখনও যাচাই করা হলেও, একটি সতর্কতা দেখানো হয় কারণ স্ট্যান্ডার্ড ARD ক্লায়েন্ট
বন্ধ হয়ে যাওয়া রুট সাপোর্ট করতে বাধ্য নয়।
যাচাইকরণের নিয়ম: ARD v0.91 কনফর্মেন্স সুইটের জাভাস্ক্রিপ্ট পোর্ট ব্যবহার করে যাচাইকরণ করা হয়, নিম্নলিখিত মাপকাঠিগুলি পরীক্ষা করা হয়:
কনফর্মেন্স ও যাচাইকরণ সংক্রান্ত সমস্যা:
- সিনট্যাক্স ও স্কিমা: ম্যানিফেস্টটি সঠিক JSON এবং ARD ম্যানিফেস্ট স্কিমার সাথে মেলে এবং প্রতিটি এন্ট্রি ARD এন্ট্রি স্কিমার সাথে মেলে। Lighthouse
কোনও এন্ট্রি পয়েন্টের আর্টিফ্যাক্ট ফেচ বা যাচাই করে না (যেমন,
url-এ MCP সার্ভার কার্ড)। - প্রয়োজনীয় ফিল্ড: ম্যানিফেস্টে একটি
entriesঅ্যারে থাকে এবং প্রতিটি এন্ট্রিতে একটিidentifier,displayNameওtypeথাকে। - ডোমেন-অ্যাঙ্কর করা URN: প্রতিটি
identifierurn:air:<publisher>:<namespace>:<name>ফর্ম্যাট অনুসরণ করে। - লোকেশন সংজ্ঞা: প্রতিটি এন্ট্রি ঠিক একটি
urlবা ইনলাইনdataসংজ্ঞায়িত করে, কখনই দুটি বা কোনটিই নয়। - ট্রাস্ট ম্যানিফেস্ট স্ট্রাকচার: যখন একটি
trustManifestঅন্তর্ভুক্ত করা হয়, তখন এটি একটিidentityপ্রপার্টি সহ অবজেক্ট।
পেশাদার পদ্ধতি সংক্রান্ত সতর্কতা:
- প্রতিনিধিত্বমূলক কোয়েরি: প্রতিটি এন্ট্রিতে ২–৫টি স্যাম্পেল কোয়েরি সহ
একটি
representativeQueriesঅ্যারে থাকে। রেজিস্ট্রি এগুলি থেকে তাদের সার্চ ইন্ডেক্স তৈরি করে, তাই এগুলি ছাড়া কোনও এন্ট্রি সার্চ ফলাফলে দেখা যাবে না। (উপস্থিত থাকলে, এটি অবশ্যই স্ট্রিংয়ের অ্যারে হতে হবে; অন্য কিছু হলে তা ত্রুটি হিসেবে গণ্য হবে।) - মিডিয়ার ধরন:
typeঅবশ্যই সঠিক মিডিয়ার ধরন হতে হবে। Lighthouse বন্ধ হয়ে যাওয়া ধরন (যেমন,application/mcp-server+jsonথেকেapplication/mcp-server-card+json), মিসিং বা অতিরিক্ত প্যারামিটার সহ স্ট্যান্ডার্ড ধরন এবংapplication/*-এর বাইরে থাকা অপরিচিত ধরনের ব্যাপারে সতর্ক করে। কাস্টমapplication/*ধরনের অনুমতি আছে। - Collections: Flags a top-level
collectionsfield. এটি আর ARD-এর অংশ নয় এবং উপেক্ষা করা হয়েছে; পরিবর্তেentries-এর মধ্যে মডেলের ক্রম। - পুরনো এন্ডপয়েন্ট: ম্যানিফেস্ট ফ্ল্যাগ করে যা শুধুমাত্র পুরনো
ai-catalogলোকেশনের মাধ্যমে পাওয়া যায়। - বিজ্ঞাপন দেখানো লোকেশন কাজ করছে না: বিজ্ঞাপন দেখানো লোকেশন (
Agentmap:,rel="ard"বাrel="ai-catalog"লিঙ্ক অথবাLinkহেডার) ফ্ল্যাগ করে যা অন্য কোথাও ম্যানিফেস্ট খুঁজে পাওয়ার সময় লোড করা যায়নি।
প্রয়োজন নেই:
specVersionএবং অন্যান্য অতিরিক্ত টপ-লেভেল ফিল্ড স্কোরের উপর প্রভাব ফেলে না।capabilitiesঐচ্ছিক এবং এতে কোনও স্কোর দেওয়া হয় না। আপনার রিসোর্স যদি নামযুক্ত টুল বা দক্ষতা প্রকাশ করে, তাহলে সেগুলি তালিকাভুক্ত করার কথা বিবেচনা করুন (যেমন,["WeatherTool", "ForecastTool"]) যাতে রেজিস্ট্রিগুলি সম্পূর্ণ আর্টিফ্যাক্ট না এনেই সেগুলিকে ফিল্টার করতে পারে। অন্তর্ভুক্ত করা হলে, এটি অবশ্যই স্ট্রিংয়ের অ্যারে হতে হবে।
ফলাফলের টেবিল পড়া হচ্ছে
ম্যানিফেস্টে সামগ্রিকভাবে কোনও সমস্যা থাকলে, এলিমেন্ট কলামে Root দেখানো হয়। কোনও
এন্ট্রিতে সমস্যা হলে, এটি এন্ট্রির displayName দেখায়, এটি উপলভ্য না থাকলে identifier
দেখায়, অথবা দুটির কোনওটিই উপলভ্য না থাকলে Entry #n দেখায়। একটি স্কিমা সমস্যা দুবার দেখা যেতে পারে, একবার Root-এর অধীনে এবং একবার এন্ট্রির অধীনে, যা অফিসিয়াল কনফর্মেন্স টেস্টের আউটপুটের সাথে মিলে যায়।
আপনার স্কোর বুঝে নিন
অডিট ফলাফল নিম্নলিখিত উপায়ে দেখানো হয়:
- পাস (১): ম্যানিফেস্ট পাওয়া গেছে এবং এতে কোনও সমস্যা বা সতর্কতা নেই।
- আংশিক ক্রেডিট (০.৯): ম্যানিফেস্টটি বৈধ কিন্তু এতে অন্তত একটি সেরা-পদ্ধতি সংক্রান্ত সতর্কতা রয়েছে।
- ব্যর্থ (০): যেকোনও কনফর্মেন্স সংক্রান্ত সমস্যা, যেমন ভুলভাবে তৈরি JSON, স্কিমা
লঙ্ঘন, ভুল URN অথবা
url/data-এর দুটিই বা কোনওটিই নয়। এছাড়াও, ম্যানিফেস্টের বিজ্ঞাপন দেওয়া হলে (robots.txt,rel="ard"বাrel="ai-catalog"লিঙ্ক অথবাLinkহেডারের মাধ্যমে) কিন্তু লোড করা না গেলে অডিট ব্যর্থ হয়। - প্রযোজ্য নয়: কোনও পদ্ধতিতেই ম্যানিফেস্ট খুঁজে পাওয়া যায়নি। এটি আপনার Lighthouse স্কোরে কোনও প্রভাব ফেলে না।
কীভাবে ঠিক করবেন
অডিট পাস করতে, এইসব অ্যাকশনযোগ্য ধাপ অনুসরণ করুন:
/.well-known/ard.json-এ আপনার ম্যানিফেস্ট পরিবেশন করুন অথবাrel=ard-এর সাথে এটি লিঙ্ক করুন। আপনিai-catalog.jsonবাrel=ai-catalogব্যবহার করলে, নতুন নামে পরিবর্তন করুন।- অডিট টেবিলে তালিকাভুক্ত যেকোনও সমস্যার সমাধান করুন যাতে মেনিফেস্ট ARD স্কিমার সাথে মেলে।
- প্রতিটি এন্ট্রিতে একটি
urn:air:...শনাক্তকারী এবং ঠিক একটিurlবাdataদিন। type-এ স্ট্যান্ডার্ড ARD মিডিয়া টাইপ ব্যবহার করুন যেখানে এটি প্রযোজ্য।- পারফেক্ট স্কোর পেতে প্রতিটি এন্ট্রিতে ২ থেকে ৫টি
representativeQueriesযোগ করুন।