Benchmark · coding
Aider Polyglot
Aider Polyglot é um benchmark de edição de código da ferramenta Aider que avalia o quão bem um LLM edita código existente em muitas linguagens de programação. A pontuação é a porcentagem de tarefas cujas edições produzem código correto que passa nos testes da tarefa.
Saiba mais
- Exemplo
- Um item típico é um exercício de programação no estilo Exercism em uma de várias linguagens (Python, Rust, Go, Java, JavaScript ou C++), no qual o modelo precisa editar os arquivos-fonte fornecidos para implementar a função exigida e passar nos testes.
- Pontuação
- A métrica é a porcentagem de tarefas resolvidas: uma tarefa só conta quando o código editado passa em todos os seus testes automáticos. O Aider também acompanha com que frequência as edições voltam no formato correto e aplicável.
- Verificação
- Os resultados são verificados automaticamente: os arquivos editados são executados contra o conjunto de testes unitários do exercício, e uma tarefa passa apenas se todos os testes passarem — sem votos humanos nem comparação por correspondência exata.
- Por que importa
- Ele espelha o fluxo de trabalho real de um desenvolvedor — editar arquivos existentes em muitas linguagens em vez de escrever trechos do zero —, sendo um sinal prático de quão útil um modelo é como assistente de programação.
Exemplo resolvido
Tarefa
Aider Polyglot tira exercícios do Exercism em 6 linguagens: o modelo recebe a especificação de um problema mais um arquivo de esqueleto (por ex.
acronym.py com def abbreviate(words): ...) e deve editá-lo para que a suíte oculta de pytest passe. Exemplo de especificação: converter uma frase em sua sigla — 'Portable Network Graphics' → 'PNG', tratando espaços, hifens e sublinhados como separadores e ignorando a demais pontuação.Solução
import re
def abbreviate(words):
return "".join(w[0].upper() for w in re.findall(r"[A-Za-z']+", words))
Explicação
A expressão regular extrai os tokens de palavra (letras mais apóstrofos internos), pega a primeira letra de cada token, coloca em maiúscula e as junta, de modo que 'Portable Network Graphics' → 'PNG'. A avaliação roda os testes unitários ocultos do exercício; o item pontua só se todos passarem (o aider reporta pass@2 na suíte).