Benchmark · coding

RepoBench

0 نتائج 0 نماذج

RepoBench هو معيار لإكمال الشيفرة تلقائيًا على مستوى المستودع للغتَي Python وJava، يقيس ما إذا كان النظام قادرًا على التنبؤ بالسطر التالي من الشيفرة باستخدام السياق داخل الملف والسياق عبر الملفات من ملفات أخرى في المستودع نفسه معًا. يتكوّن من ثلاث مهام — الاسترجاع (RepoBench-R)، وإكمال السطر التالي (RepoBench-C)، وخط الأنابيب من الطرف إلى الطرف (RepoBench-P) — وتُقيَّم أساسًا عبر Exact Match وEdit Similarity، وبدقة الاسترجاع لمهمة الاسترجاع.

اقرأ المزيد
مثال
بإعطاء الأسطر السابقة من ملف مصدري إضافةً إلى مقتطفات شيفرة مأخوذة من ملفات أخرى في المستودع نفسه (مثل وحدة تعرّف دالة أو صنفًا مساعدًا)، يُتنبّأ بالسطر التالي الوحيد من الشيفرة — وهو عادةً سطر يستدعي أو يشير إلى شيء معرَّف في ملف آخر.
طريقة التقييم
الإكمال (RepoBench-C و-P): يُقارَن السطر التالي المتنبَّأ به بالسطر المرجعي عبر Exact Match (نسبة الأسطر المتطابقة تمامًا) وEdit Similarity (درجة 0–100 = 1 − مسافة تحرير Levenshtein المعيَّرة)؛ ويُبلَّغ أيضًا عن CodeBLEU. الاسترجاع (RepoBench-R): accuracy@k — نسبة العناصر التي يكون فيها المقتطف المرجعي عبر الملفات ضمن أفضل k مرشحًا مسترجَعًا.
التحقق
التقييم آلي ومستند إلى مرجع (دون تنفيذ للشيفرة): يُطبَّع سطر خرج النموذج ثم يُطابَق كسلسلة نصية مع السطر التالي الحقيقي المحجوز من المستودع الأصلي. في Exact Match لا يُحتسب الإكمال صحيحًا إلا إذا كان مطابقًا حرفًا بحرف للسطر المرجعي؛ ويمنح Edit Similarity درجة جزئية؛ ويُقبل الاسترجاع عندما يظهر المقتطف المرجعي ضمن أفضل k.
لماذا يهم
على المساعدين البرمجيين الحقيقيين أن يستدلّوا عبر المستودع بأكمله، لا الملف المفتوح وحده. يعزل RepoBench نمذجة السياق عبر الملفات — استرجاع السياق الصحيح والتنبؤ بالسطر التالي المعتمد عليه — لذا صار ميدان اختبار قياسيًا لنماذج الشيفرة الواعية بالمستودع وذات السياق الطويل.
مثال محلول
المهمة
السياق عبر الملفات (helpers/formatting.py): def to_title(text): return text.strip().title() السياق داخل الملف (report.py): from helpers.formatting import to_title def make_heading(raw): تنبّأ بالسطر التالي.
الحل
return to_title(raw)
الشرح
السطر التالي المحجوز يستدعي to_title — الدالة المساعدة المعرَّفة في المقتطف عبر الملفات والمستوردة في الأعلى — على وسيط الدالة، وهو تمامًا ما كانت تفعله شيفرة المستودع الأصلية هنا؛ والنموذج الذي يتجاهل الملف الآخر لا يمكنه أن يعرف أن to_title هو الاستدعاء الصحيح. التقييم: Exact Match مقابل السطر المرجعي، مع منح Edit Similarity درجة جزئية للتطابقات القريبة.

لا توجد درجات موثّقة لهذا الـ Benchmark بعد.