Benchmark · agentic
SWE-bench Multilingual
SWE-bench Multilingual mide si un agente de programación con IA puede resolver issues reales de GitHub editando un repositorio de código en varios lenguajes de programación. La puntuación es % Resolved: la proporción de las 300 tareas cuya corrección pasa las propias pruebas del proyecto.
Leer más
- Ejemplo
- Tipo de tarea: al agente se le entrega un informe de error de un repositorio open-source real (por ejemplo, un proyecto en Go, Java o Ruby) junto con el código base en el commit anterior a la corrección, y debe producir un patch que edite uno o más archivos para eliminar el problema descrito; no se aporta solución de referencia.
- Puntuación
- La métrica es % Resolved: cada una de las 300 instancias se puntúa como aprobada/reprobada y el resultado es el porcentaje aprobado. Una instancia aprueba solo si, tras aplicar el patch del agente, todas las pruebas Fail-to-Pass (que apuntan al fallo) pasan y todas las pruebas Pass-to-Pass (comportamiento existente) siguen pasando.
- Verificación
- El patch se verifica ejecutando la batería de pruebas del repositorio en un container aislado: las pruebas Fail-to-Pass designadas deben pasar ahora y todas las pruebas Pass-to-Pass deben seguir pasando. Cualquier fallo, error o patch que no aplique marca la instancia como no resuelta; sin crédito parcial.
- Por qué importa
- Evalúa la capacidad de programación más allá de Python en 9 lenguajes y 42 repositorios reales, y revela que los modelos resuelven bastantes menos issues en lenguajes como Go, Rust o PHP que en Python: una prueba más honesta de la generalización en ingeniería de software entre lenguajes.
Ejemplo resuelto
Tarea
Instancia ilustrativa representativa. Repositorio: una biblioteca de utilidades de cadenas en Go en su commit anterior a la corrección. Issue:
Reverse() provoca panic / devuelve texto distorsionado con cadenas que tienen caracteres UTF-8 multibyte. La prueba Fail-to-Pass TestReverseUnicode espera que Reverse("héllo") == "olléh". El agente recibe solo el texto del issue y el repositorio, sin patch de referencia.Solución
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
Explicación
El código original invertía la cadena byte a byte, lo que parte las runas UTF-8 multibyte y corrompe caracteres como
é; convertir a un slice []rune e intercambiar los extremos invierte por punto de código Unicode, así que Reverse("héllo") da "olléh". Calificación: se acepta solo si la prueba TestReverseUnicode (Fail-to-Pass) pasa ahora y todas las pruebas Pass-to-Pass siguen pasando en el container.| Fecha | Modelo | Puntuación | Fuente |
|---|---|---|---|
| 2026-07-22 | Laguna S 2.1 | 78.5% | Poolside lanza Laguna S 2.1, un modelo de codificación agénica con pesos abiertos |
| 2026-03-27 | Composer 2 | 73.7% | Cursor publica informe técnico sobre el entrenamiento del modelo de codificación agéntica Composer 2 |
| 2025-11-07 | Kimi K2 Thinking | 61.1% | Moonshot AI lanza Kimi K2 Thinking, un modelo de razonamiento de código abierto con 1T parámetros |
| 2025-07-28 | Kimi K2 | 47.3% | Moonshot lanza Kimi K2, un modelo MoE agénico abierto con 32B de parámetros activados |
| 2025-07-28 | Kimi K2 | 47.3% | Kimi K2: modelo MoE abierto con 1T parámetros y optimizador MuonClip |
| 2025-07-11 | Kimi K2 | 47.3% | Moonshot AI lanza Kimi K2, un modelo MoE de 1T parámetros con capacidades agénticas |
| 2025-07-11 | Kimi K2-Instruct | 47.3% | Moonshot AI lanza Kimi-K2-Instruct, un modelo MoE de 1T parámetros con capacidades agénticas |