Benchmark · agentic
SWE-bench Pro
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.| 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 |