Benchmark · agentic

SWE-bench

9 resultados 7 modelos

O SWE-bench testa se um sistema de IA consegue corrigir bugs reais de software: ele reúne 2.294 issues autênticos de repositórios Python de código aberto populares no GitHub e pede que o modelo gere um patch com a correção do código. A métrica principal é a porcentagem de issues resolvidos.

Saiba mais
Exemplo
Um item típico entrega ao modelo um relatório de bug ou pedido de recurso real de um projeto Python — digamos, um issue do Django ou do scikit-learn — junto com o código daquele repositório, e pede que ele gere um patch que resolva o problema.
Pontuação
A pontuação é a porcentagem dos 2.294 issues resolvidos: um issue só conta se o patch do modelo, depois de aplicado, fizer passar o próprio conjunto de testes do repositório.
Verificação
A verificação é totalmente automática: o patch gerado é aplicado ao repositório e os testes reais do projeto são executados; a tarefa é aceita como resolvida apenas quando os testes-alvo que falhavam passam a aprovar e os que já aprovavam continuam aprovando, sem julgamento humano nem correspondência exata.
Por que importa
Ele mede a capacidade de engenharia de software de ponta a ponta em código real em vez de exercícios de brinquedo, o que o torna um termômetro muito acompanhado do progresso dos agentes de programação; para os números de manchete ele foi em grande parte substituído pelo subconjunto validado por humanos SWE-bench Verified.
Exemplo resolvido
Tarefa
Repositório psf/requests. Um usuário relata que definir um cabeçalho da requisição como None (para remover um cabeçalho padrão da sessão) não tem efeito: a chave com valor None permanece nos cabeçalhos combinados em vez de ser removida. Dado o repositório no commit com o bug e esta issue, produza um patch para que requests.sessions.merge_setting remova as chaves cujo valor seja None.
Solução
--- a/requests/sessions.py
+++ b/requests/sessions.py
@@ -412,6 +412,11 @@ def merge_setting(request_setting, session_setting, dict_class=OrderedDict):
     merged_setting = dict_class(to_key_val_list(session_setting))
     merged_setting.update(to_key_val_list(request_setting))
 
+    # Remove keys that are set to None. Extract the keys first to avoid
+    # mutating the dictionary while iterating over it.
+    none_keys = [k for (k, v) in merged_setting.items() if v is None]
+    for key in none_keys:
+        del merged_setting[key]
+
     return merged_setting
Explicação
Depois de combinar os dicionários da sessão e da requisição, qualquer chave que aponte para None veio de uma substituição explícita no nível da requisição feita para apagar um valor padrão, então a correção reúne essas chaves e as remove (montando a lista primeiro para não alterar o dicionário durante a iteração). O SWE-bench avalia aplicando o patch e executando os testes FAIL_TO_PASS e PASS_TO_PASS da instância — resolvido só se todos passarem.
0 21.5 43 64.5 86 2023-10-10 2024-11-01 2025-11-25 Claude 2 · 2.0 · 2023-10-10 Claude 3.7 Sonnet · 70.3 · 2025-02-24 Claude Sonnet 4 · 72.7 · 2025-05-22 Claude Sonnet 4 · 72.7 · 2025-05-22 Claude Opus 4 · 72.5 · 2025-05-22 Claude Opus 4 · 72.5 · 2025-05-22 Grok 4 Code · 75 · 2025-07-10 Qwen3-Coder-480B-A35B-Instruct · 55.4 · 2025-10-17 Claude Opus 4.5 · 80.9 · 2025-11-25
Claude 2 Claude 3.7 Sonnet Claude Sonnet 4 Claude Opus 4 Grok 4 Code Qwen3-Coder-480B-A35B-Instruct Claude Opus 4.5
Linha do tempo
Data Modelo Pontuação Fonte
2025-11-25 Claude Opus 4.5 80.9% Anthropic lança Claude Opus 4.5 com codificação e uso de computador de última geração
2025-10-17 Qwen3-Coder-480B-A35B-Instruct 55.4% Alibaba lança Qwen3-Coder-480B-A35B-Instruct, modelo de código aberto para programação com desempenho equivalente ao proprietário
2025-07-10 Grok 4 Code 75.0% xAI lança Grok 4 com camada Heavy multi-agente e dados da web em tempo real
2025-05-22 Claude Sonnet 4 72.7% Anthropic lança Claude Opus 4 e Sonnet 4 com medidas de segurança ASL-3
2025-05-22 Claude Opus 4 72.5% Anthropic lança Claude Opus 4 e Sonnet 4 com medidas de segurança ASL-3
2025-05-22 Claude Opus 4 72.5% Anthropic apresenta Claude Opus 4 e Sonnet 4 com pensamento estendido e uso de ferramentas
2025-05-22 Claude Sonnet 4 72.7% Anthropic apresenta Claude Opus 4 e Sonnet 4 com pensamento estendido e uso de ferramentas
2025-02-24 Claude 3.7 Sonnet 70.3% Anthropic lança Claude 3.7 Sonnet com controle dinâmico de raciocínio
2023-10-10 Claude 2 1.96% SWE-bench apresenta framework para avaliar LMs em issues reais do GitHub