Agentic Resource Discovery (ARD) הוא מפרט ליצירת קטלוג של משאבים לסוכנים. המניפסט ard.json מתאר משאבים של סוכנים בדומיין, כמו שרתי MCP, סוכני A2A ומיומנויות של סוכנים, כדי שסוכני AI ומרשמים יוכלו למצוא אותם.
איך פועלת הביקורת של Lighthouse
תהליך הגילוי: הבדיקה מחפשת את המניפסט על סמך מנגנוני הגילוי במפרט ה-ARD (סעיף 5.1):
- בודקים אם יש הוראת
Agentmap:בתוךrobots.txt. - מתבצעת סריקה של HTML לאיתור תגי
<link rel="ard" href="...">. - מתבצעת בדיקה של תגובת כותרת HTTP
Link: <...>; rel="ard". - מתבצעת שליפה מנקודת הקצה המוכרת
/.well-known/ard.json.
אם הגילוי הראשי נכשל, Lighthouse בודק נתיבים מדור קודם (כמו rel="ai-catalog" או /.well-known/ai-catalog.json). למרות שהתוכן שנמצא כאן עדיין מאומת, מוצגת אזהרה כי לקוחות ARD רגילים לא מחויבים לתמוך בנתיבים שהוצאו משימוש.
כללי אימות: האימות מתבצע באמצעות יציאת JavaScript של חבילת הכלים לבדיקת תאימות ARD v0.91, ובודק את הקריטריונים הבאים:
שגיאות תאימות ואימות:
- תחביר וסכימה: המניפסט הוא קובץ JSON תקין שתואם לסכימת המניפסט של ARD, וכל רשומה תואמת לסכימת הרשומה של ARD. Lighthouse לא מאחזר או מאמת את פריט המידע שאליו מצביע הרשומה (לדוגמה, כרטיס שרת ה-MCP בכתובת
url). - שדות חובה: המניפסט מכיל מערך
entries, וכל רשומה מכילהidentifier,displayNameו-type. - URNs עם עוגן לדומיין: כל
identifierהוא בפורמטurn:air:<publisher>:<namespace>:<name>. - הגדרת מיקום: כל רשומה מגדירה בדיוק אחד מהשניים:
urlאוdataמוטבע, אף פעם לא את שניהם או אף אחד מהם. - מבנה מניפסט האמון: כשנכלל
trustManifest, הוא אובייקט עם מאפייןidentity.
אזהרות לגבי שיטות מומלצות:
- שאילתות מייצגות: לכל רשומה יש מערך
representativeQueriesעם 2 עד 5 שאילתות לדוגמה. המרשמים בונים את אינדקס החיפוש שלהם על סמך השדות האלה, ולכן רשומה בלעדיהם לא תופיע בתוצאות החיפוש. (אם הוא קיים, הוא חייב להיות מערך של מחרוזות. כל דבר אחר הוא שגיאה). - סוג מדיה:
typeחייב להיות סוג מדיה תקין. Lighthouse מציג אזהרות לגבי סוגים שהוצאו משימוש (לדוגמה,application/mcp-server+jsonעדapplication/mcp-server-card+json), סוגים סטנדרטיים עם פרמטרים חסרים או נוספים וסוגים לא מזוהים מחוץ ל-application/*. אפשר להשתמש בסוגיapplication/*בהתאמה אישית. - אוספים: מסמן שדה
collectionsברמה העליונה. הוא כבר לא חלק מ-ARD והמערכת מתעלמת ממנו. במקום זאת, היררכיות של מודלים בתוךentries. - נקודות קצה (endpoints) מדור קודם: מסמן מניפסטים שנמצאים רק במיקומים של
ai-catalogמדור קודם. - מיקומים מפורסמים לא תקינים: מסמן כל מיקום מפורסם (קישור
Agentmap:,rel="ard"אוrel="ai-catalog", או כותרתLink) שלא ניתן היה לטעון כשהמניפסט נמצא במקום אחר.
לא נדרש:
specVersionושדות נוספים ברמה העליונה לא משפיעים על הציון.-
capabilitiesהן אופציונליות ולא מקבלים עליהן ציון. אם המשאב שלכם חושף כלים או מיומנויות עם שמות, כדאי לפרט אותם (לדוגמה,["WeatherTool", "ForecastTool"]) כדי שמאגרי מידע יוכלו לסנן אותם בלי לאחזר את פריט המידע המלא. אם הוא כלול, הוא חייב להיות מערך של מחרוזות.
קריאת טבלת התוצאות
בעמודה "רכיב" מוצג הערך Root אם יש בעיות במניפסט כולו. אם יש בעיות ברשומה, מוצג ה-displayName של הרשומה, או ה-identifier אם הוא לא זמין, או ה-Entry #n אם אף אחד מהם לא זמין. בעיה אחת בסכימה יכולה להופיע פעמיים, פעם אחת בקטע Root ופעם אחת ברשומה, בהתאם לפלט של בדיקת התאימות הרשמית.
הסבר על הציון
תוצאות הביקורת מוצגות בדרכים הבאות:
- עבר (1): המניפסט נמצא ואין בו שגיאות או אזהרות.
- קרדיט חלקי (0.9): המניפסט תקין אבל יש לפחות אזהרה אחת לגבי שיטות מומלצות.
- נכשל (0): כל שגיאת תאימות, כמו קובץ 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. - אם רלוונטי, צריך להשתמש בסוג מדיה סטנדרטי של ARD במאפיין
type. - כדי לקבל ציון מושלם, צריך להוסיף 2 עד 5
representativeQueriesלכל רשומה.