المرحلة السادسة: التطبيق العملي لمشاريع الذكاء الاصطناعي والنشر في الإنتاج

12 مبدأ أساسي لبناء برامج مدفوعة بنماذج لغوية كبيرة (LLM) جاهزة للإنتاج، مع التركيز على معالجة تحديات هندسية حاسمة لتطبيقات الذكاء الاصطناعي من النموذج الأولي إلى الإنتاج.

ProductionAILLMEngineeringAIAgentsGitHubTextFreeEnglish

وكلاء العوامل الـ 12 - 12 مبدأ لبناء تطبيقات LLM موثوقة

نظرة عامة

وكلاء العوامل الـ 12 هي مجموعة من المنهجيات المبدئية لبناء برمجيات مدفوعة بنماذج اللغة الكبيرة (LLM) جاهزة للإنتاج، وقد تم تطويرها بواسطة ديكس هورثي وفريق HumanLayer.

الخلفية والدافع

لماذا نحتاج هذه المبادئ؟

بعد التواصل مع أكثر من 100 من بناة برمجيات SaaS (معظمهم من المؤسسين التقنيين)، وجد المؤلف أن معظم عمليات تطوير وكلاء الذكاء الاصطناعي (AI Agent) تواجه "عنق زجاجة الجودة بنسبة 70-80%":

  1. تقدم سريع في البداية: الوصول بسرعة إلى 70-80% من الوظائف باستخدام الأطر الحالية
  2. عنق زجاجة الجودة: اكتشاف أن 80% ليست جيدة بما يكفي للميزات الموجهة للعملاء
  3. قيود الأطر: يتطلب تجاوز نسبة 80% هندسة عكسية للأطر، والموجهات (prompts)، والعمليات، وما إلى ذلك
  4. البدء من الصفر: الاضطرار في النهاية إلى التخلي عن الأطر والبدء من جديد

رؤى جوهرية

  • معظم "وكلاء الذكاء الاصطناعي" الناجحين على مستوى الإنتاج ليسوا "وكلاء" بالمعنى الحرفي للكلمة
  • إنها في الأساس أنظمة برمجية مصممة بعناية، تستخدم نماذج اللغة الكبيرة (LLM) بذكاء في نقاط رئيسية
  • أسرع طريقة لتقديم برمجيات ذكاء اصطناعي عالية الجودة للعملاء هي تبني مفاهيم صغيرة ومعيارية ودمجها في المنتجات الحالية

12 مبدأ أساسي

العامل 1: تحويل اللغة الطبيعية إلى استدعاءات أدوات

تحويل اللغة الطبيعية إلى استدعاءات أدوات

القدرة الخارقة الأساسية لنماذج اللغة الكبيرة (LLM) هي تحويل اللغة الطبيعية إلى بيانات منظمة (JSON). يجب أن تبدأ جميع عمليات الوكيل بهذا التحويل الأساسي.

// النمط الأساسي
const response = await llm.generateToolCall(userMessage, availableTools);
// response هو JSON منظم، وليس نصًا حرًا

العامل 2: امتلك موجهاتك

امتلك موجهاتك

تعامل مع الموجهات (prompts) كأصول برمجية حيوية وخاضعة للتحكم في الإصدار، وليست مدخلات لمرة واحدة.

  • إدارة الموجهات ضمن قاعدة كود التطبيق
  • دعم الاختبار المنهجي والنشر والتراجع
  • ضمان الاتساق، قابلية التكرار، والتطور المتحكم فيه

العامل 3: امتلك نافذة السياق الخاصة بك

امتلك نافذة السياق الخاصة بك

إدارة نافذة سياق نموذج اللغة الكبيرة (LLM) بنشاط وعمد.

  • التأكد من أن نافذة السياق تحتوي فقط على المعلومات ذات الصلة المباشرة بالمهمة الحالية
  • تقليم البيانات غير الضرورية لمنع "انحراف السياق"
  • تحسين أداء نموذج اللغة الكبيرة (LLM)، وتقليل استخدام الرموز (tokens)

العامل 4: الأدوات هي مجرد مخرجات منظمة

الأدوات هي مجرد مخرجات منظمة

تعامل مع "الأدوات" كمخرجات JSON منظمة من نموذج اللغة الكبيرة (LLM)، وقم بالتحقق منها.

// استدعاء الأداة هو مجرد تحقق من مخطط JSON
const toolCall = validateToolCall(llmOutput, toolSchema);
const result = await executeValidatedTool(toolCall);

العامل 5: توحيد حالة التنفيذ وحالة العمل

توحيد حالة التنفيذ وحالة العمل

التأكد من توافق "حالة التنفيذ" الداخلية لنموذج اللغة الكبيرة (LLM) مع "حالة العمل" الفعلية للتطبيق.

  • منع نموذج اللغة الكبيرة (LLM) من العمل بناءً على معلومات قديمة أو خاطئة
  • تجنب الهلوسات أو العمليات غير الصالحة
  • استمرارية حالة التنفيذ بجانب حالة العمل

العامل 6: التشغيل/الإيقاف المؤقت/الاستئناف بواجهات برمجة تطبيقات بسيطة

التشغيل/الإيقاف المؤقت/الاستئناف بواجهات برمجة تطبيقات بسيطة

تصميم وكلاء نماذج اللغة الكبيرة (LLM) بواجهات برمجية واضحة تدعم إدارة دورة الحياة.

interface AgentControl {
  launch(config: AgentConfig): Promise<AgentInstance>;
  pause(instanceId: string): Promise<void>;
  resume(instanceId: string): Promise<void>;
}

العامل 7: التواصل مع البشر عبر استدعاءات الأدوات

