لا تستطيع شحن ميزات مدعومة بـ LLM دون طريقة لمعرفة متى تسوء الأمور. معظم الفرق تلصق المخرجات في جدول لأسبوع، ثمّ تتوقّف. هذا المختبر يبني حزام تقييم بـ ٢٠٠ سطر يشغّل كلّ تغيير prompt مقابل مجموعة بيانات ثابتة، يُسجّل النتائج بتأكيدات قائمة على الخصائص (بدون تقييم بشريّ)، ويُصدر diff تستطيع وضعه في تعليق pull-request.
لماذا تتوقّف معظم الفرق عن القياس بعد الأسبوع الأوّل#
أوّل مرّة تشحن ميزة مدعومة بـ LLM، تنسخ بضعة مخرجات إلى Google Sheet، تسجّلها يدوياً، وتشعر بالمسؤوليّة. الخامسة التي تغيّر فيها الـ prompt، الجدول فيه ٤٠٠ صفّ، لا أحد يتذكّر اصطلاحات الأعمدة، وتتوقّف عن فتحه. من تلك النقطة فصاعداً، كلّ تغيير prompt قرار قائم على الإحساس.
العلاج ليس "راجع بعناية أكثر". العلاج حزام صغير يشغّل كلّ تغيير prompt مقابل مجموعة بيانات ثابتة، يسجّل النتائج بالكود، ويطبع diff. مئتا سطر. خمسة ملفّات. لا تقييم بشريّ.
مجموعة البيانات ملفّ JSON. أصغرها مفيدة بـ ٢٠ مدخلاً، كلّ منها بثلاثة مفاتيح: id، input، و expected. حقل expectedليس الإجابة الصحيحة بالضبط؛ هو مجموعة خصائص يجب أن تستوفيها الإجابة.
الانضباط هو بناء مجموعة البيانات من تتبّعات إنتاجيّة حقيقيّة، ليس أمثلة اصطناعيّة. اسحب ٢٠ مدخلاً حقيقيّاً من سجلّاتك، اكتب ما يجعل الإجابة "جيّدة بما يكفي"، ولديك خطّ أساس يمسك التراجعات في مساحة السطح الفعليّة التي يضربها المستخدمون.
كشف اللغة فظّ عمداً. التسجيل القائم على الخصائص ليس عن تصنيف مثاليّ؛ هو عن مسك الحالة التي يعيد فيها النموذج إنجليزيّة حين طلبت عربيّة، وتحدث أكثر ممّا تعتقد.
سطران من GitHub Action يحوّلان الحزام إلى البوّابة التي تمنع تراجعات الـ prompt من الشحن:
- run: npm run eval -- --prompt prompts/v3.txt --threshold 0.85- run: npm run eval -- --prompt prompts/v3.txt --diff prompts/v2.txt
علامة --threshold تُفشل الوظيفة إن نزل معدّل النجاح تحت ٨٥٪. علامة --diff تشغّل كلا الـ prompts وتطبع deltas لكلّ id. معاً يمنعان أكثر تراجع شائع لـ LLM: الـ prompt يبدو أفضل في ثلاث فحوصات سريعة، يُشحن، ويفشل على الذيل الطويل.
هذا المُشغّل، المُسجِّلون، والـ diff. ليس حاجز الكلفة (محاسبة tokens لكلّ نداء وتنبيهات الميزانيّة)، ليس استراتيجيّة الـ fallback (متى تتوقّف عن نداء النموذج وتُقدّم إجابة مخزّنة)، وليس عمليّات اليوم الثاني (كيف تُحدّث مجموعة البيانات أسبوعيّاً دون كسر خطّ الأساس). دورة هندسة مقترنة بـ AI الكاملة تغطّي الثلاثة فوق نفس الحزام.