نظرة عامة
يمثل الطاقم في CrewAI مجموعة تعاونية من الوكلاء يعملون معًا لتحقيق مجموعة من المهام. يحدد كل طاقم استراتيجية تنفيذ المهام وتعاون الوكلاء وسير العمل العام.خصائص الطاقم
إنشاء الأطقم
هناك طريقتان رئيسيتان لإنشاء الأطقم في CrewAI: باستخدام تهيئة JSONC (الموصى بها للـ crews الجديدة) أو تعريفها مباشرة في الكود للمشاريع الكلاسيكية والحالات المتقدمة.تهيئة JSONC (موصى بها)
المشاريع الجديدة التي تُنشأ عبرcrewai create crew <name> تستخدم crew.jsonc لإعدادات الـ crew والمهام، وملفًا منفصلًا لكل Agent داخل agents/. يكتشف crewai run ملف crew.jsonc أو crew.json، ويحمّل الـ Agents المشار إليها، ويطلب قيم placeholders الناقصة، ثم يبدأ الـ crew.
crew.jsonc
agents يُحل أولًا إلى agents/<name>.jsonc ثم إلى agents/<name>.json. للـ crews الهرمية، استخدم "process": "hierarchical" مع manager_llm أو manager_agent.
تهيئة YAML الكلاسيكية
المشاريع الكلاسيكية التي تُنشأ عبرcrewai create crew <name> --classic تستخدم crew.py و config/agents.yaml و config/tasks.yaml والمزيّنات @CrewBase و @agent و @task و @crew.
تظل هذه الطريقة مدعومة للمشاريع الحالية المبنية بـ Python/YAML وللفِرق التي تحتاج تحكمًا صريحًا عبر decorators.
code
سيتم تنفيذ المهام بالترتيب الذي عُرّفت به.
CrewBase، مع هذه المزيّنات، تؤتمت جمع الوكلاء والمهام، مما يقلل الحاجة للإدارة اليدوية.
تعريف مباشر في الكود (بديل)
بدلاً من ذلك، يمكنك تعريف الطاقم مباشرة في الكود بدون ملفات تهيئة YAML.مخرجات الطاقم
تُغلّف مخرجات الطاقم في فئةCrewOutput. توفر هذه الفئة طريقة منظمة للوصول إلى نتائج تنفيذ الطاقم، بما في ذلك تنسيقات متنوعة مثل السلاسل النصية الخام وJSON ونماذج Pydantic.
خصائص مخرجات الطاقم
استخدام الذاكرة
يمكن للأطقم استخدام الذاكرة (قصيرة المدى، طويلة المدى، وذاكرة الكيانات) لتحسين تنفيذها وتعلمها بمرور الوقت.استخدام التخزين المؤقت
يمكن استخدام التخزين المؤقت لتخزين نتائج تنفيذ الأدوات، مما يجعل العملية أكثر كفاءة.مقاييس استخدام الطاقم
بعد تنفيذ الطاقم، يمكنك الوصول إلى خاصيةusage_metrics لعرض مقاييس استخدام نموذج اللغة (LLM) لجميع المهام المنفذة.
Code
عملية تنفيذ الطاقم
- العملية التسلسلية: تُنفذ المهام واحدة تلو الأخرى، مما يسمح بتدفق عمل خطي.
- العملية الهرمية: ينسق وكيل مدير الطاقم، ويفوّض المهام ويتحقق من النتائج.
تشغيل الطاقم
بمجرد تجميع طاقمك، ابدأ سير العمل بطريقةkickoff().
Code
طرق مختلفة لتشغيل الطاقم
الطرق المتزامنة
kickoff(): يبدأ عملية التنفيذ وفقًا لتدفق العملية المحدد.kickoff_for_each(): ينفذ المهام بالتتابع لكل مدخل.
الطرق غير المتزامنة
لأحمال العمل عالية التزامن، يُوصى بـ
akickoff() و akickoff_for_each() لأنها تستخدم async أصلي.بث تنفيذ الطاقم
للرؤية في الوقت الفعلي لتنفيذ الطاقم، يمكنك تفعيل البث:Code
الإعادة من مهمة محددة
يمكنك الآن الإعادة من مهمة محددة باستخدام أمر CLIreplay.
