الوحدة 1 — متى يكون عدّة وكلاء أفضل من وكيل واحد
قبل تركيب أوّل فريق في CrewAI، يجب أن نُجيب بصراحة عن سؤال يُوفّر أسابيع من العمل: هل مشكلتنا تستحقّ فعلًا فريقًا من الوكلاء؟ ثلاثة أرباع مشاريع «الوكلاء المتعدّدين» التي تُطلَق كانت ستُنجَز بوكيل واحد مُحكَم التعليمات، أو حتّى بسكربت خطّيّ من ثلاث دوالّ. الفريق حلٌّ ثمينٌ لمشكلة محدّدة، لا زينة معماريّة.
ما يُقدّمه فريق من الوكلاء
الفكرة الأساسيّة بسيطة: بدل نموذج واحد يُطلَب منه أن يكون في آن واحد محلِّلًا ومحرِّرًا ومراجِعًا، نُنشئ عدّة وكلاء لكلّ منهم دور واحد ضيّق وأدوات محدودة وتعليمة نظام قصيرة. الفوائد الملم وسة على مسائل حقيقيّة:
- تخصّص التعليمة. تعليمة «أنت محرّر تقنيّ يكتب بأسلوب رسميّ» أوضح للنموذج من «أنت مساعد يحلّل ثمّ يحرّر ثمّ يراجع». التعليمة القصيرة تعطي مخرجات أقرب لما نريد.
- الفصل بين التوليد والمراجعة. المراجِع يقرأ النصّ بلا سياق التوليد الذي أنتجه، فيكتشف أخطاءً كان المحرِّر «يبرّرها» لنفسه. هذا ما يفعله البشر أيضًا حين يستدعون قارئًا خارجيًّا لنصوصهم.
- إعادة استعمال الوكيل. «مراجِع تقنيّ» يمكن إعادة استعمالها في مشاريع مختلفة. «سكربت خطّيّ يحرّر ثمّ يراجع» يذوب في مشروعه.
- قابلية المراقبة. كلّ وكيل يترك أثرًا مستقلّاً في السجلّ: نرى بوضوح أيّ خطوة فشلت، بدل استثناء غامض داخل نداء نموذج طويل.
ما يُكلّفه فريق من الوكلاء
كلّ فائدة أعلاه تُدفَع نقدًا وزمنًا:
- الكلفة تتضاعف بعدد الوكلاء. أربعة وكلاء = أربع نداءات نموذج في الحدّ الأدنى لكلّ جولة، وأحيانًا خمس عشرة نداءً إذا فوّض بعضهم لبعض. الفاتورة قد تُضرَب في عش رة مقارنة بنداء واحد.
- الزمن يتضاعف كذلك. النداءات تتابعيّة إن لم نُنظّم التوازي صراحةً؛ ثلاث دقائق لجواب لم يكن يحتاج أكثر من عشر ثوان.
- مسار الفشل يطول. خطأ في وكيل يُلوّث ما يليه. تشخيصه يعني قراءة أثر بأربعة أعمدة بدل عمود واحد.
- المخرَج قد ينحرف. حين لا يُعرَّف الدور بدقّة، يبدأ وكلاء بتكرار عمل بعضهم أو بمناقشة بعضهم بلا نهاية. الوحدة 9 مكرّسة لهذا الفخّ.
قاعدة قرار عمليّة
اسأل نفسك ثلاث أسئلة قبل استدعاء CrewAI:
- هل المخرَج يحتاج فعلًا وجهات نظر مختلفة؟ كتابة وثيقة ثمّ مراجعتها من زاوية مستقلّة: نعم. تلخيص مقال: لا، وكيل واحد كافٍ.
- هل خطوات المشكلة قابلة للتقسيم إلى مسؤوليّات لا تتداخل؟ فصل «تحليل مواصفات» و«كتابة وثيقة» و«تحقّق تقنيّ»: نعم. «الردّ على بريد إلكترونيّ»: لا، الحدود ضبابيّة.
- هل نستطيع تحمّل ضرب الكلفة في ثلاثة أو أربعة؟ إن كانت الإجابة «ربّما لا»، نبدأ بوكيل واحد ونقيس، ثمّ نُقسّم فقط ما يستحقّ.
إن كانت الإجابات الثلاث «نعم »، فالفريق مُبرَّر. غير ذلك، وكيل واحد مُحكَم التعليمات أو حتّى سكربت خطّيّ يستدعي النموذج مرّة أو مرّتين يُنجز العمل بنصف الكلفة وربعِ الزمن.
الخيط الأحمر يبدأ
مساعد تحرير الوثائق الذي سنبنيه يستوفي الشروط الثلاثة: المخرَج (وثيقة عشر صفحات) يحتاج تحليلًا ثمّ كتابةً ثمّ مراجعةً ثمّ تحكيمًا، الحدود واضحة، والكلفة مقبولة لأنّ التنفيذ يُشغَّل مرّة كلّ أسبوع لا مرّة كلّ ثانية. سنُقارنه في الوحدة 8 بحلّ من وكيل واحد ونقيس الفرق فعلًا بالأرقام.
في الشيفرة أدناه، أبسط ما يمكن تجهيزه: تعريف فارغ لفريق بأربعة وكلاء سنملؤه في الوحدة 2:
from crewai import Agent, Task, Crew, Process
# سيُملأ في الوحدة 2 : الأدوار والأهداف.
analyste = Agent(role="محلّل مواصفات", goal="...", backstory="...")
redacteur = Agent(role="محرّر تقنيّ", goal="...", backstory="...")
relecteur = Agent(role="مراجِع تقنيّ", goal="...", backstory="...")
responsable = Agent(role="مسؤول التحرير", goal="...", backstory="...")
equipe = Crew(agents=[analyste, redacteur, relecteur, responsable],
tasks=[], process=Process.sequential)
اكتب دور كلّ وكيل في جملة واحدة على الأكثر. إن استغرقت جملتين، الدور مُتّسع جدًّا: قسّمه، أو اقتنع بأنّ وكيلًا واحدًا يكفي.