SWE-bench, abreviação de Software Engineering Benchmark, é um benchmark introduzido por pesquisadores da Universidade de Princeton em 2023 que mede a capacidade de um modelo de linguagem de resolver tarefas reais de engenharia de software. Diferentemente de benchmarks sintéticos de codificação, como o HumanEval, o SWE-bench extrai suas tarefas diretamente de issues reais do GitHub e dos pull requests correspondentes que foram mesclados em repositórios populares de código aberto em Python, exigindo que o modelo gere um patch de código que resolva a issue e passe na suíte de testes existente do projeto.
Design
Cada tarefa do SWE-bench apresenta ao modelo um código-fonte em um commit específico, uma descrição de issue escrita por um usuário ou colaborador real, e o requisito de produzir um patch; o sucesso é medido se o patch faz com que os testes relevantes passem sem quebrar os existentes. Isso torna o SWE-bench consideravelmente mais difícil e realista do que benchmarks em nível de função, já que resolver uma issue frequentemente exige compreender uma base de código grande e desconhecida, identificar os arquivos relevantes entre muitos outros e fazer alterações que se integrem corretamente ao código existente, em vez de escrever uma função isolada a partir de uma especificação clara.
Relação com codificação agêntica
Como a resolução de issues no mundo real tipicamente envolve múltiplas etapas, como explorar o código, executar testes e iterar sobre a solução, o SWE-bench tornou-se intimamente associado ao surgimento de sistemas de codificação agêntica, em vez de geração de código em uma única etapa. Ferramentas como os modos de agente do GitHub Copilot, o Cursor e o Claude Code são comumente avaliadas contra o SWE-bench ou suas variantes como uma proxy para utilidade no mundo real, e o crescimento do benchmark acompanhou a mudança mais ampla na indústria, que passou a enxergar a assistência de código por LLMs não como autocompletar, mas como um agente de codificação semiautônomo.
Progresso e variantes
No início, os modelos resolviam apenas uma pequena fração do conjunto original de tarefas do SWE-bench, mas as pontuações subiram rapidamente ao longo de 2024 e 2025, à medida que laboratórios passaram a focar especificamente em capacidades agênticas de codificação, impulsionados por avanços em modelos de raciocínio e janelas de contexto mais longas, que permitem que os modelos mantenham uma parte maior do código-fonte em memória. Esse progresso acelerado levou à criação de variantes mais desafiadoras, incluindo o SWE-bench Verified, um subconjunto validado por humanos para eliminar tarefas ambíguas ou insolúveis, e o SWE-bench Lite, um subconjunto menor e mais rápido de executar, usado para iterações mais ágeis.
Significância
O SWE-bench é frequentemente citado em anúncios de lançamento de modelos por laboratórios como OpenAI e Anthropic como uma métrica principal de capacidade de codificação e de atuação agêntica, ao lado de suítes de avaliação mais amplas de LLMs. Seu fundamento em trabalho real e verificável de engenharia de software, em vez de problemas artificiais estilo quebra-cabeça, fez dele uma das proxies mais confiáveis para utilidade prática no desenvolvimento de software, embora críticos apontem que ele ainda cobre majoritariamente projetos em Python e issues que podem ser resolvidas dentro de um patch limitado, não capturando decisões arquiteturais de longo prazo, julgamento de engenharia ou trabalho que envolva muitos serviços e arquivos além do formato de tarefa do benchmark.
Impacto no campo
A popularidade do SWE-bench contribuiu para uma tendência mais ampla na avaliação de modelos, que passou a favorecer benchmarks realistas e fundamentados em tarefas concretas em detrimento de conjuntos sintéticos, refletindo movimentos semelhantes em outros domínios, à medida que pesquisadores buscaram combater a saturação de benchmarks e as preocupações com contaminação que afetavam suítes de teste estáticas mais antigas.