الانتقال إلى المحتوى الرئيسي
في العملية الهرمية، يتم إنشاء وكيل مدير تلقائيًا ينسق سير العمل، ويفوض المهام ويتحقق من النتائج لتنفيذ مبسط وفعال. يستخدم وكيل المدير الأدوات لتسهيل تفويض المهام وتنفيذها بواسطة الوكلاء تحت إشراف المدير. يُعد نموذج اللغة الخاص بالمدير (LLM) أساسيًا للعملية الهرمية ويجب إعداده بشكل صحيح لضمان العمل السليم.
يتوفر أحدث توثيق لـ CrewAI على موقع التوثيق الرسمي: https://docs.crewai.com/

توثيق CrewAI

العملية الهرمية:

  • يتم تفويض المهام وتنفيذها بناءً على سلسلة قيادة منظمة
  • يجب تحديد نموذج لغة المدير (manager_llm) لوكيل المدير
  • يشرف وكيل المدير على تنفيذ المهام والتخطيط والتفويض والتحقق
  • لا يتم تعيين المهام مسبقًا؛ يقوم المدير بتخصيص المهام للوكلاء بناءً على قدراتهم

العملية التسلسلية:

  • يتم تنفيذ المهام واحدة تلو الأخرى، مما يضمن إكمال المهام بتقدم منظم
  • يُستخدم مخرج مهمة واحدة كسياق للمهمة التالية
  • يتبع تنفيذ المهام الترتيب المحدد مسبقًا في قائمة المهام

أي عملية أفضل للمشاريع المعقدة؟

العملية الهرمية أنسب للمشاريع المعقدة لأنها تسمح بـ:
  • تخصيص وتفويض ديناميكي للمهام: يمكن لوكيل المدير تعيين المهام بناءً على قدرات الوكلاء
  • التحقق والإشراف المنظم: يراجع وكيل المدير مخرجات المهام ويضمن إكمالها
  • إدارة المهام المعقدة: تحكم دقيق في توفر الأدوات على مستوى الوكيل
  • التعلم التكيفي: تصبح الأطقم أكثر كفاءة بمرور الوقت، حيث تتكيف مع المعلومات الجديدة وتحسن نهجها في المهام
  • التخصيص المحسن: تمكّن الذاكرة الوكلاء من تذكر تفضيلات المستخدم والتفاعلات السابقة، مما يؤدي إلى تجارب مخصصة
  • تحسين حل المشكلات: يساعد الوصول إلى مخزن ذاكرة غني الوكلاء في اتخاذ قرارات أكثر استنارة، بالاعتماد على الدروس المستفادة والرؤى السياقية
يمنع تعيين حد أقصى لعدد الطلبات في الدقيقة للوكيل من إجراء عدد كبير جدًا من الطلبات إلى الخدمات الخارجية، مما يساعد في تجنب حدود المعدل وتحسين الأداء.
يتيح المدخل البشري للوكلاء طلب معلومات إضافية أو توضيحات عند الحاجة. هذه الميزة ضرورية في عمليات صنع القرار المعقدة أو عندما يحتاج الوكلاء إلى مزيد من التفاصيل لإكمال مهمة بفعالية.لدمج المدخل البشري في تنفيذ الوكيل، عيّن علامة human_input في تعريف المهمة. عند التفعيل، يطلب الوكيل من المستخدم إدخالًا قبل تقديم إجابته النهائية. يمكن أن يوفر هذا الإدخال سياقًا إضافيًا أو يوضح الغموض أو يتحقق من مخرجات الوكيل.للحصول على إرشادات تنفيذ مفصلة، راجع دليل الإنسان في الحلقة.
يوفر CrewAI مجموعة من خيارات التخصيص المتقدمة:
  • تخصيص نموذج اللغة: يمكن تخصيص الوكلاء بنماذج لغوية محددة (llm) ونماذج لغوية لاستدعاء الدوال (function_calling_llm)
  • إعدادات الأداء والتصحيح: ضبط أداء الوكيل ومراقبة عملياته
  • الوضع المفصل: يتيح تسجيلًا مفصلًا لإجراءات الوكيل، مفيد للتصحيح والتحسين
  • حد RPM: يحدد العدد الأقصى للطلبات في الدقيقة (max_rpm)
  • الحد الأقصى للتكرارات: تسمح خاصية max_iter للمستخدمين بتحديد العدد الأقصى للتكرارات التي يمكن للوكيل تنفيذها لمهمة واحدة
  • التفويض والاستقلالية: التحكم في قدرة الوكيل على التفويض أو طرح الأسئلة عبر خاصية allow_delegation (الافتراضي: True)
  • دمج المدخل البشري: يمكن للوكلاء طلب معلومات إضافية أو توضيحات عند الحاجة
يكون المدخل البشري مفيدًا بشكل خاص عندما:
  • يحتاج الوكلاء إلى معلومات إضافية أو توضيحات: عندما يواجه الوكلاء غموضًا أو بيانات غير مكتملة
  • يحتاج الوكلاء إلى اتخاذ قرارات معقدة أو حساسة: يمكن للمدخل البشري المساعدة في صنع القرارات الأخلاقية أو الدقيقة
  • الإشراف والتحقق من مخرجات الوكيل: يمكن للمدخل البشري المساعدة في التحقق من النتائج ومنع الأخطاء
  • تخصيص سلوك الوكيل: يمكن للمدخل البشري توفير ملاحظات لتحسين استجابات الوكيل بمرور الوقت
  • تحديد وحل الأخطاء أو القيود: يساعد المدخل البشري في معالجة فجوات قدرات الوكيل
أنواع الذاكرة المختلفة المتاحة في CrewAI هي:
  • الذاكرة قصيرة المدى: تخزين مؤقت للسياق الفوري
  • الذاكرة طويلة المدى: تخزين دائم للأنماط والمعلومات المكتسبة
  • ذاكرة الكيانات: تخزين مركز على كيانات محددة وخصائصها
  • الذاكرة السياقية: ذاكرة تحافظ على السياق عبر التفاعلات
تعرف على المزيد حول أنواع الذاكرة المختلفة:

ذاكرة CrewAI
لاستخدام Output Pydantic في مهمة، تحتاج إلى تعريف المخرج المتوقع للمهمة كنموذج Pydantic. إليك مثال سريع:
1

تعريف نموذج Pydantic

from pydantic import BaseModel

class User(BaseModel):
    name: str
    age: int
2

إنشاء مهمة مع Output Pydantic

from crewai import Task, Crew, Agent
from my_models import User

task = Task(
    description="Create a user with the provided name and age",
    expected_output=User,  # This is the Pydantic model
    agent=agent,
    tools=[tool1, tool2]
)
3

تعيين خاصية output_pydantic في الوكيل

from crewai import Agent
from my_models import User

agent = Agent(
    role='User Creator',
    goal='Create users',
    backstory='I am skilled in creating user accounts',
    tools=[tool1, tool2],
    output_pydantic=User
)
إليك درسًا تعليميًا حول كيفية الحصول على مخرجات منظمة بشكل متسق من وكلائك:
يمكنك إنشاء أدوات مخصصة عن طريق إنشاء فئة فرعية من فئة BaseTool المقدمة من CrewAI أو باستخدام مُزخرف الأداة (tool decorator). ينطوي إنشاء الفئة الفرعية على تعريف فئة جديدة ترث من BaseTool، مع تحديد الاسم والوصف وطريقة _run للمنطق التشغيلي. يتيح لك مُزخرف الأداة إنشاء كائن Tool مباشرة مع الخصائص المطلوبة والمنطق الوظيفي.

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