إشعار
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تسجيل الدخول أو تغيير الدلائل.
يتطلب الوصول إلى هذه الصفحة تخويلاً. يمكنك محاولة تغيير الدلائل.
يدعم التزامن التوليدي أيضا الأنظمة متعددة العوامل، حيث يستدعي أحد الوكلاء الآخرين. عند تقسيم المشكلات إلى عوامل متخصصة متعددة، فإنك تجعل تطبيقك أكثر نمطية وقابلية للتطوير وقابلية للإدارة.
عوامل مضمنة
العوامل المضمنة، التي تعرف أيضاً بالوكلاء الفرعيين، هي تدفقات عمل صغيرة وقابلة لإعادة الاستخدام ضمن نفس الوكيل. غالبا ما تكون مجرد مواضيع يستخدمها العامل الرئيسي كعناصر فرعية. على سبيل المثال، يمكن للعامل الرئيسي استدعاء موضوع "ترجمة النص" كخطوة واحدة في خطة أكبر. تشترك العوامل المضمنة في السياق مع العامل الرئيسي، لذا فإن تمرير البيانات بينهما أمر بسيط.
أفضل الممارسات: حافظ على تركيز الوكلاء المضمنين على مسؤولية واحدة واختبرهم جيدا.
الوكلاء المتصلون
الوكلاء المتصلون هم وكلاء منفصلون مع التنسيق والأدوات والمعرفة الخاصة بهم. يفوض العامل الرئيسي جزءا من طلب إلى وكيل تابع. على سبيل المثال، يستدعي وكيل تكنولوجيا المعلومات وكيل المبيعات للحصول على معلومات حول التسعير. تمكن العوامل المتصلة من الوحدات النمطية وفصل المجال، ويمكنها تجاوز حدود الخطة. قد يكون لديهم امتيازات أو معرفة مختلفة، لذا قم بتطبيق ضوابط الحوكمة والتدقيق.
ومع ذلك، يتطلب استخدام العوامل المتصلة تحكما دقيقا:
التنسيق: يجب أن يكون لدى المنسق الأصل معايير واضحة لمتى يتم تسليمه إلى عامل متصل. عادة ما يتم إيقاف تشغيل المنسق عندما يتطابق هدف المستخدم مع مجال العامل المتصل. للمساعدة في هذه العملية، وصف الغرض من العامل المتصل بوضوح في تكوين الأصل. تعامل مع الوكيل المتصل بأكمله على أنه «أداة» وكيلية لها وصف، من منظور الوكيل الأصل.
تسليم البيانات: يجب إدارة تسليم البيانات. حدد ما الذي يجب تمريره من سياق الأب إلى الوكيل المتصل. الوكيل المتصل لديه إعداد تضمين السياق الذي يتحكم فيما إذا كان يستقبل سجل المحادثة، لذا تأكد من هذا الإعداد بدلا من افتراض أن التاريخ يمرر تلقائيا. أما الوكيل الطفل، فهو دائما يتلقى سياق الوالد. قد تحتاج أيضا إلى اجتياز معايير محددة. على سبيل المثال، إذا كان العامل الرئيسي يعرف بالفعل اسم المستخدم من وقت سابق، فقد يرسل ذلك إلى العامل المتصل لتجنب السؤال مرة أخرى.
الأمان: قد يكون لدى العامل المتصل حق الوصول إلى أشياء لا يملكها العامل الأصل. تأكد من أن استدعاء العامل المتصل لا يتجاوز القيود عن غير قصد. على سبيل المثال، إذا لم يسمح للعامل الأصل بحذف السجلات ولكن يمكن للعامل المتصل، فلا ينبغي للعامل الأصل استدعاء العامل المتصل في السيناريوهات التي قد يحدث فيها الحذف دون موافقة مناسبة. تعامل مع استدعاء عامل متصل مثل أي إجراء قوي آخر. إذا كان يقوم بشيء حساس، فخضعه للفحوصات الضرورية أو موافقة المستخدم.
التدقيق والمراقبة: سجل وقت استدعاء عامل متصل وما فعله. بما أنه وكيل منفصل، لديك نسخ منفصلة له. من المهم في عملية تصحيح الأخطاء مقارنة الجلسات الأصلية والجلسات المتصلة. عادةً ما تربط المعرفات في القياس عن بعد الاثنين.
متى يتم فصل الوكلاء
لا تنشئ وكيلا منفصلا لكل مهام فرعية. استخدم عوامل منفصلة إذا كانت المهمة الفرعية:
- معقدة بما يكفي للحصول على مجموعة أدوات أو معرفة خاصة بها (مجال مختلف من الخبرة)
- يتطلب قواعد تحكم أو ضوابط وصول مختلفة عن العامل الرئيسي
- يمكن إعادة استخدامه في العديد من الوكلاء الرئيسيين المختلفين (أي إنه أشبه بوكيل خدمة)
إذا لم تنطبق أي من هذه الشروط، فقد يتعامل الوكيل المضمن البسيط مع المهمة بشكل جيد بينما يكون أيضا أبسط من عامل متصل كامل. يُضيف الوكلاء المنفصلون عبئًا إضافيًا على النظام. هناك وقت تنفيذ أطول قليلا بسبب تبديل السياق، والتعقيد في الحفاظ على عوامل متعددة. لذا استخدمها بحكمة. من أجل نهج عملي، ابدأ بوكيل واحد. ثم انقسم فقط إلى عوامل متعددة عندما ترى بوضوح الحاجة إلى نمطية أو حد لا يجب أن يعبره عامل واحد.
أفضل الممارسات للتنسيق متعدد العوامل
تنطبق أفضل الممارسات التالية عند صياغة الإرشادات للوكيل الرئيسي والوكلاء الفرعيين في بيئة متعددة الوكلاء.
1. مبدأ الرد الفردي
تأكد من أن وكيلًا واحدًا فقط يتحدث مع المستخدم في كل دور. في إعداد متعدد العوامل، العامل الأصل هو الوحيد الذي يجب أن يقدم الاستجابة النهائية. الوكلاء الفرعيون باحثون، لا مستجيبون.
- القيام بما يلي: إضافة إلى الإرشادات الأصلية: "أنت العامل الوحيد الذي يتصل بالمستخدم. اجمع نتائج جميع الوكلاء الفرعيين في استجابة واحدة.
- لا: اتركه غامضا. بدون إرشادات صريحة، ترد الأقسام الفرعية على المستخدم مباشرة، مما يتسبب في رسائل مكررة أو جزئية.
ملحوظة
توجيه كل تواصل المستخدم عبر الشركة الأم هو تصميم واحد صالح، وليس الوحيد. يمكن للوكيل الابن أو المرتبط أيضا أن يجيب على المستخدم مباشرة عندما يكون ذلك خيارا متعمدا. في كلتا الحالتين، المخاطر التي يجب تصميمها ضدها هي نفسها: أن يرد الوالد على طلب كان الوكيل الفرعي قد تعامل معه بالفعل. تعرف على عقد السياق الذي يمنع تكرار الرسائل في كلا التصميمين في الوكلاء الفرعيين Design الذين يجنبون الرسائل المكررة.
2. يجب أن توضّح تعليمات الوكيل الفرعي دورها
أخبر الوكلاء الفرعيين دائمًا أنهم وكلاء فرعيون. لا يعرف الوكلاء الفرعيون بطبيعتهم أنهم جزء من عملية تنسيق. دون إرشادات صريحة، يتصرفون كوكلاء مستقلين ويرسلون رسائل مباشرة إلى المستخدم.
- قم بما يلي: أضف إلى إرشادات كل وحدة فرعية: "أنت فرعي. لا ترد على المستخدم مباشرة. مهمتك هي البحث عن المعلومات وإرجاع النتائج الخاصة بك إلى الوكيل الأصل. يتولى العامل الرئيسي كل عمليات التواصل مع المستخدم.
- لا تفترض أن الوكلاء الفرعيين سيكتشفون نمط التنسيق من تلقاء أنفسهم.
3. استخدام لغة واضحة ومباشرة في التعليمات
استخدم دائما لغة التوجيه. تجنب الجملة الناعمة أو المهذبة. يقوم النظام الأساسي بإدخال إرشادات على مستوى النظام باستخدام لغة قوية (MUST، DO NOT، NEVER). التعليمات المكتوبة بلغة ناعمة ("يرجى محاولة" و"يجب عليك" و"سيكون من الجيد") فقدان الأولوية عند تعارضها.
- قم بما يلي: "لا ترد أبدا على المستخدم مباشرة. فقط إرجاع النتائج الخاصة بك"."
- قم بما يلي: "يجب أن يكون هناك استجابة نهائية واحدة بالضبط لكل سؤال مستخدم."
- لا: "الرجاء محاولة تجنب إرسال الرسائل إلى المستخدم وإرجاع النتائج بدلا من ذلك."
- لا: "من الناحية المثالية، نريد إجابة واحدة مجمعة".
4. استخدام مصدر معارف واحد لكل وحدة فرعية (بدون تداخل)
تعيين مصادر معرفة مميزة وغير متفرعة لكل وحدة فرعية. إذا بحث اثنان من الأقسام الفرعية في نفس قاعدة المعارف، فإن وحدة فرعية واحدة تعثر على الإجابة أولا. إما أن يعيد الوكيل الفرعي الثاني نتائج مكررة، أو يتخطى عملية البحث بالكامل، من دون أن يضيف أي قيمة.
- افعل: يبحث CA-1 في مصدر المعرفة أ (على سبيل المثال، سياسات الموارد البشرية). يبحث CA-2 في مصدر المعرفة B (على سبيل المثال، وثائق تكنولوجيا المعلومات).
- Don't: منح كلا العنصرين الفرعيين حق الوصول إلى نفس المستندات أو جداول Dataverse أو مواقع SharePoint.
- ملاحظة: إذا كان لديك مصدر معارف واحد فقط، فاستخدم وكيلا واحدا مع المعرفة بدلا من التقسيم إلى قسمين فرعيين. يضيف متعدد العوامل قيمة فقط عندما تكون المصادر مختلفة حقا.
5. استخدم أوصافًا دقيقة ومميّزة للوكلاء الفرعيين
اكتب أوصافا واضحة ومتميزة لكل وحدة فرعية مرئية للأصل. يستخدم العامل الأصل أوصافا فرعية لتحديد التوجيه. إذا كانت الأوصاف غامضة أو متطابقة أو غير دقيقة، فلن يتمكن الوالد من اتخاذ قرارات توجيه جيدة.
- Do: CA-1: "البحث في مستندات نهج الموارد البشرية عن الأسئلة المتعلقة بموظف." CA-2: "البحث في قاعدة معارف تكنولوجيا المعلومات عن أسئلة الدعم التقني."
- لا تقم بما يلي: امنح كلا الوكيلين نفس الوصف عندما يخدمان مجالات مختلفة.
- لا: استخدم أوصافا عامة مثل "يمكن أن يساعد هذا العامل في الأسئلة."
6. يجب أن تحدد التعليمات الرئيسية نمط التنسيق
أخبر الوكيل الرئيسي بكيفية التنسيق. لا تكتفِ بقول: "استخدم وكلاء فرعيين". يحتاج الوكيل الرئيسي إلى تعليمات صريحة بشأن هذا النمط: استدعاء الوكلاء، وانتظار النتائج، ودمجها، ثم الرد.
- قم بما يلي: "عندما يطرح المستخدم سؤالا: 1. استدعِ كلا الوكيلين الفرعيين لجمع المعلومات. 2 انتظر حتى يُرجِع الوكيلان الفرعيان نتائجهما. 3. اجمع النتائج في استجابة واحدة وموحدة. 4. تقديم استجابة واحدة بالضبط للمستخدم. يجب ألا يرد الوكلاء الفرعيون على المستخدم مباشرة.
- لا: "عندما يطرح المستخدم سؤالا، قم باستدعاء وكلاء تابعين والحصول على الاستجابة من كلا المصدرين وإعطاء إجابة واحدة مجمعة." (غامض جدا. لا تخبر التعليمات الفرعيين بالبقاء صامتين.)
7- إدراج توجيه "عدم الرد المباشر" في تفويض المهمة
حتى مع وضوح تعليمات الوكيل الفرعي، فإن إضافة قدر من التعزيز إلى المهمة المفوضة توفر شبكة أمان.
- قم بما يلي: أضف إلى الإرشادات الأصلية: "عند التفويض إلى وكيل تابع، قم بتضمين المهمة دائما: "إرجاع النتائج الخاصة بك فقط. لا ترد على المستخدم."
- لا تقم: بالاعتماد فقط على تعليمات الوكيل الفرعي نفسه. يعطي سياق المهمة العنصر الفرعي المزيد من الإشارات التي تعزز النمط.
8. اختبار مع استعلامات عدم تطابق المجال
اختبر دائمًا باستخدام أسئلة لا تندرج ضمن نطاق أي وكيل فرعي. يكشف هذا الاختبار عما إذا كان الوكلاء الفرعيون يعيدون بسلاسة عبارة "لم يتم العثور على معلومات" بدلًا من إرجاع معلومات قد تكون غير صحيحة، أو التعطل، أو إرسال رسائل مربكة.
- Do: اختبر مع الاستعلامات خارج جميع المجالات الفرعية (على سبيل المثال، اسأل عن الطقس عندما يتعامل الوكلاء مع الموارد البشرية و تكنولوجيا المعلومات).
- قم بما يلي: تحقق من أن الوالدين يعالجان "كلا الوكيلين لم يعثرا على شيء" بأمان.
- لا تقم بذلك: اختبر فقط باستخدام أبسط استعلامات الحالة التي تتطابق تماما مع مجال واحد فرعي.
9. يُفضَّل طرح سؤال بدلاً من الإبلاغ عند توقّع متابعة
استخدم تفاعلات نمط السؤال/السؤال عند توقع استجابة المستخدم. استخدم أسلوب إعلام/إرسال فقط للرسائل النهائية أحادية الاتجاه. إذا طلب العامل من المستخدم شيئا باستخدام رسالة أحادية الاتجاه (إعلام)، فسيعود رد المستخدم إلى المخطط الأصلي كتعلام جديد تماما. في هذه الحالة، من الأفضل الاستمرار في نفس المحادثة مع الوكيل الفرعي.
- قم بما يلي: اكتب إرشادات مثل: "إذا كنت بحاجة إلى توضيح، فاطرح سؤالا على المستخدم وانتظر استجابته."
- لا تقم بذلك: اكتب إرشادات مثل: "إعلام المستخدم بالخيارات والسماح له باختيارها." يشير "Inform" إلى رسالة أحادية الاتجاه، بينما يشير "ask" إلى تبادل ثنائي الاتجاه.
قائمة مرجعية سريعة
| # | تحقق |
|---|---|
| 1 | تنصّ التعليمات الأصلية صراحةً على: "أنا وحدي من يردّ على المستخدم" |
| 2 | كل تعليمات فرعية تقول "لا ترد على المستخدم مباشرة" |
| 3 | تستخدم الإرشادات لغة توجيه قوية (MUST، NEVER، فقط) |
| 4 | كل وحدة فرعية لديها مصدر معرفي فريد غير متواز |
| 5 | أوصاف الوكلاء الفرعيين دقيقة ومتميزة ومحددة |
| 6 | تحدد الإرشادات الأصل نمط التنسيق الكامل (استدعاء → الانتظار → الجمع بين → الاستجابة) |
| 7 | يمرر الأصل "لا رد مباشر" في سياق المهمة المفوضة |
| 8 | تم اختباره باستخدام استعلامات عدم تطابق المجال |
| 9 | التمييز بين الطلب والإبلاغ صحيح في تعليمات الوكيل الفرعي |