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

لماذا نخصص المطالبات؟

على الرغم من أن مطالبات CrewAI الافتراضية تعمل بشكل جيد في كثير من السيناريوهات، إلا أن التخصيص على المستوى المنخفض يفتح الباب أمام سلوك أكثر مرونة وقوة للـ Agent. إليك لماذا قد ترغب في الاستفادة من هذا التحكم العميق:
  1. التحسين لنماذج LLM محددة – تزدهر النماذج المختلفة (مثل GPT-4 وClaude وLlama) مع تنسيقات مطالبات مصممة لبنيتها الفريدة.
  2. تغيير اللغة – بناء Agents تعمل حصريًا بلغات غير الإنجليزية مع التعامل مع الفروق الدقيقة بدقة.
  3. التخصص في مجالات معقدة – تكييف المطالبات لصناعات متخصصة للغاية مثل الرعاية الصحية والمالية والقانون.
  4. ضبط النبرة والأسلوب – جعل الـ Agents أكثر رسمية أو عفوية أو إبداعية أو تحليلية.
  5. دعم حالات استخدام مخصصة للغاية – استخدام هياكل وتنسيقات مطالبات متقدمة لتلبية متطلبات معقدة خاصة بالمشروع.
يستكشف هذا الدليل كيفية الوصول إلى مطالبات CrewAI على مستوى أعمق، مما يمنحك تحكمًا دقيقًا في كيفية تفكير الـ Agents وتفاعلها.

فهم نظام المطالبات في CrewAI

تحت الغطاء، يستخدم CrewAI نظام مطالبات معياري يمكنك تخصيصه على نطاق واسع:
  • قوالب الـ Agent – تحكم في نهج كل Agent تجاه دوره المعيّن.
  • شرائح المطالبات – تتحكم في السلوكيات المتخصصة مثل المهام واستخدام الأدوات وهيكل المخرجات.
  • معالجة الأخطاء – توجيه كيفية استجابة الـ Agents للإخفاقات والاستثناءات وحالات انتهاء المهلة.
  • مطالبات خاصة بالأدوات – تعريف تعليمات مفصلة لكيفية استدعاء الأدوات أو استخدامها.
اطلع على قوالب المطالبات الأصلية في مستودع CrewAI لمعرفة كيفية تنظيم هذه العناصر. من هناك، يمكنك تجاوزها أو تكييفها حسب الحاجة لفتح سلوكيات متقدمة.

فهم تعليمات النظام الافتراضية

مشكلة شفافية الإنتاج: يحقن CrewAI تلقائيًا تعليمات افتراضية في مطالباتك قد لا تكون على علم بها. يشرح هذا القسم ما يحدث تحت الغطاء وكيفية الحصول على تحكم كامل.
عندما تعرّف Agent بـ role وgoal وbackstory، يضيف CrewAI تلقائيًا تعليمات نظام إضافية تتحكم في التنسيق والسلوك. فهم هذه الحقن الافتراضية أمر بالغ الأهمية لأنظمة الإنتاج التي تحتاج شفافية كاملة في المطالبات.

ما يحقنه CrewAI تلقائيًا

بناءً على تهيئة الـ Agent، يضيف CrewAI تعليمات افتراضية مختلفة:

للـ Agents بدون أدوات

للـ Agents مع أدوات

للمخرجات المنظمة (JSON/Pydantic)

عرض مطالبة النظام الكاملة

لمعرفة المطالبة المرسلة بالضبط إلى LLM، يمكنك فحص المطالبة المولّدة:

تجاوز التعليمات الافتراضية

لديك عدة خيارات للحصول على تحكم كامل في المطالبات:

الخيار 1: القوالب المخصصة (مُوصى به)

الخيار 2: ملف مطالبات مخصص

أنشئ ملف custom_prompts.json لتجاوز شرائح مطالبات محددة:
ثم استخدمه في Crew:
يُحتفظ بـ agent.i18n للتوافق مع الإصدارات السابقة فقط، وقد تم إهماله. لتخصيص المطالبات أثناء التشغيل، مرّر prompt_file إلى Crew. وللوصول البرمجي المباشر إلى شرائح المطالبات، استخدم أداة i18n مباشرة:

الخيار 3: تعطيل مطالبات النظام لنماذج o1

التصحيح باستخدام أدوات المراقبة

لشفافية الإنتاج، استخدم منصات المراقبة لمتابعة جميع المطالبات وتفاعلات LLM. يتيح لك ذلك رؤية المطالبات المرسلة بالضبط (بما في ذلك التعليمات الافتراضية) إلى نماذج LLM. راجع توثيق المراقبة للحصول على أدلة تكامل مفصلة مع منصات متعددة بما في ذلك Langfuse وMLflow وWeights & Biases وحلول التسجيل المخصصة.

