O SWE-bench Verified é o padrão ouro para avaliar agentes de codificação: 500 problemas do mundo real + testes da OpenAI. Parece à prova de balas? Não exatamente. Mostramos que passar nos testes unitários != corresponder à verdade de base. No nosso artigo da ACL, corrigimos avaliações com erros: 24% dos agentes subiram ou desceram na tabela de classificação! 1/7
Exemplo: django PR-13933. O agente corrigiu uma mensagem de erro, mas quebrou silenciosamente a execução normal. Todos os testes estão verdes, enquanto o patch causaria uma falha em produção. 3/7
Para abordar a insuficiência de casos de teste no SWE-bench, desenvolvemos o UTBoost, um gerador de casos de teste baseado em LLM para projetos Python em grande escala. Por trás das câmaras, o UTBoost primeiro localiza o código relevante de forma detalhada (nível de arquivo -> nível de função -> nível de linha) e, em seguida, gera automaticamente testes no estilo pytest. 4/7
Dadas as casos de teste gerados, verificámos a sua correção e reavaliámos os agentes nas tabelas de classificação atuais do SWE-bench Lite e do Verified: - SWE-bench Lite: +28,4% mais patches errados detetados - SWE-bench Verified: +15,7% - As classificações mudaram 40,9% (Lite) e 24,4% (Verified) 5/7
Lição: Testar é difícil e ainda mais difícil quando a IA escreve o código. Os benchmarks devem evoluir com suítes mais fortes e em constante crescimento. Esperamos que o UTBoost seja um passo em direção a avaliações mais confiáveis. 6/7
Este é um trabalho conjunto com @BoshCavendish, @maxYuxuanZhu e @PinjiaHE 7/7
24,83K