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


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


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


نوصي، حيثما أمكن، باستخدام البنى القائمة على الموجّه لما توفره من مزايا تشمل:
السرعة والكفاءة: توفر العمليات الحسابية المحلية سرعة أعلى من المنسّقات المعتمدة على واجهات API خارجية. كما أن معالجة منطق «IF/ELSE» باستخدام Python أقل تكلفة بكثير من الدفع لمزوّد النماذج اللغوية الكبيرة (LLM) كي يمرره عبر نموذج يضم 400 مليار مُعلَمة.
قابلية الاختبار والتنبؤ: يسهل بدرجة كبيرة تصحيح الأخطاء والاختبار والصيانة باستخدام ممارسات البرمجيات الراسخة.
الشفافية والموثوقية: يسهّل انخفاض التباين في السلوك استكشاف الأخطاء وإصلاحها. كما تُعبَّر نسبة أكبر من تدفق التطبيق في برمجيات شفافة وخاضعة للتحكم في الإصدارات، بدلًا من الأوزان المبهمة وغير القابلة للتفسير في النماذج اللغوية الكبيرة (LLM).
تتمثل عيوب نُهج الموجّه في احتمال جمودها وافتقارها إلى المرونة وعجزها عن التعامل مع المشكلات الأكثر انفتاحًا. قد يرى المستخدمون أن روبوت المحادثة الذي يكرر الردود نفسها حرفيًا ممل أو راكد.
تتمتع تصميمات المنسّقات بقدرات قوية:
التخطيط: يمكنها تخطيط الردود ديناميكيًا.
اختيار الأدوات/إحالة المهمة إلى وكيل: تختار الأدوات المناسبة أو تفوّض المهام إلى الوكلاء.
دمج المخرجات تكراريًا: تراجع المخرجات وتعيد دمجها بطرق مبتكرة.
تحديد الاكتمال: تحدّد متى تُجمع معلومات كافية لصياغة الرد النهائي.
تجعل أطر العمل مثل Pydantic-AI أو حزمة Agents SDK من OpenAI تنفيذ التنسيق مباشرًا وسريعًا. وهذا يجعلها ممتازة للعروض التوضيحية أو إثباتات المفهوم.
أما عيوب هذا النهج فهي:
لا توجد ضمانات بأن تكون خطوات التخطيط التي تنفذها النماذج اللغوية الكبيرة (LLM) والإجراءات اللاحقة صحيحة أو ملائمة. يواجه نظام الموجّه المشكلة نفسها، لكن سلوكه أكثر قابلية للتنبؤ نظرًا إلى القيود الأكبر المفروضة عليه.
من غير المرجح أن نحتاج إلى كامل قدرات نظام متعدد الوكلاء لتنفيذ مهام بسيطة ومحددة جيدًا. على سبيل المثال، لا يوجد على الأرجح سوى عدد محدود من أنواع الطلبات التي قد يرغب شخص يتفاعل مع نظام دعم تابع لشركة طيران في تنفيذها ضمن مثال وكيل شركة الطيران.
نظرًا إلى احتواء النماذج اللغوية الكبيرة (LLM) على قدر أكبر من المنطق، تصبح أكثر عرضة لمحاولات الجهات الخبيثة تجاوز إجراءات الحماية أو استغلالها.
ينقل هذا النهج عملية اتخاذ القرار إلى النماذج اللغوية الكبيرة (LLM) خلف طبقة تجريد، ما يصعّب فهم نظامك (مع أن أدوات المراقبة مثل Langfuse أو Braintrust قد تساعد جزئيًا).
ملاحظة للقارئ: رغم التطور السريع في قدرات النماذج، فمن غير المرجح أن تتغير النقاط التالية في المستقبل القريب.
حدّد نطاق مشكلتك.
هل يمكنك تمثيل منطق اتخاذ القرار المطلوب بسهولة في مخطط؟
هل لا يمكنك تحمّل الإخفاق أو السلوك غير المتوقع في تطبيقك؟
تشير الإجابة بـ«نعم» عن أي من السؤالين السابقين إلى أن خصائص الموجّه أنسب.
نوصي باستخدام نُهج الموجّه حيثما أمكن ولأطول مدة تسمح بها قدراتها. وكقاعدة عامة، إذا أمكن التعبير عن جزء من نظامك بالكود، فاكتبه بالكود (أي لا تفرط في استخدام النماذج اللغوية الكبيرة (LLM) دون حاجة).
عند بلوغ حدود هذه النُهج، يمكن محاكاة بعض مزايا المنسّقات المفتوحة ضمن إطار مقيّد. على سبيل المثال:
اختيار الأدوات/إحالة المهمة إلى وكيل: يمكن تنفيذ ذلك بسهولة عبر التفرّع الشرطي أو مصنّفات النماذج اللغوية الكبيرة (LLM).
تحديد الاكتمال: يمكن لمصنّفات بسيطة من النماذج اللغوية الكبيرة (LLM) التحقق من اكتمال الرد قبل إعادته إلى المستخدم.
لكن تنفيذ «التخطيط» و«دمج المخرجات تكراريًا» أصعب بلا شك في نظام موجّه صارم. لذلك، عندما تتطلب مهمة ما هاتين القدرتين (وفقًا لما يحدده مصنّف من النماذج اللغوية الكبيرة (LLM) أو منطق آخر)، نقترح إنشاء فرع منسّق أقل تقييدًا داخل نظامك.
ينبغي أن يعكس اختيارك بين بنى الموجّه والمنسّق مدى وضوح تطبيقك وتعقيده وأسلوب التفاعل فيه. توفر النُهج القائمة على الموجّه حاليًا الموثوقية والكفاءة وسهولة الاختبار للمهام المحددة بوضوح. توفر المنسّقات مرونة أكبر للتفاعلات الحوارية الأوسع نطاقًا.
مع استمرار تطور النماذج اللغوية الكبيرة (LLM)، قد يتغير التوازن بين هذين النهجين. نميل إلى استخدام البنى القائمة على الموجّه أو البنى الهجينة لأحمال عمل الإنتاج، ونقصر المنسّقات على المشكلات المفتوحة التي تتطلب تفاعلًا ديناميكيًا شبيهًا بالتفاعل البشري.