Benchmark · coding
Aider Polyglot
Aider Polyglot es un benchmark de edición de código de la herramienta Aider que evalúa qué tan bien un LLM edita código existente en muchos lenguajes de programación. La puntuación es el porcentaje de tareas cuyas ediciones producen código correcto que pasa las pruebas de la tarea.
Leer más
- Ejemplo
- Un ítem típico es un ejercicio de programación al estilo de Exercism en uno de varios lenguajes (Python, Rust, Go, Java, JavaScript o C++), donde el modelo debe editar los archivos fuente proporcionados para implementar la función requerida y pasar las pruebas.
- Puntuación
- La métrica es el porcentaje de tareas resueltas: una tarea cuenta solo cuando el código editado pasa todas sus pruebas automáticas. Aider también mide con qué frecuencia las ediciones llegan en el formato correcto y aplicable.
- Verificación
- Los resultados se verifican de forma automática: los archivos editados se ejecutan contra el conjunto de pruebas unitarias del ejercicio, y una tarea se aprueba solo si pasan todas las pruebas, sin votos humanos ni comparación por coincidencia exacta.
- Por qué importa
- Refleja el flujo de trabajo real de un desarrollador —editar archivos existentes en muchos lenguajes en vez de escribir fragmentos desde cero—, por lo que es una señal práctica de cuán útil es un modelo como asistente de programación.
Ejemplo resuelto
Tarea
Aider Polyglot toma ejercicios de Exercism en 6 lenguajes: el modelo recibe la especificación de un problema más un archivo de esqueleto (p. ej.
acronym.py con def abbreviate(words): ...) y debe editarlo para que pase la suite oculta de pytest. Ejemplo de especificación: convertir una frase en su acrónimo — 'Portable Network Graphics' → 'PNG', tratando espacios, guiones y guiones bajos como separadores e ignorando el resto de la puntuación.Solución
import re
def abbreviate(words):
return "".join(w[0].upper() for w in re.findall(r"[A-Za-z']+", words))
Explicación
La expresión regular extrae los tokens de palabra (letras más apóstrofos internos), toma la primera letra de cada token, la pone en mayúscula y las une, de modo que 'Portable Network Graphics' → 'PNG'. La calificación ejecuta las pruebas unitarias ocultas del ejercicio; el ítem puntúa solo si pasan todas (aider reporta pass@2 sobre la suite).