وكلاء ومهام 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 أخطاء للمبتدئين
- وصف المهمة قصير جداً: النموذج لا يعرف صيغتك المطلوبة
- لا expected_output: صيغة الإخراج تتغير في كل تشغيل
- لا context: المهمة اللاحقة لا تستطيع الوصول إلى النتائج السابقة
قائمة تحقق بسيطة
بعد كل تعديل YAML، اسأل هذه الأسئلة الخمسة:
- هل لهذا الوكيل تخصص واحد فقط؟
- هل تنجز هذه المهمة عملاً واحداً فقط؟
- هل صيغة الإخراج واضحة في
expected_output؟ - هل حددت التبعيات مع
context؟ - من يكتب الملفات؟ هل ضبطت
output_file؟
الخطوة التالية
بعد تقسيم الأدوار، القرار التالي هو استراتيجية تنفيذ العملية.
المقالة التالية:
👉 Crew والعملية