Benchmark · agentic
SWE-bench Multilingual
O SWE-bench Multilingual mede se um agente de programação com IA consegue resolver issues reais do GitHub editando um repositório de código em várias linguagens de programação. A pontuação é % Resolved: a fração das 300 tarefas cuja correção passa nos próprios testes do projeto.
Saiba mais
- Exemplo
- Tipo de tarefa: o agente recebe um relatório de bug de um repositório open-source real (por exemplo, um projeto em Go, Java ou Ruby) junto com a base de código no commit anterior à correção, e deve produzir um patch que edite um ou mais arquivos para eliminar o problema descrito; nenhuma solução de referência é fornecida.
- Pontuação
- A métrica é % Resolved: cada uma das 300 instâncias é pontuada como aprovada/reprovada e o resultado é a porcentagem aprovada. Uma instância só é aprovada se, após aplicar o patch do agente, todos os testes Fail-to-Pass (que miram o bug) passarem e todos os testes Pass-to-Pass (comportamento existente) continuarem passando.
- Verificação
- O patch é verificado executando a suíte de testes do repositório em um container isolado: os testes Fail-to-Pass designados devem passar agora e todos os testes Pass-to-Pass devem continuar passando. Qualquer falha, erro ou patch que não aplique marca a instância como não resolvida; sem crédito parcial.
- Por que importa
- Ele avalia a capacidade de programação além do Python em 9 linguagens e 42 repositórios reais, revelando que os modelos resolvem bem menos issues em linguagens como Go, Rust ou PHP do que em Python — um teste mais honesto da generalização em engenharia de software entre linguagens.
Exemplo resolvido
Tarefa
Instância ilustrativa representativa. Repositório: uma biblioteca de utilitários de strings em Go no commit anterior à correção. Issue:
Reverse() causa panic / retorna texto corrompido em strings com caracteres UTF-8 multibyte. O teste Fail-to-Pass TestReverseUnicode espera que Reverse("héllo") == "olléh". O agente recebe apenas o texto da issue e o repositório — sem patch de referência.Solução
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
Explicação
O código original invertia a string byte a byte, o que quebra as runes UTF-8 multibyte e corrompe caracteres como
é; converter para um slice []rune e trocar as extremidades inverte por ponto de código Unicode, então Reverse("héllo") resulta em "olléh". Correção: aceito somente se o teste TestReverseUnicode (Fail-to-Pass) passar agora e todos os testes Pass-to-Pass continuarem passando no container.| Data | Modelo | Pontuação | Fonte |
|---|---|---|---|
| 2026-07-22 | Laguna S 2.1 | 78.5% | Poolside lança Laguna S 2.1, um modelo de codificação agênica com pesos abertos |
| 2026-03-27 | Composer 2 | 73.7% | Cursor publica relatório técnico sobre o treinamento do modelo de codificação agêntica Composer 2 |
| 2025-11-07 | Kimi K2 Thinking | 61.1% | Moonshot AI lança Kimi K2 Thinking, um modelo de raciocínio open-source com 1T parâmetros |
| 2025-07-28 | Kimi K2 | 47.3% | Moonshot lança Kimi K2, um modelo MoE agêntico aberto com 32B de parâmetros ativados |
| 2025-07-28 | Kimi K2 | 47.3% | Kimi K2: modelo MoE aberto com 1T de parâmetros e otimizador MuonClip |
| 2025-07-11 | Kimi K2 | 47.3% | Moonshot AI lança Kimi K2, um modelo MoE de 1T parâmetros com capacidades agênticas |
| 2025-07-11 | Kimi K2-Instruct | 47.3% | Moonshot AI lança Kimi-K2-Instruct, um modelo MoE de 1T parâmetros com capacidades agênticas |