CrewAICrewAI

الفصل الثاني: من سلسلة ” الذكاء الصناعي التعاوني CrewAI – دليل المطور العربي لبناء وكلاء ذكيين يعملون معًا ” .

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


ما هو الـ Agent في CrewAI؟

الـ Agent هو “العقل المفكر” في النظام.
يمكن اعتباره موظفًا افتراضيًا داخل فريق الذكاء الصناعي، لديه مهمة محددة وشخصية مستقلة،
ويستخدم نموذج ذكاء صناعي (مثل GPT أو Claude) لاتخاذ القرارات وتنفيذ المهام.

بكل بساطة:

كل Agent = دور محدد + هدف واضح + نموذج ذكاء صناعي ينفذ الأوامر.


البنية الأساسية للـ Agent

عند إنشاء وكيل جديد، نستخدم الصيغة التالية:

from crewai import Agent

agent = Agent(
    role="اسم الدور أو الوظيفة",
    goal="الهدف الذي يسعى إليه الوكيل",
    backstory="نبذة عن خلفيته أو شخصيته",
    llm="نموذج الذكاء الصناعي المستخدم",
    tools=[...],  # الأدوات التي يستطيع استخدامها (اختياري)
    verbose=True  # لتفعيل المخرجات التوضيحية أثناء التشغيل
)

شرح المعاملات الأساسية

المعاملالوصفمثال
roleالدور أو الوظيفة داخل الطاقم“Researcher”
goalالغاية النهائية التي يسعى لتحقيقها“جمع وتحليل أحدث تقنيات الذكاء الصناعي”
backstoryخلفية الوكيل (تساعد في تشكيل نغمة إجاباته وسلوكه)“محلل تقني بخبرة 10 سنوات في الذكاء الصناعي التطبيقي”
llmالنموذج اللغوي المستخدم لتنفيذ الذكاءChatOpenAI أو Claude أو أي LLM آخر
toolsقائمة بالأدوات التي يستطيع الوكيل استخدامها (مثل البحث أو القراءة من الويب)[SearchTool, CalculatorTool]
verboseعرض تفاصيل عمل الوكيل أثناء التنفيذTrue

مثال عملي: وكيل الباحث (Research Agent)

لننشئ وكيلًا متخصصًا في البحث عن المعلومات التقنية.

from crewai import Agent
from langchain.chat_models import ChatOpenAI

# تعريف نموذج الذكاء الصناعي المستخدم
llm = ChatOpenAI(model="gpt-4o-mini")

# إنشاء الوكيل
research_agent = Agent(
    role="AI Researcher",
    goal="جمع أحدث المعلومات عن الذكاء الصناعي التعاوني CrewAI",
    backstory="خبير تقني في تحليل أدوات الذكاء الصناعي الحديثة ومتابعة تطورها.",
    llm=llm,
    verbose=True
)

هذا الوكيل الآن يمكنه استقبال المهام Task لاحقًا (سنشرحها في الفصل الثالث).
حتى الآن، نحن فقط “عرّفناه” داخل النظام.


إضافة أدوات مساعدة (Tools)

يمكن تزويد الوكيل بأدوات خارجية تساعده على تنفيذ مهامه.
مثلاً: أداة بحث على الإنترنت أو آلة حاسبة.

from crewai_tools import tool
from langchain.utilities import SerpAPIWrapper

search_tool = SerpAPIWrapper(serpapi_api_key="YOUR_SERPAPI_KEY")

ai_researcher = Agent(
    role="Research Specialist",
    goal="جمع وتحليل بيانات حول CrewAI",
    backstory="خبير في البحث المعلوماتي عبر الإنترنت.",
    llm=llm,
    tools=[search_tool],
    verbose=True
)

الآن يستطيع هذا الوكيل البحث على الإنترنت بشكل مستقل عند تنفيذ مهامه.


تخصيص سلوك الوكيل

يمكنك جعل الوكيل يتحدث أو يكتب بطريقة معينة حسب شخصيته.
على سبيل المثال:

creative_writer = Agent(
    role="Creative Writer",
    goal="كتابة مقالات تقنية بأسلوب مشوّق",
    backstory="كاتب تقني يحب المزج بين العلم والقصص لجعل المفاهيم سهلة الفهم.",
    llm=llm
)

عندما يكتب هذا الوكيل نصوصًا، ستلاحظ أن نغمة الكتابة تميل إلى الطابع القصصي بفضل الخلفية المحددة في backstory.


التحكم في النموذج المستخدم

يمكنك استخدام أي مزود نموذج لغوي (LLM)،
مثلاً OpenAI أو Anthropic أو نموذج محلي عبر Ollama.

مثال على استخدام نموذج محلي:

from langchain.llms import Ollama

local_model = Ollama(model="llama3")
local_agent = Agent(
    role="Offline Researcher",
    goal="تحليل البيانات محليًا دون اتصال بالإنترنت",
    backstory="باحث يعتمد على النماذج المحلية لتأمين خصوصية البيانات.",
    llm=local_model
)

🧠 هذه الميزة تجعل CrewAI مرنة جدًا، إذ يمكنك تشغيل أنظمة كاملة بدون إنترنت.


مثال كامل متكامل

دعنا نرى كيف ننشئ وكيلًا حقيقيًا ونمنحه مهمة بسيطة ليختبر قدرته:

from crewai import Agent, Task, Crew
from langchain.chat_models import ChatOpenAI

llm = ChatOpenAI(model="gpt-4o-mini")

researcher = Agent(
    role="AI Researcher",
    goal="جمع معلومات دقيقة عن CrewAI",
    backstory="باحث تقني يتابع تطور أدوات الذكاء الصناعي التعاوني.",
    llm=llm
)

task = Task(description="اشرح مفهوم CrewAI للمطورين بأسلوب مبسط وواضح.")

crew = Crew(agents=[researcher], tasks=[task])
result = crew.run()
print(result)

النتيجة ستكون مخرجات يكتبها الوكيل بناءً على هدفه ودوره وسلوكه،
وكأنك تتحدث مع باحث تقني حقيقي يشرح المفهوم من وجهة نظره.


نصيحة للمطورين

لتحصل على أداء متناسق بين الوكلاء، احرص على:

  • كتابة أهداف محددة وواضحة لكل Agent.
  • أن تكون الخلفية (backstory) منسجمة مع طبيعة المهام.
  • استخدام نموذج لغوي متقارب لجميع الوكلاء لضمان التفاهم بينهم.

الخلاصة

الـ Agent هو حجر الأساس في الذكاء الصناعي التعاوني CrewAI.
من خلاله يمكنك برمجة شخصيات ذكية بقدرات متنوعة، تتعاون مع غيرها ضمن طاقم واحد،
لتبني أنظمة ذكاء صناعي تعمل كما لو كانت فريقًا من الخبراء الحقيقيين.


🎓 في الفصل الثالث سنتناول:
🪄 المهام (Tasks) — كيف تصمم التعليمات التي ينفذها كل وكيل،
وكيف تتفاعل المهام مع الوكلاء ضمن طاقم Crew متكامل.

By احمد علي

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

اترك تعليقاً

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها بـ *