تعدد المستأجرين هو المشكلة الحقيقية لمنصات الوكلاء

معظم العروض التجريبية للوكلاء تنجح لأنها تخدم مستخدماً واحداً فقط.

مستخدم واحد يعني مخزناً واحداً للذاكرة، ومجموعة أدوات واحدة، ومساراً مثالياً واحداً. لا يوجد شيء يحتاج للفصل بينه.

عندما تحول عرضاً تجريبياً إلى منصة، فإن الجزء الصعب ليس الأوامر (prompts). الجزء الصعب هو العزل (isolation).

هل يمكن لكل استعلام قاعدة بيانات، أو مفتاح تخزين مؤقت (cache key)، أو تدفق (stream)، أو استدعاء أداة، أو بحث في الذاكرة أن يثبت المستأجر الذي ينتمي إليه؟ إذا فشل واحد فقط في ذلك، فأنت أمام تسريب وشيك الوقوع.

تركز العديد من الفرق على اختيار النموذج أو جودة الذاكرة، لكنهم ينسون التساؤل عما إذا كانت بيانات وتكاليف مستأجر ما معزولة تماماً عن مستأجر آخر.

العزل ليس مهمة تضيفها في النهاية، بل هو الهيكل الأساسي لمنصتك.

لبناء منصة وكلاء حقيقية، ابحث عن هذه الآليات:

  • سياق طلب محدد النوع (typed request context) يتم نقله إلى الرسم البياني (graph).
  • وصول محدد النطاق (scoped access) عند كل حد فاصل.
  • اختبارات تكتشف تسريبات المستأجرين قبل أن تتحول إلى حوادث.

يمكن لوكيل مخصص لمستخدم واحد أن يبدو مثيراً للإعجاب مع تجاهل الأمان. فقد يستدعي أداة بحث دون مرشح (filter) للمستأجر، أو يخزن السجل تحت معرف (ID) بسيط. هذا ينجح في العروض التجريبية، لكنه يفشل في المنصات.

في المنصة، يجب أن يحمل الوكيل حداً فاصلاً في كل خطوة. إذا فقد الوكيل هذا الحد، فقد يقدم إجابة مثالية للشخص الخطأ، وهذا يعتبر فشلاً.

يجب تحديد نطاق كل عملية تمس البيانات أو الأدوات أو الذاكرة بناءً على المستأجر قبل أن يتصرف النموذج. هذا هو أمن الخلفية (backend security) القياسي المطبق على بيئة تشغيل الوكيل (agent runtime).

خطوات عملية لهندستك البرمجية:

  • استخدم كائن RequestContext واحداً بدلاً من المعاملات المتفرقة.
  • اجعل كل حد فاصل إما يقبل السياق أو يفشل.
  • قم بفلترة كتالوجات الأدوات قبل أن يتمكن النموذج من رؤيتها.
  • استخدم فلترة المتجهات (vector filtering) كجزء إلزامي من عملية التفويض (authorization).
  • تأكد من أن التتبعات (traces) والسجلات (logs) تستخدم وسوم مستأجرين غير كاشفة (opaque) بدلاً من البيانات الحساسة.

لا تطلب من النموذج تذكر المستأجر نيابة عنك. يمكن للنموذج الاستنتاج بناءً على البيانات، لكن لا ينبغي له أبداً أن يقرر من يملك تلك البيانات.

اجعل المسار المحدد النطاق هو المسار الأسهل. إذا بنيت منصة حول نموذج مخصص لمستخدم واحد، فستواجه حاجة لإعادة كتابة الكود بالكامل في اليوم الذي تنضم فيه أول مؤسسة حقيقية إليك.

ابدأ بتتبع تدفق وكيل واحد. تتبع سياق المستأجر من طلب HTTP وصولاً إلى استدعاء الأداة النهائي. حدد كل نقطة يتم فيها نسخ هذا السياق أو فقدانه. هذه الخريطة هي المكان الذي يكمن فيه خطركم الحقيقي.

Source: https://dev.to/luffy_14/multi-tenancy-is-the-real-agent-platform-problem-1dh2

Optional learning community: https://t.me/GyaanSetuAi