الانتقال إلى المحتوى الرئيسي
مشاريع Agent المستقلة تجريبية. قد يتغير مخطط المشروع وواجهة API الخاصة بالتحميل. تتطلب هذه المعاينة إصدارات متوافقة من CLI وSDK تتضمن هذه الميزة؛ كما تتطلب عمليات النشر المُدارة بيئة تشغيل Enterprise متوافقة. لا تعني الأمثلة أن الميزة مدعومة في إصدار أقدم مثبت لديك.
يعرّف مشروع Agent المستقل Agent واحدًا ويتلقى رسائله عند استدعاء kickoff. يُنشأ المشروع افتراضيًا بصيغة YAML، ويمكن اختيار JSON أو Python صراحةً كبديل. لا تحتاج إلى main.py أو Crew أو Flow أو دالة factory.

إنشاء مشروع

Terminal
اضبط OPENAI_API_KEY في .env للنموذج الافتراضي openai/gpt-6.1-sol، ثم ثبّت المشروع وشغّله: يختار القالب Responses API (api: responses) لاستدعاء الأدوات بهذا النموذج. في مشاريع YAML/JSON، عدّل llm.model وllm.api في التعريف؛ أما قالب Python فيقرأ MODEL من .env ويختار Responses API.
Terminal
ينشئ crewai install ملف uv.lock. أضفه إلى Git مع المشروع. احتفظ بملف .env محليًا واستخدم إعدادات البيئة الخاصة بالنشر لبيانات اعتماد المزوّد.

المحادثات المحلية

يضبط المشروع المُنشأ conversational: true، أو Agent(conversational=True) في Python. في الطرفية، يفتح crewai run واجهة المحادثة الحالية. تستخدم كل رسالة Agent المحدد وأدواته مع سجل الجلسة. اضبط القيمة على false لاستخدام استدعاءات kickoff المستقلة فقط.
Terminal
يكشف SDK التجريبي الجلسة نفسها عبر agent.handle_turn(...) وagent.as_flow(). يبقى السجل في الذاكرة افتراضيًا؛ اضبط استمرارية Flow صراحةً لاستعادته عبر العمليات. استخدم نسخة Agent منفصلة لكل محادثة مستقلة. يحدد الخيار session_id جلسة Flow أو يستعيدها؛ ولا يحوّل Agent واحدًا إلى خادم متزامن متعدد الجلسات.

بنية المشروع

لا يحتوي المشروع القائم على الإعدادات على حزمة شيفرة مصدرية. يتضمن القالب ثلاث أدوات محلية لخدمة دعم خيالية ومجلد مهارات فارغًا؛ ولا يتطلب خدمات أو بيانات اعتماد إضافية غير مفتاح مزوّد النموذج. يحدد ملف pyproject.toml المُنشأ تعريف Agent ويضمّن الإعدادات وأي أدوات محلية في الحزمة:

تعريف Agent

الهوية الافتراضية هي Agent عام الأغراض مدعوم بـ CrewAI. عدّل role وgoal وbackstory لتخصيصه. أدوات الدعم المضمّنة أمثلة تُستخدم عند الحاجة فقط؛ استبدلها أو أزلها لحالات استخدام أخرى. لا تُثبّت أي مهارات افتراضيًا. عدّل agent.yaml:
هذه حقول مُنشئ Agent. مرّر الطلب عبر messages وقت التشغيل؛ ولا تضف حقل input ثابتًا إلى التعريف.

اختيار JSON أو Python

Terminal
ينشئ قالب JSON ملف agent.json بالحقول نفسها:
يصدّر قالب Python المتغير agent = Agent(...) من src/python_support/agent.py. استخدمه عندما يتطلب تعريف Agent منطقًا برمجيًا بلغة Python. كل من .yml و.yaml مدعوم. عند إعادة تسمية ملف الإعدادات أو نقله، حدّث definition وقائمة only-include الخاصة بملف wheel معًا. يجب أن تبقى مسارات التعريف داخل جذر المشروع. إذا لم تحدد definition صراحةً، يبحث النظام عن ملف واحد في الجذر باسم agent.py أو agent.json أو agent.yml أو agent.yaml، أو عن المسار المعتاد src/<package>/agent.py. يؤدي العثور على ملفات متعددة إلى خطأ؛ اضبط definition لاختيار أحدها.

إضافة أداة مخصصة

