تخطي إلى المحتوى

MCP ووكلاء الذكاء الاصطناعي

هذه الصفحة مترجمة من الإنجليزية. اقرأ الصفحة الإنجليزية

صُمم Zeyn للوكلاء من جهتين: وكلاء يكتبون تطبيقات Zeyn، ووكلاء يستخدمون تطبيقاً قيد التشغيل نيابةً عن مستخدم.

الوكلاء الذين يكتبون التطبيقات

يحمل المشروع الذي يعمل فيه الوكيل قواعده وأدواته:

  • يسرد AGENTS.md وCLAUDE.md الأوامر وبنية المشروع وقواعد اللغة وفهرساً للإطار.
  • يسجّل .mcp.json الأمر zeyn mcp، وهو خادم MCP عبر stdio بهذه الأدوات:
الأداةما تفعله
zeyn_docsمرجع الإطار حسب الموضوع: rules وlanguage وprotocol
zeyn_describeميزات التطبيق وشاشاته ومساراته وصلاحيات الوصول وواجهات API والمشكلات والترجمات الناقصة
zeyn_checkيصرّف الشيفرة ويبلّغ عن المشكلات؛ وfix: true يعيد أولاً كتابة واجهات API التي تغيّرت أسماؤها
zeyn_testيشغّل cargo test ويعيد نهاية المخرجات
zeyn_new_featureينشئ مجلد ميزة ويسجّلها

المترجم هو الحارس الرئيسي. لكل قاعدة يستطيع فرضها اختبار compile_fail ورسالة #[diagnostic::on_unimplemented] مكتوبة ليتصرف الوكيل بناءً عليها، مثل:

error[E0277]: `min()` and `max()` cannot be used on a `bool` column
  = note: `min()` and `max()` work on i32, i64, Money, Date, Time, DateTime, LocalDateTime and their Option forms

يطبع ZEYN_DESCRIBE=1 cargo run الوصف نفسه الذي تعيده zeyn_describe ثم ينتهي.

الوكلاء الذين يستخدمون تطبيقاً

App::new(t!("app.name")).mcp(Mcp::read_only())

مع agents تصبح شاشات التطبيق أدوات:

  • أداة بحث واحدة لكل جدول،
  • أداة حفظ واحدة لكل نموذج، وتكون حقول النموذج وقواعده هي مخططها (فقط مع Mcp::read_write()).

يصل الوكلاء إليها بطريقتين:

  • في المتصفح عبر WebMCP (document.modelContext.registerTool)، عندما يدعمه المتصفح. تُسجَّل أدوات الشاشة الحالية عند فتحها وتُزال عند إغلاقها.
  • على الخادم عند POST /_zeyn/mcp (JSON-RPC). يحتاج إلى ترويسة Authorization، لذلك لا يمكن لجلسة متصفح وحدها أن تشغّله أبداً.

القواعد نفسها التي تنطبق على الناس

  • يحصل الوكيل على صلاحيات المستخدم الذي يعمل نيابةً عنه بالضبط. لا تُدرج الأدوات الخاصة بالشاشات والإجراءات التي لا يحق للمستخدم فتحها.
  • تمر الاستدعاءات عبر الحراس (guards) والمعترضات (interceptors) والتحقق وحدود المعدل الخاصة بالاستدعاء العادي.
  • تعلّم سجلات التدقيق الاستدعاءات التي أجراها الوكلاء، ليتمكن المراجع من التمييز بينها.
  • يتيح Mcp::read_only() للوكلاء البحث دون الحفظ. اختر read_write() فقط للتطبيقات التي ينبغي فيها أن يغيّر الوكيل البيانات.