الفصل 5 — تقييم تطبيقات LLM
المقالة الخامسة من الجولة الفصلية لـ LLM Primer V: بناء تطبيقات LLM في العالم الحقيقي. الفصل الذي يعترف بأن assertEqual مات على مخرجات LLM ويُعيد بناء انضباط الاختبار حول قضاةٍ مُثبَّتين، والثلاثي RAG، واختبارات المسار.
لماذا يوجد هذا الفصل
يقوم اختبار البرمجيات الكلاسيكي على افتراض أن المخرج الصحيح مخرجٌ محدد — الدالة تُعيد 42، والسلسلة تساوي "Hello, world"، وJSON يُطابق التركيبة. تُنتج أنظمة LLM إعادات صياغةٍ متكافئة المعنى مختلفة الحروف، ويسقط تأكيد المطابقة المضبوطة الذي أرسى اختبار البرمجيات خمسين عاماً على أول إعادة توليد. يمدّ الفريق يده حينئذٍ إلى BLEU وROUGE أو تشابه جيب التمام التضميني، ويكتشف أن هذه القياسات تتلازم ضعيفاً مع حكم الإنسان في الأشياء المُهمّة — هل الإجابة صحيحة، هل هي مؤصَّلة، هل تُعالج السؤال. يُعيد الفصل 5 بناء انضباط الاختبار حول ما ينفع فعلاً: رُبريكات النموذج قاضياً المُثبَّتة، والثلاثي RAG، واختبارات مسار الوكلاء، وحلقة مستمرة تُغذّي فيها الآثار الإنتاجية مجموعة التقييم التي تُبوّب الإصدار التالي.
5.1 فجوة التقييم والنموذج قاضياً
فجوة التقييم هي المسافة بين ما يستطيع اختبارٌ كلاسيكيٌّ قياسه وما يحتاج مخرج LLM أن يُقاس فعلاً. لا تلتقط قياسات المطابقة المضبوطة والسلاسل المرجعية أياً من الإخفاقات المُهمّة في المهام الغنية بإعادة الصياغة. النموذج قاضياً هو حصان العمل الذي يسدّ الفجوة، بانضباطَين يفصلانه عن الحيلة السطحية. أولاً، رُبريكة القاضي مُثبَّتة: لكل قيمة درجة تعريفٌ مكتوب، مع مثالٍ مثالياً، فلا يكون القاضي حراً في تخيل رقم. ثانياً، يُنتج القاضي التعليل قبل الدرجة، لأن قاضياً مُكلَّفاً بكتابة تعليله قاضٍ يُصنِّف بثباتٍ أعلى. تُكمِّل الفحوصات البرمجية القاضيَ فيما هو قابلٌ للتحقق حتمياً — يُحلَّل JSON، وتُوجَد الحقول اللازمة، وتغيب السلاسل المحظورة، وطول الردّ ضمن الحدود. القاضي ليس شاملاً؛ إنه ما يُغطّي الأرض التي لا تُغطّيها الفحوصات الحتمية.
5.2 الثلاثي RAG — صلة السياق، والتأصيل، وصلة الإجابة
لأنظمة الاسترجاع، النمط الذي تبلور هو تقييم ثلاث قِمم مستقلاً. تسأل صلة السياق ما إذا كانت القِطع المُسترجَعة ذات صلةٍ فعلاً بالاستعلام، وتعزل إخفاقات الاسترجاع عن إخفاقات التوليد. يسأل التأصيل ما إذا كانت الإجابة المُولَّدة تنبع من السياق المُسترجَع، ويلتقط الهلوسات التي تجتاز تحقق الشكل. تسأل صلة الإجابة ما إذا كانت الإجابة تُعالج السؤال الذي طرحه المستخدم فعلاً. مُسجَّلةً مستقلاً، تُوطِّن القِمم الثلاث الإخفاقات: درجة صلة سياقٍ منخفضةٌ تُشير إلى الاسترجاع، ودرجة تأصيلٍ منخفضةٌ تُشير إلى المُولِّد، ودرجة صلة إجابةٍ منخفضةٌ تُشير إلى المُوجِّه أو نظامٍ يُجيب على سؤالٍ مجاور. يُشغِّل RAGAS الثلاثي بوصفه خط أنابيب دُفَعي؛ وجودة النموذج القاضي تُهيمن على جودة الدرجات، فيصير القاضي ذاته مكوناً يُقيِّمه الفريق.
5.3 مواقع الأُطُر وانحدار الوكيل
تحتلّ ثلاثة أُطُر مواقع متمايزة. يُشغِّل RAGAS الثلاثي RAG دُفَعاً على مجموعة بياناتٍ من أزواج سؤال-إجابة وهو الأداة الصحيحة للتقييم الدوري لمجموعة بيانات. يُرفق TruLens دوال تغذيةٍ راجعة بحركة المرور الإنتاجية الحية ويحسب الثلاثي على الآثار ذاتها، فيُغلق الحلقة بين الإنتاج والتقييم. يُشغِّل DeepEval اختبارات LLM بوابةَ CI بالطريقة التي يُشغّل بها pytest اختبارات الوحدة، بعتباتٍ لكل قياس. يمتدّ ذلك في الوكلاء ثلاثة اتجاهات: اختبارات مسار اللقطة تُؤكِّد شكل تسلسل استدعاء الأدوات لمُدخلٍ ثابت، فتلتقط انحرافاً بنيوياً؛ وتؤكد إثباتات الثابت أن الوكيل لم يستدعِ أداةً محظورة أو يتخطَّ موافقةً مطلوبة؛ وتُصنِّف اختبارات الرُبريكة المسار ذاته من حيث معقولية الطريق. الوكيل الذي يُعطي الإجابة الصحيحة بالطريقة الخاطئة تغييرُ مُوجِّهٍ واحدٌ بعيداً عن إعطاء الإجابة الخاطئة بالطريقة ذاتها، واختبار المسار هو الانضباط الذي يلتقط ذلك.
ما يُمهِّد له الفصل 5
تحتاج التقييمات آثاراً إنتاجيةً لتعاين منها. تحتاج بوابات CI انحدارات حقيقيةً تحرسها. لا تعمل حلقة التحسن المستمر إلا إن وُجدت طبقة قابلية رصدٍ تلتقط كل خطوةٍ من كل استدعاء — استدعاءات النموذج، واستدعاءات الأدوات، ونتائج الاسترجاع، وقفزات الوكلاء الفرعيين، والتكلفة، وزمن الاستجابة، وتغذية المستخدم الراجعة. الفصل 6 هو تلك الطبقة. يمشي على OpenTelemetry باصطلاحات GenAI الدلالية، والقياسات المُهمّة لأنظمة LLM، واختيارات المنصة، والأهم — خط أنابيب التصدير الذي يُوجِّه الآثار منخفضة الدرجة إلى مجموعة التقييم التي تُبوّب الإصدار التالي.
التالي — الفصل 6: قابلية الرصد والتتبع للذكاء الاصطناعي. الأرضية التي تُتيح التقييم والتنقيح معاً — أثرٌ مُتداخل واحدٌ لكل استدعاء، مع التكلفة والجودة مُرفَقتَين بوصفهما خصائص من الدرجة الأولى.