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

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

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

اعتبر سيناريو حيث يحاول العميل استرداد مبلغ لمنتج، قد يشارك فيه عدد من الوكلاء في هذه العملية، لكن دعنا نقسمهم بين وكلاء محددين لهذه العملية ووكلاء عامين يمكن استخدامهم في عمليات أخرى.
وكلاء محددون لعملية الاسترداد:
فيما يلي بعض الوكلاء الذين قد يشاركون في عملية الاسترداد:
وكلاء عامون:
يمكن استخدام هؤلاء الوكلاء في أجزاء أخرى من عملك.
هناك عدد كبير من الوكلاء المدرجين سابقًا، سواء للعمليات الخاصة بالاسترداد أو الوكلاء العامين المستخدمين في أجزاء أخرى من عملك. نأمل أن هذا يعطيك فكرة عن كيفية تحديد الوكلاء الذين تستخدمهم في نظام متعدد الوكلاء الخاص بك.
صمم نظامًا متعدد الوكلاء لعملية دعم العملاء. حدد الوكلاء المشاركين في العملية، أدوارهم ومسؤولياتهم، وكيف يتفاعلون مع بعضهم البعض. ضع في الاعتبار كل من الوكلاء المحددين لعملية دعم العملاء والوكلاء العامين الذين يمكن استخدامهم في أجزاء أخرى من عملك.
فكر قليلاً قبل قراءة الحل التالي، قد تحتاج إلى وكلاء أكثر مما تعتقد.
تلميح: فكر في المراحل المختلفة لعملية دعم العملاء واعتبر أيضًا الوكلاء اللازمين لأي نظام.
أي سيناريو هو الأنسب لنظام متعدد الوكلاء؟
متى يكون الوكيل الفردي عادة الخيار الأفضل؟
في هذا الدرس، نظرنا إلى نمط تصميم الوكلاء المتعددين، بما في ذلك السيناريوهات التي ينطبق فيها الوكلاء المتعددون، ومزايا استخدام الوكلاء المتعددين على الوكيل الواحد، والعناصر الأساسية لتطبيق نمط تصميم الوكلاء المتعددين، وكيفية الحصول على رؤية لكيفية تفاعل الوكلاء المتعددين مع بعضهم البعض.
انضم إلى Microsoft Foundry Discord للقاء متعلمين آخرين، وحضور ساعات المكتب والحصول على إجابات لأسئلتك حول وكلاء الذكاء الاصطناعي.
ما وراء الإدراك في وكلاء الذكاء الاصطناعي
تنويه: تمت ترجمة هذا المستند باستخدام خدمة الترجمة بالذكاء الاصطناعي Co-op Translator. بينما نسعى للدقة، يرجى العلم أن الترجمات الآلية قد تحتوي على أخطاء أو عدم دقة. يجب اعتبار المستند الأصلي بلغته الأصلية المصدر الرسمي والمعتمد. للمعلومات الهامة، يُنصح بالاستعانة بترجمة بشرية محترفة. نحن غير مسؤولين عن أي سوء فهم أو تفسير ناتج عن استخدام هذه الترجمة.