أفضل الممارسات للإنتاج

  1. افحص المطالبات المولّدة دائمًا قبل النشر في الإنتاج
  2. استخدم قوالب مخصصة عندما تحتاج تحكمًا كاملاً في محتوى المطالبات
  3. دمج أدوات المراقبة للمتابعة المستمرة للمطالبات (راجع توثيق المراقبة)
  4. اختبر مع نماذج LLM مختلفة حيث قد تعمل التعليمات الافتراضية بشكل مختلف عبر النماذج
  5. وثّق تخصيصات المطالبات لشفافية الفريق
التعليمات الافتراضية موجودة لضمان سلوك Agent متسق، لكنها قد تتعارض مع المتطلبات الخاصة بالمجال. استخدم خيارات التخصيص أعلاه للحفاظ على تحكم كامل في سلوك Agent في أنظمة الإنتاج.

أفضل الممارسات لإدارة ملفات المطالبات

عند الانخراط في تخصيص المطالبات على المستوى المنخفض، اتبع هذه الإرشادات للحفاظ على التنظيم وسهولة الصيانة:
  1. احتفظ بالملفات منفصلة – خزّن المطالبات المخصصة في ملفات JSON مخصصة خارج قاعدة الكود الرئيسية.
  2. التحكم في الإصدارات – تتبع التغييرات داخل المستودع مع ضمان توثيق واضح لتعديلات المطالبات بمرور الوقت.
  3. التنظيم حسب النموذج أو اللغة – استخدم تسميات مثل prompts_llama.json أو prompts_es.json لتحديد التهيئات المتخصصة بسرعة.
  4. توثيق التغييرات – قدم تعليقات أو حافظ على ملف يوضح غرض ونطاق تخصيصاتك.
  5. قلل التعديلات – تجاوز فقط الشرائح المحددة التي تحتاج حقًا لتعديلها مع الحفاظ على الوظائف الافتراضية لكل شيء آخر.

أبسط طريقة لتخصيص المطالبات

إحدى الطرق المباشرة هي إنشاء ملف JSON للمطالبات التي تريد تجاوزها ثم توجيه Crew إلى ذلك الملف:
  1. أنشئ ملف JSON بشرائح المطالبات المحدّثة.
  2. أشر إلى ذلك الملف عبر معامل prompt_file في Crew.
يدمج CrewAI بعد ذلك تخصيصاتك مع الإعدادات الافتراضية، فلا تحتاج لإعادة تعريف كل مطالبة. إليك الطريقة: بالنسبة للكود الذي يحتاج إلى قراءة شرائح المطالبات مباشرة، استخدم crewai.utilities.i18n.get_i18n() مع ملف المطالبات نفسه بدلًا من قراءة agent.i18n.

مثال: تخصيص أساسي للمطالبات

أنشئ ملف custom_prompts.json بالمطالبات التي تريد تعديلها. تأكد من إدراج جميع المطالبات عالية المستوى التي يجب أن يحتويها، وليس فقط تغييراتك:
ثم ادمجه هكذا:
بهذه التعديلات البسيطة، تحصل على تحكم منخفض المستوى في كيفية تواصل الـ Agents وحل المهام.

التحسين لنماذج محددة

تزدهر النماذج المختلفة مع مطالبات منظمة بطرق مختلفة. إجراء تعديلات أعمق يمكن أن يعزز الأداء بشكل كبير من خلال مواءمة مطالباتك مع خصائص النموذج.

مثال: قالب مطالبات Llama 3.3

على سبيل المثال، عند التعامل مع Llama 3.3 من Meta، قد يعكس التخصيص على المستوى الأعمق الهيكل الموصى به الموضح في: https://www.llama.com/docs/model-cards-and-prompt-formats/llama3_1/#prompt-template إليك مثالاً يوضح كيف يمكنك ضبط Agent للاستفادة من Llama 3.3 في الكود:
من خلال هذه التهيئة العميقة، يمكنك ممارسة تحكم شامل منخفض المستوى في سير العمل القائمة على Llama دون الحاجة إلى ملف JSON منفصل.

الخلاصة

يفتح تخصيص المطالبات على المستوى المنخفض في CrewAI الباب أمام حالات استخدام مخصصة ومعقدة للغاية. من خلال إنشاء ملفات مطالبات منظمة (أو قوالب مضمّنة مباشرة)، يمكنك استيعاب نماذج ولغات ومجالات متخصصة متنوعة. يضمن هذا المستوى من المرونة أنك تستطيع صياغة سلوك الذكاء الاصطناعي الذي تحتاجه بالضبط، مع العلم أن CrewAI لا يزال يوفر إعدادات افتراضية موثوقة عندما لا تتجاوزها.
لديك الآن الأساس لتخصيصات المطالبات المتقدمة في CrewAI. سواء كنت تتكيف مع هياكل خاصة بالنموذج أو قيود خاصة بالمجال، يتيح لك هذا النهج المنخفض المستوى تشكيل تفاعلات الـ Agent بطرق متخصصة للغاية.