AI Agents · درس

بناء مجموعة اختبارات مرجعية

اجمع 50 إلى 200 زوج عالي الجودة من المدخلات والمخرجات المتوقعة، تغطي الحالات النادرة في الاستخدام الفعلي.

الدرس 2 من 414 خطوة

بناء مجموعة اختبارات مرجعية درس مجاني في AI Agents على CoddyKit. هذا هو الدرس 2 من أصل 4. يمكنك قراءة الدرس كاملاً أدناه مجاناً — ثم تمرن عليه مباشرة في المتصفح باستخدام محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7. هذا الدرس جزء من مسار التعلم في AI Agents، وتقدمك يتزامن عبر الويب وتطبيق CoddyKit. تتضمن دورة AI Agents 4 دروس في المجموع.

بعض أجزاء هذا الدرس لم تُترجم بعد وتظهر باللغة الإنجليزية.

ما المجموعة الذهبية؟

«مجموعة الاختبارات الذهبية» (أو «المجموعة الذهبية») هي مجموعة منتقاة من أزواج (الإدخال، الناتج المتوقع) تحدد شكل السلوك الجيد.

يُقاس كل تغيير مقارنةً بهذه المجموعة.

خصائص المجموعة الذهبية الجيدة

  • متنوعة — تغطي الحالات الشائعة AND الحالات الحدية
  • ينتقيها البشر — وليست منشأة تلقائيًا
  • مُصدرة بإصدارات — ومجمّدة في مستودعك
  • موثقة — لكل حالة مبررها

كم عدد الحالات؟

قاعدة تقريبية:

  • 50 حالة — الحد الأدنى القابل للاستخدام
  • 200 حالة — تغطية جيدة
  • أكثر من 1000 حالة — منتج ناضج

الجودة > الكمية. خمسون حالة مختارة بعناية أفضل من 500 حالة عشوائية.

مصادر الحالات

  1. مقابلات المستخدمين — ما الذي يطلبه المستخدمون الفعليون
  2. سجلات الإنتاج — الأسئلة التي وردت فعليًا
  3. تقارير الأخطاء — كل خطأ يتحول إلى تقييم
  4. التوليد العدائي — اطلب من LLM أن يحاول كسر الوكيل

Mining Bad Production Traces

for trace in last_week_traces():
    if trace.has_thumbs_down or trace.had_error:
        case = {
            'input': trace.input,
            'why_bad': trace.feedback_comment,
            'expected': None   # to be filled by human reviewer
        }
        save_to_review_queue(case)

الناتج المتوقع: المطابقة التامة مقابل الاستدلالية

هناك نوعان من النواتج المتوقعة:

  • المطابقة التامة — للاستخراج والتصنيف والحساب
  • الاستدلالية — للأسئلة والأجوبة المفتوحة؛ قيّم ما إذا كانت الحقائق الأساسية موجودة

Heuristic Scoring

def score_answer(actual, expected_facts):
    return sum(1 for f in expected_facts if f.lower() in actual.lower()) / len(expected_facts)

case = {
    'input': 'What is our refund policy?',
    'expected_facts': ['30 days', 'unopened', 'receipt required'],
    'min_score': 0.66   # at least 2 of 3 facts mentioned
}

actual_answer = "You can return items within 30 days if they are unopened."
score = score_answer(actual_answer, case['expected_facts'])
print(f"Score: {score:.2f} (min required: {case['min_score']})")

الحالات العدائية

أدرج الحالات الصعبة:

  • الأسئلة الخارجة عن النطاق («ما حالة الطقس على المريخ؟»)
  • الاستفسارات الغامضة
  • محاولات حقن الأوامر
  • المدخلات باللغات الأجنبية
  • المدخلات الطويلة جدًا

إصدار المجموعة الذهبية

خزّنها بصيغة JSON في مستودعك. يجب أن يوضح كل طلب دمج يحدّث المجموعة سبب التحديث:

// gold-set.json
[
  {
    "id": "refund-policy-001",
    "input": "What is your refund policy?",
    "expected_facts": ["30 days", "unopened", "receipt required"],
    "added_by": "alice@",
    "added_at": "2025-08-12",
    "reason": "Top customer support question"
  }
]

