مستوى المقال: محترف — مناسب لمهندسي ML وللمطورين اللي عندهم تطبيق Claude شغّال في الإنتاج وبيواجهوا regressions غير مفسّرة.
Evals للمحترف: ازاي تبني نظام تقييم لتطبيق Claude قبل Production
لو فريقك بيعدّل system prompt مرة كل أسبوع وكل تعديل بيكسر حاجة جديدة في الإنتاج، Evals هي اللي ناقصة. مقال يبني لك eval suite حقيقي بـ 180 حالة مرجعية في يومين شغل، وبيقيس regression rate قبل أي deploy.
المشكلة باختصار
تطبيقات الـ LLM ليها خاصية مزعجة: تعديل بسيط في الـ prompt ممكن يحسّن 12 حالة وفي نفس الوقت يخرّب 8 حالات تانية. من غير قياس منهجي، الفريق بيعتمد على "اختبرت 5 أمثلة وشغّالة" — وده بالظبط اللي بيخلّي 23% من العملاء يلاقوا bugs في الإنتاج بعد deploy ناجح ظاهريًا.
الـ Evals هي مجموعة اختبارات تلقائية على dataset ثابت من المدخلات الحقيقية، وبتقيس درجة جودة المخرجات بمعايير محددة سلفًا. النتيجة: قبل ما تـ deploy تعرف بالظبط اتحسّن إيه واتكسر إيه.
مثال للمبتدئين: مصحح الامتحانات
تخيّل مدرّس عنده 200 طالب وبيغيّر طريقة الشرح كل ترم. ازاي يعرف الطريقة الجديدة أحسن من القديمة؟ بيدّي نفس الامتحان لكل الطلبة قبل التغيير وبعده، ويقارن النتايج. الامتحان نفسه ثابت، الطلبة هم اللي اتغيروا.
Evals بتعمل نفس الكلام بالظبط. الـ dataset بتاعك = الامتحان الثابت. الـ prompt الجديد = طريقة الشرح الجديدة. الـ judge (سواء regex، assertion، أو LLM تاني) = ورقة الإجابة النموذجية.
التعريف العلمي الدقيق
Evals هي قياس منهجي وقابل للتكرار لسلوك نموذج لغة على dataset مرجعي ثابت، باستخدام دوال حكم (judges) deterministic أو probabilistic، بهدف رصد regressions ومقارنة versions مختلفة من الـ pipeline (نموذج، prompt، tools، RAG retrieval).
المصطلح اتعرّف بشكله الحديث في إطار OpenAI Evals (2023) وتوسّع في Anthropic's Evaluation Cookbook. الفكرة الأساسية مأخوذة من practices الـ regression testing في الـ software engineering التقليدي، مع طبقة probabilistic علشان النموذج مش deterministic بطبيعته.
أنواع الـ Judges الثلاثة وامتى تستخدم كل واحد
- Deterministic judge: regex، JSON schema validation، exact match. أرخص وأسرع. مناسب لو الإجابة المطلوبة structured (استخراج رقم فاتورة، تصنيف لـ 5 فئات).
- LLM-as-judge: نموذج تاني (يفضّل Claude Opus لو بتقيّم Sonnet) بيدّي درجة 1–5 على rubric محدد. أغلى 8x لكنه بيشتغل على open-ended outputs.
- Human eval: مراجع بشري على عيّنة 30–50 حالة. الأغلى والأبطأ، بس ضروري كـ ground truth لمعايرة الـ LLM-as-judge كل ربع سنة.
خطوات بناء eval suite في يومين
- لازم تغطّي happy path، edge cases، وحالات فشلت قبل كده. أقل من 50 حالة مش هيدّيك confidence interval مفيد، أكتر من 200 بيبطّأ كل run بدون فايدة إضافية.