Benchmark · agentic

SWE-bench Pro

6 نتائج 4 نماذج

نسخة أصعب ومقاوِمة للتلوث من SWE-bench مقدّمة من Scale AI. تعتمد على ~1,865 مشكلة حقيقية من GitHub مأخوذة من مستودعات مؤسسية وناشئة ومفتوحة المصدر مُستبعَدة لم تُدرَّب عليها النماذج، وعادةً ما تمتد الإصلاحات عبر عدة ملفات.

اقرأ المزيد
مثال
عند إعطاء مشكلة حقيقية والمستودع كاملًا، يجب على الوكيل إنتاج رقعة (patch) — غالبًا تمسّ عدة ملفات — كي تنجح مجموعة الاختبارات المخفية للمشروع. تأتي المشكلات من مستودعات خاصة وتجارية تحديدًا لتفادي تسرّب بيانات التدريب.
طريقة التقييم
النسبة المئوية للمشكلات التي تم حلّها، وتُذكَر بصيغة pass@1 (محاولة واحدة). الأعلى أفضل. تكون النتائج أدنى منها في SWE-bench Verified لأن المهام أصعب ولم تُشاهَد من قبل.
التحقق
آلي بالكامل ومُستبعَد: تُطبَّق الرقعة المُولَّدة وتُشغَّل اختبارات الوحدة المخفية الحقيقية للمستودع في بيئة معزولة (sandbox). لا تُحتسَب المهمة إلا إذا نجح كل اختبار مستهدف ولم يتراجع أي شيء آخر.
لماذا يهم
صُمِّم ليقاوم التلوث والتشبّع اللذين يضخّمان النتائج في SWE-bench Verified، فيكون إشارة أنقى لمهارة وكيل البرمجة الحقيقية والقابلة للتعميم على كود لم يره النموذج من قبل.
مثال محلول
المهمة
المستودع acme/payments عند commit أساسي ثابت. المشكلة: Money('0.05').allocate([1, 1, 1]) يُسقِط سنتًا واحدًا — إذ يبلغ مجموع الأجزاء الثلاثة $0.04 بدلًا من $0.05. أنتِج رقعة (patch) بحيث يعود مجموع أي توزيع دائمًا إلى المبلغ الأصلي.
الحل
--- a/payments/money.py
+++ b/payments/money.py
@@ def allocate(self, ratios):
-        total = sum(ratios)
-        return [self._from_minor(self.minor * r // total) for r in ratios]
+        total = sum(ratios)
+        shares = [self.minor * r // total for r in ratios]
+        remainder = self.minor - sum(shares)
+        for i in range(remainder):
+            shares[i] += 1
+        return [self._from_minor(s) for s in shares]
الشرح
القسمة الصحيحة (integer division) تقتطع الكسور، فتُفقَد الوحدات الصغرى المتبقية (السنتات) بصمت. يحسب الإصلاح حصة كل جزء، ثم يوزّع الباقي وحدةً وحدةً على الأجزاء الأولى، بما يضمن أن يساوي مجموع الأجزاء المُوزَّعة المجموعَ الكلي دائمًا. تتحقق الاختبارات المخفية من sum(m.allocate(ratios)) == m عبر عدة مبالغ ونِسَب.
0 17 34 51 68 2025-12-11 2026-03-25 2026-07-08 GPT-5.2 Thinking · 55.6 · 2025-12-11 GPT-5.2 Thinking · 55.6 · 2025-12-11 GPT-5.5 · 58.6 · 2026-04-23 GPT-5.5 · 58.6 · 2026-04-23 Claude Opus 4.7 · 64.3 · 2026-04-23 Grok 4.5 · 64.7 · 2026-07-08
GPT-5.2 Thinking GPT-5.5 Claude Opus 4.7 Grok 4.5
الجدول الزمني
التاريخ النموذج النتيجة المصدر
2026-07-08 Grok 4.5 64.7% إكس آي تطلق غروك 4.5 بتكلفة منخفضة وأداء مختلط في الاختبارات المرجعية
2026-04-23 GPT-5.5 58.6% OpenAI تطلق GPT-5.5 وGPT-5.5 Pro عبر واجهة برمجة التطبيقات
2026-04-23 GPT-5.5 58.6% OpenAI تطلق GPT-5.5 بقدرات وكيلية ومضاعفة أسعار واجهة برمجة التطبيقات
2026-04-23 Claude Opus 4.7 64.3% OpenAI تطلق GPT-5.5 بقدرات وكيلية ومضاعفة أسعار واجهة برمجة التطبيقات
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI تطرح GPT-5.2 بقدرات محسّنة للبرمجة والسياق الطويل والاستدلال
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI تطلق GPT-5.2، متفوقة على Gemini 3 في معايير البرمجة والاستدلال