Benchmark · coding

HumanEval+

saturated 1 نتائج 1 نماذج

HumanEval+ هو نسخة صارمة وموسّعة من معيار HumanEval لتوليد الكود من OpenAI: يحتفظ بمسائل البرمجة الأصلية الـ164 المكتوبة يدويًا بلغة Python لكنه يضيف نحو 80x مزيدًا من حالات الاختبار (عبر إطار EvalPlus)، ويُقيَّم بمقياس pass@k (عادةً pass@1).

اقرأ المزيد
مثال
يقدّم كل عنصر توقيع دالة بلغة Python مع docstring بلغة طبيعية — غالبًا مع مثال doctest — يصف السلوك المطلوب (مثلًا: 'أعِد عناصر القائمة الأكبر تمامًا من عتبة معيّنة، بالترتيب')، وعلى النموذج أن يولّد جسم الدالة الذي يحقق ذلك.
طريقة التقييم
المقياس هو pass@k: لكل مسألة تُؤخذ عيّنة من n >= k من الإكمالات، ينجح c منها في كل الاختبارات، ويُحسب متوسط المُقدّر غير المتحيّز pass@k = 1 - C(n-c, k) / C(n, k) على الـ164 مسألة (الأكثر إبلاغًا هو pass@1). يُحتسب الإكمال فقط إذا اجتاز مجموعة الاختبارات الموسّعة بالكامل، لذا تكون درجات HumanEval+ أقل من HumanEval العادي.
التحقق
يُنفَّذ كل إكمال في بيئة معزولة (sandbox) مقابل مجموعة الاختبارات الموسّعة ضمن حدود للوقت والذاكرة، ويُقبل فقط إذا اجتازت كل حالات الاختبار — الاختبارات الأصلية إضافة إلى المدخلات المولَّدة بواسطة EvalPlus. لا توجد درجة جزئية: اختبار واحد يفشل أو ينتهي وقته يُسقِط العيّنة كلها.
لماذا يهم
اختبارات HumanEval الأصلية متفرقة، مما يسمح لحلول خاطئة بشكل خفي بالمرور وتضخيم معدلات النجاح المُبلَّغ عنها؛ أما اختبارات HumanEval+ الأكثف بنحو 80x فتكشف هذه الإيجابيات الكاذبة وتعيد ترتيب تصنيف النماذج، مما يجعله فحص صحة قياسيًا وأكثر صرامة لنماذج توليد الكود.
مثال محلول
المهمة
عنصر تمثيلي على نمط HumanEval+ — توقيع Python مُحدَّد الأنواع مع docstring و doctest، حيث يجب على النموذج إكمال جسم الدالة: ```python from typing import List def above_threshold(numbers: List[float], threshold: float) -> List[float]: """Return the numbers from the input list that are strictly greater than the given threshold, preserving their original order. >>> above_threshold([1.0, 5.5, 2.3, 8.0], 3.0) [5.5, 8.0] """ ```
الحل
```python
from typing import List

def above_threshold(numbers: List[float], threshold: float) -> List[float]:
    return [n for n in numbers if n > threshold]
```
الشرح
يحتفظ list comprehension بالعناصر الأكبر تمامًا من العتبة فقط ويحافظ على ترتيب الإدخال، محقّقًا المواصفة و doctest ([5.5, 8.0]). يُشغِّل التقييم هذا مقابل مجموعة HumanEval+ الكاملة — العديد من الحالات الحدّية المولَّدة تلقائيًا مثل القوائم الفارغة والأعداد السالبة والقيم المتساوية جميعها — ويمنح 1 فقط إذا اجتازت كل الاختبارات.
0 3.5 7 10.5 14 2026-07-13 Qwen3.5-4B · 13 · 2026-07-13
Qwen3.5-4B
الجدول الزمني
التاريخ النموذج النتيجة المصدر
2026-07-13 Qwen3.5-4B 13.0% تضغط Flint مسارات الاستدلال لتقليل استخدام الرموز مع الحفاظ على الدقة