Benchmark · agentic

SWE-Lancer

1 resultados 1 modelos

O SWE-Lancer é um benchmark de 1488 tarefas reais de engenharia de software freelance do Upwork, avaliadas em 1 milhão de dólares (USD) em pagamentos reais; ele mede quanto desse dinheiro um modelo consegue «ganhar» ao resolvê-las por completo, pontuado como o total de USD ganhos (e a proporção de tarefas resolvidas).

Saiba mais
Exemplo
Uma tarefa de correção de bug no estilo freelance: dado um issue real (no estilo do GitHub) e o repositório completo do app, o modelo deve produzir um patch que faça um fluxo de usuário quebrado voltar a funcionar (por exemplo, a tela de dividir uma conta ou de pagamento), verificado por testes end-to-end. Uma segunda trilha traz tarefas de gestão: escolher a melhor proposta de engenharia entre várias.
Pontuação
Cada tarefa carrega o preço real em USD pelo qual foi paga no Upwork (de cerca de 50 a 32.000 dólares). Um modelo ganha o preço integral de uma tarefa somente se sua solução passar — não há crédito parcial dentro de uma tarefa. A métrica principal é o total de dólares ganhos do fundo de 1 milhão, junto com a porcentagem de tarefas resolvidas; as duas trilhas (codificação IC e gestão) também são reportadas separadamente.
Verificação
As tarefas de codificação (IC) são avaliadas por testes end-to-end (Playwright) que simulam ações reais do usuário, escritos e verificados por engenheiros profissionais e executados em um ambiente Docker isolado; o patch do modelo deve passar em todos os testes da tarefa, e o modelo não pode vê-los nem editá-los. As tarefas de gestão são aceitas quando o modelo escolhe a mesma proposta que o gerente que contratou de fato escolheu.
Por que importa
Ele vincula o desempenho do modelo a trabalho economicamente real, precificado pelo mercado, sobre uma base de código de produção real, em vez de problemas sintéticos ou autoavaliados. Como a avaliação usa fluxos de usuário end-to-end completos (não correções isoladas de funções), mais uma trilha de decisão gerencial, ele testa se os modelos de fronteira conseguem fazer a engenharia completa e valiosa pela qual as pessoas realmente pagam freelancers.
Exemplo resolvido
Tarefa
Tarefa IC SWE (ilustrativa, ~US$ 250): a tela «Split Bill» do app mostra um total de NaN quando um participante é removido antes de digitar um valor. Trabalhando em um contêiner Docker com o repositório completo, corrija o bug para que o total exibido volte a $0.00; um teste end-to-end oculto reproduz esse fluxo de usuário.
Solução
```diff
 function getSplitTotal(amounts) {
-  return amounts.reduce((sum, a) => sum + a.value, 0);
+  return amounts.reduce((sum, a) => sum + (Number(a?.value) || 0), 0);
 }
```
Explicação
Remover um participante deixa uma entrada cujo value é undefined, então a.value transforma a soma corrente em NaN; converter cada valor com Number(...) || 0 pula o valor ausente e o total é exibido como $0.00. A avaliação é binária — o patch ganha o preço integral em USD da tarefa apenas se passar em todos os testes end-to-end daquela tarefa, executados contra o fluxo de usuário real.
0 9 18 27 36 2025-03-05 GPT-4.5 · 32.6 · 2025-03-05
GPT-4.5
Linha do tempo
Data Modelo Pontuação Fonte
2025-03-05 GPT-4.5 32.6% OpenAI lança GPT-4.5, seu maior modelo, para o ChatGPT Plus