...

/

تنفيذ المهام الشرطية لأنظمة متعددة الوكلاء أكثر ذكاءً

تنفيذ المهام الشرطية لأنظمة متعددة الوكلاء أكثر ذكاءً

تعرف على المهام الشرطية في أنظمة متعددة الوكلاء وكيفية تنفيذها في CrewAI.

سنغطي ما يلي...

من المفترض أن تكون هذه "البرامج" ذكية، أليس كذلك؟ بإمكانها جلب البيانات وتحليلها، بل وحتى التلاعب بها بطريقة ما - بإمكانها القيام بمختلف الأمور المفيدة. لكن إليك ما يجب أن ننتبه إليه: إنها ليست دائمًا موثوقة كما نرغب. قد نطلب من برنامج ما جلب بعض البيانات، فيعود إلينا بكل ما طلبناه. لكن أحيانًا، لا يفعل. يغفل جزءًا هنا وينسى تفصيلًا هناك. لماذا؟ لأنه، كما هو الحال في جميع الأنظمة، لا يكون البرنامج جيدًا إلا بقدر جودة التعليمات التي نقدمها له والبيانات التي يتعامل معها.

في الواقع، عندما تطلب من شخص ما القيام بشيء ما، قد يسأل: "هل فعلتُ ما يكفي؟" أو "هل هذا ما أردته؟" هنا يمكننا تحسين أداء وكلاءنا، ليس بجعلهم مثاليين، بل بتزويدهم بخطة بديلة - شيء للتحقق من عملهم ومعرفة ما إذا كان جيدًا بما يكفي. وهنا يأتي دور المهام المشروطة. فكّر في المهمة المشروطة كشبكة أمان. الأمر أشبه بقول: "مهلاً، إذا لم تجمع بيانات كافية، فارجع وابحث عن المزيد." أو "إذا لم تتطابق الأرقام، فابحث أكثر." إنها فكرة بسيطة، لكنها فعّالة، خاصةً عند التعامل مع الأرقام أو الكميات أو أي نوع من البيانات حيث قد لا يكون "القدر الكافي" كافيًا.

لنبدأ بشرح كيفية استخدام هذه المهام الشرطية في نظام متعدد الوكلاء. سنتناول مثالاً عملياً حيث تعمل الوكلاء معاً لجلب البيانات ومعالجتها وتلخيصها. ولكن ماذا يحدث إذا لم يُؤدِّ أحدها وظيفته على أكمل وجه؟ هنا يأتي دور مهمتنا الشرطية - لضمان الحصول على النتائج المطلوبة، حتى لو لم يكن الوكيل مثالياً.

الوكلاء

الآن، كما هو الحال دائمًا، لنبدأ العمل بناء نظامًا متعدد الوكلاء بمهمة مشروطة. أولًا، علينا إعداد وكلاءنا. لدينا ثلاثة: جامع بيانات، ومحلل بيانات، وكاتب ملخصات.

Press + to interact
from crewai import Agent
from crewai_tools import SerperDevTool
tool = SerperDevTool()
data_collector = Agent(
role="Data Collector",
goal="Retrieve event data using Serper tool",
backstory="You have a knack for finding the most exciting events happening around.",
verbose=True,
tools=[tool],
)
data_analyzer = Agent(
role="Data Analyzer",
goal="Analyze the collected data",
backstory="You're known for your analytical skills, making sense of complex datasets.",
verbose=True,
tools=[tool],
)
summary_creator = Agent(
role="Summary Creator",
goal="Produce a concise summary from the event data",
backstory="You're a skilled writer, able to summarize information clearly and effectively.",
verbose=True,
)

في الكود أعلاه، نُعرّف وظيفة كل وكيل. سيعمل وكيل data_collector في الأسطر من 6 إلى 12 على جلب البيانات من ...