الانتقال إلى المحتوى الرئيسي

نظرة عامة

يمثل الطاقم في CrewAI مجموعة تعاونية من الوكلاء يعملون معًا لتحقيق مجموعة من المهام. يحدد كل طاقم استراتيجية تنفيذ المهام وتعاون الوكلاء وسير العمل العام.

خصائص الطاقم

الحد الأقصى لـ RPM للطاقم: تعيّن خاصية max_rpm الحد الأقصى للطلبات في الدقيقة التي يمكن للطاقم تنفيذها لتجنب حدود المعدل وستتجاوز إعدادات max_rpm الفردية للوكلاء إذا عيّنتها.

إنشاء الأطقم

هناك طريقتان رئيسيتان لإنشاء الأطقم في 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.
شغّل مشاريع JSON crew من مصادر تثق بها فقط. أدوات custom:<name> ومراجع {"python": "module.attribute"} تنفذ كود Python محليًا عند تحميل الـ crew.

تهيئة 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

الإعادة من مهمة محددة

يمكنك الآن الإعادة من مهمة محددة باستخدام أمر CLI replay.
ثم للإعادة من مهمة محددة: