كيفية جعل موقع الويب جاهزاً للوكلاء
نُشر:
«الجاهزية للوكلاء» تعني ثلاثة أشياء مختلفة لثلاثة أنواع مختلفة من وكلاء الذكاء الاصطناعي — وهي تتراكم فوق بعضها. إليك بالضبط كيف جعلنا هذا المدقق جاهزاً للوكلاء، مع الكود الذي أرسلناه، حتى تتمكن من نسخ النمط.
ثمة ثلاث طبقات مستقلة. اعتمد أيًّا منها بمفردها؛ وإذا اجتمعت، فإنها تغطي زاحفاً يقرأ موقعك، ووكيلاً يقود واجهتك في المتصفح، ووكيلاً آخر يستدعيك عبر الشبكة.
الطبقة الأولى — llms.txt: سياق للزواحف
الأساس. ملف llms.txt نصي عادي في جذر موقعك يخبر زاحف الذكاء الاصطناعي بماهية موقعك والصفحات الأكثر أهمية، مرتبةً حسب الأولوية. يُقرأ عند جلب الصفحة — دون JavaScript، ودون بروتوكول. ابدأ من هنا: كيفية إنشاء ملف llms.txt.
الطبقة الثانية — WebMCP: أدوات لوكلاء المتصفح
يتيح WebMCP لصفحة ما كشف أدوات قابلة للاستدعاء لوكيل ذكاء اصطناعي يعمل داخل المتصفح، فيستدعي الوكيل إجراءً محدد النوع بدلاً من التخمين في نموذجك. ثمة طريقتان، ونحن نوظّف كلتيهما.
التعريفية — ضع تعليقات توضيحية على نموذج حقيقي ويُنشئ المتصفح أداةً منه تلقائياً:
<form toolname="open_llms_txt_report"
tooldescription="Validate a site's llms.txt and open its report.">
<input name="url" toolparamdescription="Domain or URL to validate">
</form>
الإجرائية — سجِّل أداةً في JavaScript تُعيد بيانات منظمة مباشرةً:
navigator.modelContext?.registerTool({
name: "validate_llms_txt",
description: "Validate a website's llms.txt; returns a 0-100 score and findings.",
inputSchema: { type: "object", properties: { url: { type: "string" } }, required: ["url"] },
execute: (input) => fetch("/api/validate?url=" + encodeURIComponent(input.url))
.then(r => r.json())
.then(data => ({ content: [{ type: "text", text: JSON.stringify(data) }] }))
});
احمِ الاستدعاء الإجرائي خلف if (navigator.modelContext) حتى يكون عديم الأثر حيث تغيب WebMCP. إنها تجربة أصل Chrome اليوم، لذا نطاق الوصول الفعلي محدود — عاملها كإشارة مستقبلية، لا كمصدر زيارات.
الطبقة الثالثة — A2A: وكيل قابل للاستدعاء من وكلاء آخرين
يتيح بروتوكول Agent2Agent (A2A) للوكلاء الآخرين اكتشاف واستدعاء خدمتك. تنشر بطاقة وكيل وتدعمها بنقطة نهاية JSON-RPC:
// GET /.well-known/agent-card.json
{
"name": "llms.txt Validator",
"url": "https://llms-txt-validator.dev/a2a",
"skills": [{ "id": "validate_llms_txt", "name": "Validate llms.txt" }]
}
يجب أن تشير url إلى نقطة نهاية تعمل وتتحدث A2A — نحن ننفذ طريقة message/send المتزامنة، مُغلِّفين نفس منطق التحقق كمهارة. البطاقة عقدٌ، لا وسم meta.
القاعدة الوحيدة: لا تنشر إشارة لا تستطيع دعمها
قد يبدو مغرياً وضع بطاقة وكيل فارغة أو تعليقات نماذج وهمية لإنجاح تدقيق ما. لا تفعل ذلك. الوكيل الذي يجلب بطاقتك ويستدعي نقطة نهاية ميتة — أو يستدعي أداةً لا تفعل شيئاً — يمنحك ثقةً أقل بعد ذلك. كل إشارة هنا يجب أن تُحيل إلى شيء حقيقي. لهذا السبب يُبلّغ هذا المدقق عن إشارة WebMCP أو A2A بوصفها «موجودة» فقط حين يدعمها تطبيقٌ فعليٌّ يعمل.
كيفية التحقق من كل طبقة
- llms.txt — الصق نطاقك في المدقق؛ استهدف 100/100 دون روابط معطوبة.
- WebMCP — في Chrome 149+، فعّل
chrome://flags/#enable-webmcp-testingوشغّل تدقيق Agentic Browsing في Lighthouse؛ يجب أن تظهر أدواتك. - A2A — اجلب
/.well-known/agent-card.json، ثم أرسل طلب POST بنداءmessage/sendإلىurlالخاصة به وتأكد من استلام مهمة مكتملة.