Benchmark · agentic

SWE-bench Pro

7 resultados 5 modelos

Una versión de SWE-bench más difícil y resistente a la contaminación, creada por Scale AI. Extrae ~1,865 issues reales de GitHub de repositorios empresariales, de startups y de código abierto reservados en los que los modelos no fueron entrenados, y las correcciones suelen abarcar varios archivos.

Leer más
Ejemplo
Dado un issue real y el repositorio completo, el agente debe producir un parche —que a menudo modifica varios archivos— para que la suite de pruebas oculta del proyecto pase. Los problemas provienen de repositorios privados y comerciales precisamente para evitar la filtración de datos de entrenamiento.
Puntuación
% de issues resueltos, reportado como pass@1 (un intento). Cuanto más alto, mejor. Las puntuaciones son más bajas que en SWE-bench Verified porque las tareas son más difíciles y no se habían visto antes.
Verificación
Totalmente automático y con datos reservados: el parche generado se aplica y las pruebas unitarias ocultas reales del repositorio se ejecutan en un sandbox. Una tarea solo cuenta si todas las pruebas objetivo pasan y no se produce ninguna otra regresión.
Por qué importa
Diseñado para resistir la contaminación y la saturación que inflan las puntuaciones en SWE-bench Verified, de modo que es una señal más limpia de la habilidad real y generalizable de un agente de programación sobre código que el modelo nunca ha visto.
Ejemplo resuelto
Tarea
Repositorio acme/payments en un commit base fijo. Issue: Money('0.05').allocate([1, 1, 1]) pierde un centavo — las tres partes suman $0.04, no $0.05. Produce un parche para que un reparto siempre vuelva a sumar el importe original.
Solución
--- 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]
Explicación
La división entera trunca, por lo que las unidades menores restantes (centavos) se perdían silenciosamente. La corrección calcula cada parte y luego distribuye el resto de una unidad a la vez entre las primeras partes, garantizando que las partes asignadas siempre sumen el total. Las pruebas ocultas verifican sum(m.allocate(ratios)) == m en varios importes y proporciones.
0 21.5 43 64.5 86 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 Claude Opus 4.7 · 64.3 · 2026-04-23 GPT-5.5 · 58.6 · 2026-04-23 GPT-5.5 · 58.6 · 2026-04-23 Qwable-v1 · 80.3 · 2026-06-26 Grok 4.5 · 64.7 · 2026-07-08
GPT-5.2 Thinking Claude Opus 4.7 GPT-5.5 Qwable-v1 Grok 4.5
Cronología
Fecha Modelo Puntuación Fuente
2026-07-08 Grok 4.5 64.7% xAI lanza Grok 4.5 con bajo costo y rendimiento mixto en benchmarks
2026-06-26 Qwable-v1 80.3% Qwable-v1 lanzado como destilación de Claude Fable-5
2026-04-23 Claude Opus 4.7 64.3% OpenAI lanza GPT-5.5 con capacidades agénticas y duplica los precios de la API
2026-04-23 GPT-5.5 58.6% OpenAI lanza GPT-5.5 y GPT-5.5 Pro en la API
2026-04-23 GPT-5.5 58.6% OpenAI lanza GPT-5.5 con capacidades agénticas y duplica los precios de la API
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI lanza GPT-5.2, superando a Gemini 3 en benchmarks de codificación y razonamiento
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI presenta GPT-5.2 con capacidades mejoradas de codificación, contexto largo y razonamiento