تقسيمات الاختبار/الحجب

لاكتشاف فرط الملاءمة، قسّم البيانات إلى:

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

وسم باريتو

وسِم الحالات حسب الفئة حتى تتمكن من معرفة موضع التراجع:

tag1 = {'tags': ['policy', 'common-question']}
tag2 = {'tags': ['math', 'edge-case']}
print(tag1)
print(tag2)

# Run eval and report:
print("Category 'policy': 0.92")
print("Category 'math': 0.68   <- regression here")

معايير التقييم

بالنسبة إلى النواتج المعقدة، اكتب معايير تقييم: ما الذي يجب أن يكون موجودًا، وما الذي يجب ألا يكون موجودًا، وما الذي يُفضّل وجوده:

rubric = {
    'must_include': ['30 days'],
    'must_not_include': ['no refunds'],
    'preferably_includes': ['receipt']
}
for k, v in rubric.items():
    print(f"{k}: {v}")

مصدر الحالات

ما المصدر الأعلى إشارةً لحالات التقييم؟

مراجعة

أكثر من 50 حالة منتقاة، مصدرها المستخدمون الفعليون وإخفاقات الإنتاج. أصدِرها بإصدارات، ووسِمها، وقسّمها إلى مجموعات تطوير واختبار وحجب. ووسّعها مع كل خطأ.

البدء مجانًا

تعلم AI Agents مع معلم ذكاء اصطناعي — مجانًا

اكتب وقم بتشغيل أكوادك الفعلية في المتصفح، واحصل على مساعدة فورية من معلم ذكاء اصطناعي متاح 24/7، واستمر من حيث توقفت على الويب أو في التطبيق.

الدورات
60
الدروس
239

الأسئلة الشائعة

هل درس «بناء مجموعة اختبارات مرجعية» مجاني؟

نعم — نص درس «بناء مجموعة اختبارات مرجعية» كامل متاح مجاناً هنا على الويب. لتمرينه بشكل تفاعلي (محرر أكواد مدمج ومدرس ذكاء اصطناعي متاح 24/7) وفتح باقي دورة AI Agents، انتقل إلى CoddyKit PRO. تتضمن دورة AI Agents 4 دروس في المجموع.

ماذا ستتعلم في «بناء مجموعة اختبارات مرجعية»؟

اجمع 50 إلى 200 زوج عالي الجودة من المدخلات والمخرجات المتوقعة، تغطي الحالات النادرة في الاستخدام الفعلي. تتمرن على AI Agents مع أكواد عملية تشغلها مباشرة في المتصفح، ومدرس ذكاء اصطناعي متاح 24/7 يجيب على أسئلتك أثناء عملك.

هل أحتاج إلى خبرة سابقة لأبدأ AI Agents؟

لا تُشترط خبرة سابقة. AI Agents على CoddyKit منظم للمبتدئين حتى المتقدمين، لذا يمكنك البدء من هنا أو من البداية والتقدم بسرعتك الخاصة. هذا هو الدرس 2 من أصل 4.

كم من الوقت يستغرق درس «بناء مجموعة اختبارات مرجعية»؟

معظم دروس CoddyKit تستغرق حوالي 5–10 دقائق. كل منها موجز وتفاعلي، لذا تحرز تقدماً مستمراً وتستأنف من حيث توقفت عبر الويب والتطبيق.

هل يمكنني كتابة وتشغيل أكواد في درس AI Agents هذا؟

نعم. كل درس في AI Agents يتضمن محرر أكواد مدمج، لذا تكتب وتشغل أكواداً حقيقية مباشرة في متصفحك وتحصل على تعليقات فورية من الذكاء الاصطناعي — بدون إعداد محلي.

جميع الدروس في هذه الدورة

  1. التطوير المدفوع بالتقييم للوكلاء
  2. بناء مجموعة اختبارات مرجعية
  3. مخاطر استخدام LLM بوصفه حَكمًا
  4. مجموعات اختبار الأداء: SWE-Bench وGAIA وToolBench
← العودة إلى AI Agents