Testes como Prompt: Um Benchmark de Desenvolvimento Orientado a Testes para Geração de Código com LLMs
Tests as Prompt: A Test-Driven-Development Benchmark for LLM Code Generation
May 13, 2025
Autores: Yi Cui
cs.AI
Resumo
Apresentamos o WebApp1K, um novo benchmark para avaliar modelos de linguagem de grande escala (LLMs) em tarefas de desenvolvimento orientado a testes (TDD), onde os casos de teste servem tanto como prompt quanto como verificação para a geração de código. Diferente das abordagens tradicionais que dependem de prompts em linguagem natural, nosso benchmark enfatiza a capacidade dos LLMs de interpretar e implementar funcionalidades diretamente a partir de casos de teste, refletindo práticas reais de desenvolvimento de software. Composto por 1000 desafios diversos em 20 domínios de aplicação, o benchmark avalia a capacidade dos LLMs de gerar código compacto e funcional sob as restrições de comprimento de contexto e complexidade de múltiplas funcionalidades. Nossos resultados destacam o seguimento de instruções e o aprendizado em contexto como capacidades críticas para o sucesso em TDD, superando a importância da proficiência geral em codificação ou do conhecimento pré-treinado. Por meio de uma avaliação abrangente de 19 modelos de ponta, revelamos gargalos de desempenho, como a perda de instruções em prompts longos, e fornecemos uma análise detalhada de erros abrangendo múltiplas causas raiz. Este trabalho ressalta o valor prático de benchmarks específicos para TDD e estabelece as bases para o avanço das capacidades dos LLMs em cenários rigorosos de codificação orientada a aplicações.
English
We introduce WebApp1K, a novel benchmark for evaluating large language models
(LLMs) in test-driven development (TDD) tasks, where test cases serve as both
prompt and verification for code generation. Unlike traditional approaches
relying on natural language prompts, our benchmark emphasizes the ability of
LLMs to interpret and implement functionality directly from test cases,
reflecting real-world software development practices. Comprising 1000 diverse
challenges across 20 application domains, the benchmark evaluates LLMs on their
ability to generate compact, functional code under the constraints of context
length and multi-feature complexity. Our findings highlight instruction
following and in-context learning as critical capabilities for TDD success,
surpassing the importance of general coding proficiency or pretraining
knowledge. Through comprehensive evaluation of 19 frontier models, we reveal
performance bottlenecks, such as instruction loss in long prompts, and provide
a detailed error analysis spanning multiple root causes. This work underscores
the practical value of TDD-specific benchmarks and lays the foundation for
advancing LLM capabilities in rigorous, application-driven coding scenarios.