Benchmark · agentic

Multi-SWE-bench

2 resultados 2 modelos

O Multi-SWE-bench mede se um agente de codificação com IA consegue resolver issues reais do GitHub em muitos repositórios e linguagens de programação, não apenas Python. A métrica principal é a taxa de resolução (resolution rate): a porcentagem de instâncias cuja correção faz o conjunto de testes oculto passar.

Saiba mais
Exemplo
Uma tarefa representativa: dado um relato de bug ou pedido de funcionalidade real de um projeto de código aberto escrito em uma linguagem como Java, Go, Rust, TypeScript, JavaScript, C ou C++, junto com o repositório no commit anterior à correção, o agente deve gerar um patch que resolva o problema descrito.
Pontuação
Cada instância é avaliada como aprovada/reprovada por execução. O patch do agente é aplicado ao repositório e os testes do projeto são executados; a instância conta como resolvida apenas se os testes designados FAIL_TO_PASS agora passarem e todos os testes PASS_TO_PASS continuarem passando. A pontuação reportada é a taxa de resolução (instâncias resolvidas ÷ total), normalmente em pass@1, e pode ser detalhada por linguagem e por dificuldade anotada por especialistas (easy/medium/hard).
Verificação
A aceitação é totalmente baseada em execução dentro de uma imagem Docker por instância que reproduz exatamente o conjunto de ferramentas da linguagem e as dependências. O patch gerado deve aplicar-se sem conflitos e então os testes fail-to-pass e pass-to-pass são executados; não há avaliação por LLM nem comparação textual com o patch de referência do desenvolvedor.
Por que importa
O SWE-bench foi influente, mas cobre apenas Python, enquanto a engenharia de software real abrange muitas linguagens. O Multi-SWE-bench testa se os agentes de codificação generalizam entre linguagens em issues autênticos, com rótulos de dificuldade de especialistas, oferecendo um sinal mais difícil, realista e menos saturado da capacidade prática de engenharia de software.
Exemplo resolvido
Tarefa
Instância ilustrativa no formato do Multi-SWE-bench — linguagem: Go, uma pequena biblioteca de coleções genéricas. problem_statement: «Stack.Pop() em uma pilha vazia retorna o valor zero com um erro nil, ocultando silenciosamente bugs em quem chama; em vez disso, deveria retornar o sentinela ErrEmpty». Você recebe o repositório no commit base com o bug e o teste que falha. FAIL_TO_PASS: TestPopEmptyReturnsError. PASS_TO_PASS: TestPushThenPop, TestLen. Envie um patch que faça o teste que falha passar sem quebrar os testes que passam.
Solução
--- a/stack.go
+++ b/stack.go
@@ func (s *Stack[T]) Pop() (T, error) {
+	if len(s.items) == 0 {
+		var zero T
+		return zero, ErrEmpty
+	}
 	n := len(s.items)
 	v := s.items[n-1]
 	s.items = s.items[:n-1]
 	return v, nil
 }
Explicação
A correção adiciona ao Pop uma verificação de vazio que retorna o sentinela ErrEmpty (junto com o valor zero do tipo) exatamente como o TestPopEmptyReturnsError espera, deixando o caminho normal de remoção inalterado para que TestPushThenPop e TestLen continuem passando. A avaliação é puramente por execução: o harness aplica o patch na imagem Docker da instância e a marca como resolvida apenas se o teste FAIL_TO_PASS passar a aprovar e nenhum teste PASS_TO_PASS regredir.
0 8.5 17 25.5 34 2026-08-18 2026-09-08 2026-09-29 Qwen3.5-27B · 32.0 · 2026-08-18 FLUX.2 [klein] 4B · 7.4 · 2026-09-29
Qwen3.5-27B FLUX.2 [klein] 4B
Linha do tempo
Data Modelo Pontuação Fonte
2026-09-29 FLUX.2 [klein] 4B 7.37% AutoRef otimiza o arnés de agentes para geração de imagens com múltiplas referências
2026-08-18 Qwen3.5-27B 32.03% Agente Kozuchi resolve 374 instâncias do SWE-bench Verified usando Qwen3.5-27B