التواصل مع البشر عبر استدعاءات الأدوات

التعامل مع التفاعل البشري كاستدعاء أداة من الدرجة الأولى.

  • توجيه الخطوات عالية المخاطر للمراجعة البشرية
  • إعادة التغذية الراجعة البشرية إلى النظام كمدخل منظم
  • سير عمل سلس للتعاون بين الإنسان والذكاء الاصطناعي

العامل 8: امتلك تدفق التحكم الخاص بك

امتلك تدفق التحكم الخاص بك

الحفاظ على تدفق التحكم في الكود العادي أو محرك سير العمل الخاص بك.

  • تشغيل حلقات OODA صريحة (الملاحظة-التوجيه-القرار-العمل)
  • استخدام الاستدلالات التقاربية بدلاً من الموجهات المتداخلة
  • تجنب ترك نموذج اللغة الكبيرة (LLM) يدير تدفق التحكم المعقد

العامل 9: ضغط الأخطاء في نافذة السياق

ضغط الأخطاء في نافذة السياق

ضغط معلومات الخطأ في الموجه التالي لإغلاق حلقة التغذية الراجعة.

  • تمكين نموذج اللغة الكبيرة (LLM) من التعلم والتعافي من الأخطاء
  • توفير معلومات خطأ منظمة
  • دعم قدرات الإصلاح الذاتي

العامل 10: وكلاء صغار ومركّزون

وكلاء صغار ومركّزون

بناء وكلاء صغار وذوي غرض واحد، بدلاً من روبوتات الدردشة الضخمة المتجانسة.

// ممارسة جيدة: وكلاء صغار ومركّزون
class EmailSummaryAgent {
  async summarize(email: Email): Promise<Summary> { /* ... */ }
}

class PriorityClassificationAgent {
  async classify(email: Email): Promise<Priority> { /* ... */ }
}

العامل 11: التشغيل من أي مكان، خدمة المستخدمين حيثما كانوا

التشغيل من أي مكان، خدمة المستخدمين حيثما كانوا

تشغيل الوكلاء من حيث يعمل المستخدمون بالفعل: واجهة سطر الأوامر (CLI)، الـ webhook، الـ cron، إلخ.

  • الاندماج في سير العمل الحالي
  • آليات تشغيل متعددة
  • نقاط وصول سهلة الاستخدام

العامل 12: اجعل وكيلك مخفضًا (reducer) عديم الحالة

اجعل وكيلك مخفضًا (reducer) عديم الحالة

التطبيق يدير الحالة، والوكيل يبقى عديم الحالة.

// نمط الوكيل عديم الحالة
class StatelessAgent {
  step(state: State): Promise<State> {
 
  }
}

أنماط البنية التقنية

تبسيط الحلقة الأساسية

كل وكيل يؤول في جوهره إلى:

const prompt = "Instructions for next step selection";
const switchFunction = (json) => routeToFunction(json);
const context = manageWhatLLMSees();
const loop = whileNotDone();

الفرق عن الرسوم البيانية الموجهة غير الدورية (DAGs) التقليدية

  • الرسم البياني الموجه غير الدوري (DAG) التقليدي: يقوم مهندسو البرمجيات بترميز كل خطوة وحالة حافة
  • طريقة الوكيل: إعطاء الوكيل هدفًا ومجموعة من التحويلات، وترك نموذج اللغة الكبيرة (LLM) يقرر المسار في الوقت الفعلي
  • الواقع: أكثر التطبيقات نجاحًا تستخدم أنماط الوكيل بذكاء ضمن رسوم بيانية موجهة غير دورية (DAGs) أكبر وحتمية

سيناريوهات التطبيق

السيناريوهات الأكثر ملاءمة

  • المهام المنظمة التي تتطلب فهم اللغة الطبيعية
  • سير العمل التي تتطلب التعاون بين الإنسان والذكاء الاصطناعي
  • عمليات الأعمال المعقدة متعددة الخطوات
  • بيئات الإنتاج التي تتطلب موثوقية عالية

السيناريوهات غير المناسبة

  • المهام البسيطة الحتمية (من الأفضل كتابة الكود مباشرة)
  • المهام الحرجة التي تتطلب دقة 100%
  • البيئات ذات الموارد المحدودة للغاية

توصيات التنفيذ

التبني التدريجي

  1. ابدأ صغيرًا: اختر مبدأً واحدًا ذا صلة بتحدٍ حالي
  2. نفّذ وراقب: لاحظ تأثير التحسين
  3. أضف تدريجيًا: ثم أضف مبدأً آخر
  4. تحسين مستمر: صقل وتعديل باستمرار

مكدس التقنيات الموصى به

  • اللغة: TypeScript (موصى بها من قبل المؤلف، وتدعم أيضًا لغات أخرى مثل Python)
  • المكتبة الرئيسية: BAML (لتحليل محاذاة المخطط)
  • النشر: يدعم السحابة الأصلية (cloud-native) و Kubernetes

موارد ذات صلة

الموارد الرسمية

قراءات إضافية

الخلاصة

توفر مبادئ وكلاء العوامل الـ 12 منهجًا منهجيًا لبناء تطبيقات نماذج اللغة الكبيرة (LLM) جاهزة للإنتاج حقًا. لا تركز هذه المبادئ على بناء أطر عمل أكثر سحرية، بل على تطبيق ممارسات هندسة البرمجيات الأفضل على قدرات نماذج اللغة الكبيرة. تذكر الفكرة الأساسية: الوكلاء هم برمجيات؛ تعامل معهم على هذا النحو، وسيكافئونك بالموثوقية، وسهولة الصيانة، والقدرات التي لا يمكن لمنافسيك مجاراتها.