Avanzado

SWE-bench: ¿sabe una IA corregir errores reales?

SWE-bench entrega a una IA una incidencia real de GitHub junto con el código del proyecto y comprueba si su corrección hace pasar los tests del proyecto. Se ha convertido en la referencia más citada para comparar agentes de programación.

Datos a 22 de octubre de 2026

Lo esencial en cifras

NivelAvanzado
Origen2023
Introducido porJimenez et al.

De dónde viene SWE-bench

El benchmark se presentó en el artículo «SWE-bench: Can Language Models Resolve Real-World GitHub Issues?» (Carlos E. Jimenez, John Yang et al., Princeton, octubre de 2023, publicado en ICLR 2024). Los autores reunieron 2294 problemas extraídos de incidencias reales de GitHub y de sus correcciones, en 12 proyectos Python populares. Su punto de partida: los benchmarks de código existentes, hechos de pequeños ejercicios aislados, ya no reflejaban la dificultad del trabajo real.

Qué mide

En cada tarea, el sistema recibe el repositorio tal como estaba cuando se abrió la incidencia, junto con su descripción. Debe producir un parche. Después se aplica ese parche y se ejecutan tests seleccionados: los que fallaban antes de la corrección real deben pasar, y los que ya pasaban deben seguir pasando. Resolver una tarea exige, por tanto, moverse por un proyecto completo, entender el código existente y a menudo modificar varios archivos: justo lo que hace una herramienta de programación agéntica.

Hoy existen varias variantes: Lite (más pequeña y barata de ejecutar), Verified (revisada por personas), Multilingual (más allá de Python) y Multimodal (incidencias con imágenes).

Sus límites

  • Un ámbito concreto: la versión original solo cubre Python y bibliotecas de código abierto conocidas. Los resultados no dicen nada, por ejemplo, de una aplicación interna de empresa o de otro lenguaje.
  • La contaminación: las incidencias y sus correcciones son públicas desde hace tiempo y pueden haberse visto durante el entrenamiento de los modelos.
  • Tests imperfectos: un parche puede pasar los tests y ser frágil, ilegible o incompleto. La calidad del código no se puntúa.
  • La dependencia del montaje: la puntuación mide un modelo con unas herramientas concretas, no un modelo aislado.

Por qué importa

SWE-bench llevó la evaluación de agentes de las preguntas aisladas a tareas completas que se verifican automáticamente. Sigue siendo un buen indicador de tendencia, que conviene cruzar con otras medidas como Terminal-Bench. Las puntuaciones actualizadas figuran en el ranking de IA, y nuestra metodología explica de dónde proceden.

Una idea falsa frecuente

  • «Una puntuación alta significa que la IA programa como un ingeniero». Significa que resuelve bien este tipo de incidencia, en estas condiciones de prueba.

Términos relacionados

Para probar

Todo el glosario

Preguntas frecuentes

¿Qué significa una puntuación en SWE-bench?

Es la proporción de incidencias en las que la corrección propuesta hace pasar los tests previstos. Una puntuación alta indica que un sistema resuelve a menudo este tipo de error en estos proyectos, no que sustituya a un desarrollador en cualquier proyecto.

¿Qué diferencia hay entre SWE-bench y SWE-bench Verified?

Verified es un subconjunto de 500 tareas del conjunto de prueba original, revisadas por anotadores humanos para descartar incidencias mal descritas, tests incorrectos o tareas imposibles. Se construyó con OpenAI y es la variante más citada.

¿La puntuación depende solo del modelo?

No. También depende de las herramientas que rodean al modelo: utilidades disponibles, número de intentos, tiempo asignado, forma de buscar en el código. Dos puntuaciones obtenidas con montajes distintos no se pueden comparar directamente.

¿Por qué el sitio no muestra todas las puntuaciones anunciadas?

El sitio se basa en fuentes públicas con condiciones de medida documentadas. Las cifras que anuncian los propios proveedores suelen usar montajes propios, difíciles de comparar entre sí.

Fuentes de los datos

Datos a 22 de octubre de 2026

Señalar un error

¿Una cifra, una fecha o un dato le parece incorrecto? Díganoslo: verificamos cada aviso.