Benchmark · agentic

SWE-bench Pro

6 resultados 4 modelos

Uma versão mais difícil e resistente à contaminação do SWE-bench, feita pela Scale AI. Ela reúne ~1,865 issues reais do GitHub a partir de repositórios corporativos, de startups e de código aberto reservados (held-out) nos quais os modelos não foram treinados, e as correções normalmente abrangem vários arquivos.

Saiba mais
Exemplo
A partir de uma issue real e do repositório completo, o agente precisa produzir um patch — muitas vezes alterando vários arquivos — para que a suíte de testes oculta do projeto passe. Os problemas vêm de repositórios privados e comerciais justamente para evitar vazamento de dados de treinamento.
Pontuação
% de issues resolvidas, reportada como pass@1 (uma tentativa). Quanto maior, melhor. As pontuações ficam mais baixas do que no SWE-bench Verified porque as tarefas são mais difíceis e nunca vistas antes.
Verificação
Totalmente automático e reservado (held-out): o patch gerado é aplicado e os testes unitários ocultos reais do repositório são executados em um sandbox. Uma tarefa só conta se todos os testes-alvo passarem e nada mais regredir.
Por que importa
Criado para resistir à contaminação e à saturação que inflam as pontuações no SWE-bench Verified, sendo assim um sinal mais limpo da habilidade real e generalizável de um agente de código em código que o modelo nunca viu.
Exemplo resolvido
Tarefa
Repositório acme/payments em um commit base fixo. Issue: Money('0.05').allocate([1, 1, 1]) perde um centavo — as três partes somam $0.04, e não $0.05. Produza um patch para que uma alocação sempre volte a somar o valor original.
Solução
--- a/payments/money.py
+++ b/payments/money.py
@@ def allocate(self, ratios):
-        total = sum(ratios)
-        return [self._from_minor(self.minor * r // total) for r in ratios]
+        total = sum(ratios)
+        shares = [self.minor * r // total for r in ratios]
+        remainder = self.minor - sum(shares)
+        for i in range(remainder):
+            shares[i] += 1
+        return [self._from_minor(s) for s in shares]
Explicação
A divisão inteira trunca o resultado, então as unidades menores restantes (centavos) eram perdidas silenciosamente. A correção calcula cada parcela e depois distribui o resto uma unidade de cada vez para as primeiras partes, garantindo que as partes alocadas sempre somem o total. Os testes ocultos verificam sum(m.allocate(ratios)) == m em vários valores e proporções.
0 17 34 51 68 2025-12-11 2026-03-25 2026-07-08 GPT-5.2 Thinking · 55.6 · 2025-12-11 GPT-5.2 Thinking · 55.6 · 2025-12-11 GPT-5.5 · 58.6 · 2026-04-23 GPT-5.5 · 58.6 · 2026-04-23 Claude Opus 4.7 · 64.3 · 2026-04-23 Grok 4.5 · 64.7 · 2026-07-08
GPT-5.2 Thinking GPT-5.5 Claude Opus 4.7 Grok 4.5
Linha do tempo
Data Modelo Pontuação Fonte
2026-07-08 Grok 4.5 64.7% xAI lança Grok 4.5 com baixo custo e desempenho misto em benchmarks
2026-04-23 GPT-5.5 58.6% OpenAI lança GPT-5.5 e GPT-5.5 Pro na API
2026-04-23 GPT-5.5 58.6% OpenAI lança GPT-5.5 com capacidades agênticas e preço de API dobrado
2026-04-23 Claude Opus 4.7 64.3% OpenAI lança GPT-5.5 com capacidades agênticas e preço de API dobrado
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI apresenta GPT-5.2 com capacidades aprimoradas de codificação, contexto longo e raciocínio
2025-12-11 GPT-5.2 Thinking 55.6% OpenAI lança GPT-5.2, superando Gemini 3 em benchmarks de codificação e raciocínio