Benchmark · agentic
SWE-rebench
SWE-rebench es una variante en constante actualización del benchmark de programación SWE-bench que toma tareas de issues recientes de GitHub para reducir la probabilidad de que un modelo las haya visto durante el entrenamiento. Reporta el porcentaje de tareas de ingeniería de software que el modelo resuelve (% resolved).
Leer más
- Ejemplo
- Un ítem típico entrega al modelo un informe de error o una solicitud de función real de un repositorio de GitHub, y este debe editar el código del proyecto para resolver el problema.
- Puntuación
- La métrica es % resolved: el número de tareas que el modelo arregla dividido por el número total de tareas, expresado como porcentaje.
- Verificación
- Una solución se acepta de forma automática cuando la propia suite de pruebas del repositorio pasa sobre el código corregido: el arreglo debe poner en verde las pruebas que fallaban sin romper las demás.
- Por qué importa
- Como sus tareas se renuevan a partir de issues recientes, ofrece una lectura más limpia de la habilidad real de programación, más difícil de inflar memorizando datos de benchmarks antiguos y públicos.
Ejemplo resuelto
Tarea
Instancia de SWE-rebench construida a partir de un repositorio Python real de GitHub (
python-slugify), fijado en un commit base. Problema: slugify('Hello, World!') devuelve 'hello--world' — los separadores consecutivos producen un guion doble en lugar de uno, pero el slug esperado es 'hello-world'. Entregable: un parche git-diff sobre la instantánea del repositorio que haga pasar el test FAIL_TO_PASS manteniendo en verde todos los tests PASS_TO_PASS.Solución
--- a/slugify/slugify.py
+++ b/slugify/slugify.py
@@ def slugify(text):
text = re.sub(r"[^\w\s-]", "", text).strip().lower()
- return re.sub(r"[\s]+", "-", text)
+ text = re.sub(r"[\s]+", "-", text)
+ return re.sub(r"-{2,}", "-", text)
Explicación
El generador de slug colapsa los espacios en
- pero nunca deduplica los guiones repetidos, así que varios separadores se cuelan; añadir re.sub(r'-{2,}', '-', text) los normaliza a un solo -. SWE-rebench califica por ejecución: aplica el parche en el contenedor del repositorio y marca la instancia como resuelta solo si el test FAIL_TO_PASS ahora pasa y todos los tests PASS_TO_PASS siguen pasando (ranking = % resueltas).