عندما تنضم وكلاء الذكاء الاصطناعي إلى غرف Yjs، تنكسر ثلاثة افتراضات

إن إضافة LLM كطرف (peer) من الدرجة الأولى في Yjs هي خطوة معمارية ذكية. ومع ذلك، فإنها تكسر الافتراضات الضمنية التي تعتمد عليها حزمة أدوات التعاون (collaboration stack) الخاصة بك بشأن تماثل الأطراف.

تفترض معظم الأنظمة أن جميع الأطراف تعمل بالسرعة البشرية. ولكن عندما يقوم وكيل ذكاء اصطناعي بتوليد 3,000 كلمة في الدقيقة، فإنه يخل بثلاثة مجالات أساسية: معدل الإنتاجية (throughput)، وملكية التراجع (undo ownership)، وإيقاع الحضور (presence cadence).

إليك كيفية إصلاحها.

  1. منع تجويع عمليات الكتابة (Write Starvation)

في نموذج CRDT، لا يوجد خادم مركزي لتقييد سرعة العملاء. يمكن للوكيل أن يغرق دورة المزامنة بعمليات كتابة مستمرة، مما يحرم المستخدمين البشر من حصتهم في نافذة التقارب (convergence window). يؤدي هذا إلى تأخر المؤشر (cursor lag) وفقدان التحديثات.

يكمن الحل في طبقة التطبيق (application layer)، وليس في طبقة النقل (transport layer). استخدم تقنية "دلو الرموز" (token bucket) بين تدفق LLM وعملية كتابة Yjs للحد من سرعة الوكيل.

• حدد سعة للعمليات المنتظرة في الطابور. • حدد معدل إعادة الملء لإبقاء الوكيل تحت عتبة تجويع المستخدمين البشر.

  1. عزل سجل التراجع (Undo History)

إذا شارك الوكيل نفس المصدر (origin) مع المستخدم، فستصبح عملية Ctrl+Z فوضوية؛ حيث لن تتمكن من التمييز بين الخطأ البشري واقتراح الذكاء الاصطناعي.

امنح الوكيل مصدره الخاص. استخدم UndoManager منفصل للوكيل.

• يقوم UndoManager الخاص بالمستخدم بتتبع الإجراءات البشرية فقط. • يتولى UndoManager الخاص بالوكيل الإجراءات الخاصة بالذكاء الاصطناعي. • أظهر زر "رفض اقتراح الذكاء الاصطناعي" كزر منفصل في واجهة المستخدم بدلاً من ربطه باختصار Ctrl+Z الافتراضي.

  1. دمج تحديثات الحضور (Presence Updates)

ينتج وكيل الذكاء الاصطناعي تغييرات في الموقع بسرعة أكبر مما يمكن للإنسان رؤيته. إن بث كل تغيير بمفرده يؤدي إلى حدوث ضجيج في دورة الرندرة (render cycle).

يجب عليك إدارة حضور الوكيل بشكل مختلف:

• ادمج تحديثات الوعي (awareness updates) في فترات زمنية ثابتة بدلاً من تحديثها مع كل عملية. • أضف حقل النوع (type) إلى حالة الوعي (awareness state) (على سبيل المثال: type: 'agent'). • استخدم هذا النوع لإخبار طبقة الرندرة بمعالجة المؤشر بشكل مختلف.

إن نمط "الوكيل كطرف" (agent-as-peer) هو الطريقة الصحيحة للبناء. التحدي يكمن في جعل افتراضاتك صريحة. لا تتعامل مع تحديد المعدل (rate limiting)، وعزل التراجع (undo isolation)، ودمج الحضور (presence coalescing) كحالات استثنائية، بل تعامل معها كمتطلبات أساسية.

المصدر: https://dev.to/norfolkd/when-an-ai-agent-joins-your-yjs-room-three-assumptions-break-50h8