وكلاء ومهام CrewAI: كيف تقسم الأدوار بدون فوضى

2 min read

معظم فشل CrewAI للمرة الأولى ليس بسبب مشاكل API. يأتي من توزيع فوضوي للأدوار.
تذكر قاعدة واحدة: وكيل واحد، تخصص واحد؛ مهمة واحدة، عمل واحد. معدل نجاحك يقفز بسرعة.

قسّم الوكلاء أولاً، ثم اكتب المهام

فكّر هكذا:

  • الوكيل = "من"
  • المهمة = "ماذا"
  • السياق = "ما البيانات التي تُسلَّم من الخطوة السابقة إلى التالية"

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

مثال على تصميم وكيل جيد

researcher:
  role: >
    محلل بحث الذكاء الاصطناعي
  goal: >
    جمع معلومات دقيقة وحديثة
  backstory: >
    أنت متخصص في إيجاد مصادر موثوقة واستخلاص الحقائق الرئيسية.
  allow_delegation: false
 
writer:
  role: >
    كاتب تقني
  goal: >
    تحويل النتائج الخام إلى توثيق واضح وعملي
  backstory: >
    تشرح الأفكار المعقدة بلغة بسيطة للمبتدئين.
  allow_delegation: false

⚠️ أبقِ allow_delegation معطلاً بشكل افتراضي. استقر تدفقك أولاً، ثم فكّر في التفويض الديناميكي.

مثال على تصميم مهمة جيد

research_task:
  description: >
    ابحث عن 8-10 تحديثات مهمة حول {topic} في 2026.
    اشمل ما تغيّر ولماذا يهم.
  expected_output: >
    قائمة نقاط markdown.
    كل نقطة تشمل: العنوان، الملخص، ورابط المصدر.
  agent: researcher
 
write_task:
  description: >
    حوّل نقاط البحث إلى مقالة تعليمية مع أمثلة.
  expected_output: >
    مقالة markdown بمقدمة، 3 أقسام، وخلاصة.
  agent: writer
  context:
    - research_task

أهم 3 أخطاء للمبتدئين

  1. وصف المهمة قصير جداً: النموذج لا يعرف صيغتك المطلوبة
  2. لا expected_output: صيغة الإخراج تتغير في كل تشغيل
  3. لا context: المهمة اللاحقة لا تستطيع الوصول إلى النتائج السابقة

قائمة تحقق بسيطة

بعد كل تعديل YAML، اسأل هذه الأسئلة الخمسة:

  • هل لهذا الوكيل تخصص واحد فقط؟
  • هل تنجز هذه المهمة عملاً واحداً فقط؟
  • هل صيغة الإخراج واضحة في expected_output؟
  • هل حددت التبعيات مع context؟
  • من يكتب الملفات؟ هل ضبطت output_file؟

الخطوة التالية

بعد تقسيم الأدوار، القرار التالي هو استراتيجية تنفيذ العملية.
المقالة التالية:
👉 Crew والعملية