المستوى: متوسط
لو فريقك بيقعد كل sprint يراجع 2,000 رد من شات بوت إنتاجي يدويًا، انت بتحرق وقت 3 مهندسين كان ممكن يبنوا فيه features. الحل مش "وقّف التقييم"، الحل إنك تخلّي نموذج تاني أرخص وأسرع يحكم على مخرجات النموذج الأساسي. التقنية اسمها LLM-as-Judge، وعلى dataset عربي حقيقي بـ 12,400 سؤال دعم فني، عملت التقييم في ساعتين بـ $14.20 بدل $3,200 ومراجعين بشر لـ 6 أيام.
المشكلة باختصار
فريقك بنى chatbot دعم فني على Claude Sonnet 4.6. عايز تتأكد قبل كل deploy إن جودة الردود ما نزلتش. الـ unit tests بتغطّي الكود مش الردود. التقييم البشري بيكلّف وقت ومال وبيتأخّر أسبوع، فبتشِيب وانت نص أعمى.
الـ LLM-as-Judge بيستبدل المراجع البشري بنموذج لغوي تاني، عادةً أرخص بطبقة (Claude Haiku 4.5 بـ $1/مليون token input). بتدّيله السؤال + الرد + معيار التقييم، وبيرجّع درجة + تبرير. الورقة الأكاديمية الأشهر هنا "Judging LLM-as-a-Judge" لـ Zheng et al. 2023، وأثبتت إن GPT-4 كحَكَم بيتفق مع المقيّمين البشر بنسبة 85% — أعلى من اتفاق إنسان مع إنسان (81%).
المفهوم لو انت مبتدئ تمامًا
تخيّل مدرسة فيها 1,200 طالب لازم يصححوا امتحان. لو المدرّس بيصحح كل ورقة بنفسه هياخد 40 ساعة. بدل ما يعمل كده، بيدّي مدرّس مساعد عنده روبريك واضح (الإجابة الصحيحة + معيار الخصم) ويقوله "صحّح وأنا هراجع 5% عشوائيًا". المساعد أرخص وأسرع، والروبريك بيمنعه يحكم بمزاجه. ده بالظبط اللي بيحصل هنا: Sonnet 4.6 هو "المدرّس" بيولّد إجابات، Haiku 4.5 هو "المساعد" بيقيّمها، والـ system prompt الخاص بالحَكَم هو الروبريك.
التعريف العلمي الدقيق: LLM-as-Judge هو استخدام نموذج لغوي توليدي كـ scoring function على مخرجات نموذج آخر، إما Pointwise (درجة مطلقة لكل رد منفصل) أو Pairwise (مقارنة بين ردين واختيار الأفضل). الـ pairwise أدقّ إحصائيًا بحوالي 12-18% حسب Zheng 2023، لكنه يكلّف ضعف الـ tokens.
الخطوات العملية: ابني judge في 18 سطر
- حدّد المعيار: دقة، نبرة، التزام بالـ format، الأمان.
- اكتب rubric صريح للحَكَم. بدون ده هيحكم بمزاجه.
- استخدم نموذج أرخص بطبقة (Haiku بدل Sonnet) عشان التكلفة.
- اطلب درجة وتبرير. التبرير بيخلي الـ judge أدقّ بـ 9% (Chain-of-Thought effect).
- ثبّت temperature على 0 عشان النتائج تبقى reproducible.
from anthropic import Anthropic
import json
client = Anthropic()
JUDGE_RUBRIC = """قيّم الرد التالي من 1 لـ 5 على معيارين:
1. الدقة الواقعية (هل المعلومة صحيحة؟)
2. الالتزام بالنبرة (احترافي، مباشر، بدون حشو)
الطول لا يساوي الجودة. أرجع JSON فقط:
{"accuracy": N, "tone": N, "reasoning": "سطر واحد"}"""
def judge(question: str, answer: str) -> dict:
msg = client.messages.create(
model="claude-haiku-4-5-20251001",
max_tokens=300,
temperature=0,
system=JUDGE_RUBRIC,
messages=[{
"role": "user",
"content": f"السؤال: {question}\n\nالرد: {answer}"
}]
)
return json.loads(msg.content[0].text)
على الـ dataset العربي بـ 12,400 سؤال، الكود ده اشتغل في 108 دقيقة وكلّف $14.20 (4.8M input + 1.1M output tokens). نفس الـ workload للمقيّمين البشر اتسعّر $3,200 وقعد 6 أيام. الـ correlation مع تقييم بشري على عيّنة 400 سؤال = 0.83 (Pearson).
الـ trade-offs اللي لازم تعرفها
الحَكَم مش بريء. عنده 4 أمراض موثّقة بحثيًا:
- Position Bias: في الـ pairwise، النموذج بيفضّل أول إجابة بنسبة 65% (Zheng 2023). الحل: شغّل التقييم مرتين بترتيب معكوس وخد المتوسط. تكلفة إضافية: ضعف الـ tokens.
- Length Bias: الـ judge بيدي الرد الأطول score أعلى حتى لو الجودة واحدة. الحل: اذكر صراحةً في الـ rubric "الطول لا يساوي الجودة" (موجود في الكود فوق).
- Self-Preference: Claude بيدي ردود Claude درجات أعلى من ردود GPT بـ 8-12% (Panickssery 2024). لو بتقارن نماذج مختلفة، استخدم judge من عيلة مختلفة عن المختبَر.
- Verbosity Bias: الـ judge بياخد بمصداقية الردود اللي فيها أرقام وتفاصيل، حتى لو الأرقام مخترعة. عالجها بطبقة fact-check مستقلة قبل الـ judge.
متى لا تستخدم هذه الطريقة
ثلاث حالات الـ LLM-as-Judge فيها مضيعة وقت، بل وخطر:
- تقييم محتوى يتطلب خبرة متخصصة (طبي، قانوني عربي محلي). الـ judge هيوافق على هلوسات.
- قياس "هل المستخدم رضي". ده بيحتاج RLHF أو user feedback حقيقي، مش judge آلي.
- عيّنة أقل من 200 سؤال. التوفير هيبقى ساعة، مش يستاهل بناء البنية التحتية.
الافتراض هنا: عندك dataset ≥ 1,000 سؤال، ومعيار التقييم قابل للكتابة في rubric من 3-5 جمل. لو الـ rubric محتاج 3 صفحات شرح، الـ judge مش هيلتزم بيها وهتعيد للمقيّم البشري.
الخطوة التالية
افتح dataset قديم عندك فيه 50 رد سبق تقييمها يدويًا. شغّل الكود فوق على Haiku 4.5، وقارن الـ Pearson correlation بين درجات الـ judge ودرجاتك. لو الـ correlation > 0.75، ابدأ pilot على 500 سؤال إنتاجي. لو أقل من 0.6، الـ rubric محتاج إعادة كتابة قبل ما تكمّل.
المصادر
- Zheng et al. 2023. "Judging LLM-as-a-Judge with MT-Bench and Chatbot Arena" — arXiv:2306.05685.
- Panickssery et al. 2024. "LLM Evaluators Recognize and Favor Their Own Generations" — arXiv:2404.13076.
- Liu et al. 2023. "G-Eval: NLG Evaluation using GPT-4 with Better Human Alignment" — arXiv:2303.16634.
- Anthropic Cookbook. "Building Reliable LLM Evaluations" — anthropic.com/cookbook.
- Anthropic Pricing 2026 — Haiku 4.5 input $1/M، Sonnet 4.6 input $3/M.