استخدم الملف المُضمّن tools/support_hours.py كنقطة بداية لأداة أخرى:
يسجل التعريف المُنشأ الأدوات ومجلد المهارات صراحةً؛ ويستخدم JSON قوائم السلاسل النصية نفسها:
يحمّل custom:support_hours صنفًا مشتقًا من BaseTool من tools/support_hours.py. أضف أي اعتماديات للأداة إلى pyproject.toml وحدّث ملف القفل باستخدام crewai install. حمّل شيفرة المشاريع الموثوقة فقط: تنفذ الأدوات المخصصة ومراجع Python شيفرة Python أثناء التحميل.

الأدوات والمهارات المرجعية

تستخدم الأمثلة المُنشأة بيانات محلية خيالية. ولا تفحص الحسابات أو تعيد تعيين كلمات المرور أو تصدر مبالغ مستردة أو تنشئ تذاكر. يبدأ مجلد skills/ فارغًا، مع ملف .gitkeep فقط للاحتفاظ به في Git والحزم المبنية. أضف skills/<name>/SKILL.md مع حقلي name وdescription في الترويسة لإنشاء مهارة. تُكتشف المهارات المضافة كبيانات وصفية؛ ويمكن لـ Agent استخدام load_skill لتحميل التعليمات المناسبة عند الحاجة. تُحل مسارات المهارات المحلية في YAML/JSON نسبةً إلى جذر المشروع، بما في ذلك عند استدعاء load_agent_project(path) من مجلد آخر. يحتفظ قالب Python بمجلدي tools/ وskills/ داخل src/<package>/ ويربط مسار المهارات بملف agent.py. يتضمن ملف wheel وأرشيف النشر هذه الملفات. جرّب طلبًا يجمع إمكانات المثال:
Terminal

تمرير سجل رسائل

يقبل messages أيضًا قائمة غير فارغة من الرسائل التي تتضمن role/content:
Terminal
ينشئ كل استدعاء kickoff كائن Agent جديدًا ونسخًا جديدة من الأدوات المحلية المخصصة العادية. لا تحتفظ هذه المشاريع بسجل المحادثة تلقائيًا بين استدعاءات kickoff. قد تشير مراجع Python العامة الحالية إلى كائنات singleton على مستوى الوحدة؛ ولا يعزل المُحمّل حالتها القابلة للتغيير. للاستخدام البرمجي، يتبع مُحمّل SDK التجريبي قواعد اختيار المشروع نفسها:

التحقق من المعاينة ونشرها

Terminal
يتحقق التحقق من YAML/JSON من الحقول وصياغة مراجع Python وتعريفات الأدوات دون تنفيذ شيفرة Python الخاصة بالمشروع أو إنشاء Agents أو أدوات أو عملاء المزوّدين. تُستورد نقاط الدخول المكتوبة بلغة Python وقد تنفّذ شيفرة المشروع. لا يشغّل التحقق kickoff. يتضمن مسار إنشاء الأرشيف المعتاد التعريف والأدوات والمهارات وملف القفل، مع استبعاد .env و.venv. للنشر باستخدام بيئة تشغيل Enterprise متوافقة مع المعاينة، اتبع سير عمل النشر الحالي الموضح في مرجع CLI. تقبل API المُدارة المدخلات نفسها:

عمليات نشر مُدارة تدعم المحادثة

مع بيئة تشغيل Enterprise التجريبية المتوافقة، يضبط محوّل Agent الداخلي conversational = True. تستخدم المحادثة Agent المحدد وأدواته في كل دور. ابدأ جلسة، ثم أعد استخدام session_id في الرسائل اللاحقة:
تعيد كل رسالة kickoff_id مختلفًا؛ استعلم عن /status/<kickoff_id> حتى يكتمل الدور قبل إرسال رسالة أخرى. تحتفظ الجلسة بسجل رسائل المستخدم والمساعد وتمرره إلى Agent جديد في كل دور. يتضمن سجل المحادثة الإجابة الموجهة للمستخدم، بينما تحتفظ نتائج التنفيذ بمخرجات Agent المنظمة وبيانات الاستخدام. تعتمد مدة الجلسة واستمرارية بياناتها على إعدادات التخزين في بيئة التشغيل المنشورة. لكل جلسة سجل منفصل. يبقى POST /kickoff متاحًا لعمليات التنفيذ المستقلة. يفتح crewai run محليًا واجهة المحادثة، بينما ينفذ crewai run --inputs استدعاء kickoff واحدًا. يفعّل المشروع المُنشأ علم المحادثة في تعريف Agent؛ ولا تحتاج إلى كتابة Flow أو main.py. جرى اختبار هذه المعاينة باستخدام API تعمل محليًا وعامل Celery. لا يزال بث الرموز، والاستعادة/نقاط التحقق، وتوفير بنية تشغيل مخصصة لـ Agent، والتوافق مع حاويات الإنتاج وإصداراته خارج النطاق الذي جرى التحقق منه.