ard.json

এজেন্টিক রিসোর্স ডিসকভারি (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: প্রতিটি identifier urn: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 collections field. এটি আর 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 স্কোরে কোনও প্রভাব ফেলে না।

কীভাবে ঠিক করবেন

অডিট পাস করতে, এইসব অ্যাকশনযোগ্য ধাপ অনুসরণ করুন:

  1. /.well-known/ard.json-এ আপনার ম্যানিফেস্ট পরিবেশন করুন অথবা rel=ard-এর সাথে এটি লিঙ্ক করুন। আপনি ai-catalog.json বা rel=ai-catalog ব্যবহার করলে, নতুন নামে পরিবর্তন করুন।
  2. অডিট টেবিলে তালিকাভুক্ত যেকোনও সমস্যার সমাধান করুন যাতে মেনিফেস্ট ARD স্কিমার সাথে মেলে।
  3. প্রতিটি এন্ট্রিতে একটি urn:air:... শনাক্তকারী এবং ঠিক একটি url বা data দিন।
  4. type-এ স্ট্যান্ডার্ড ARD মিডিয়া টাইপ ব্যবহার করুন যেখানে এটি প্রযোজ্য।
  5. পারফেক্ট স্কোর পেতে প্রতিটি এন্ট্রিতে ২ থেকে ৫টি representativeQueries যোগ করুন।