Benchmark · agentic

SWE-Lancer

1 résultats 1 modèles

SWE-Lancer est un benchmark de 1488 vraies tâches d'ingénierie logicielle en freelance issues d'Upwork, valorisées à 1 million de dollars (USD) de paiements réels ; il mesure quelle part de cet argent un modèle peut « gagner » en les résolvant entièrement, avec un score correspondant au total d'USD gagnés (et à la part de tâches résolues).

En savoir plus
Exemple
Une tâche de correction de bug de style freelance : à partir d'un vrai issue (façon GitHub) et du dépôt complet de l'application, le modèle doit produire un patch qui remet en marche un parcours utilisateur cassé (par exemple l'écran de partage d'addition ou de paiement), vérifié par des tests end-to-end. Une seconde voie propose des tâches de gestion : choisir la meilleure proposition d'ingénierie parmi plusieurs.
Notation
Chaque tâche porte le vrai prix en USD auquel elle a été payée sur Upwork (d'environ 50 à 32 000 dollars). Un modèle gagne le prix complet d'une tâche uniquement si sa solution réussit — pas de crédit partiel au sein d'une tâche. La métrique principale est le total de dollars gagnés sur la cagnotte d'1 million, avec le pourcentage de tâches résolues ; les deux voies (codage IC et gestion) sont aussi rapportées séparément.
Vérification
Les tâches de codage (IC) sont notées par des tests end-to-end (Playwright) qui simulent de vraies actions d'utilisateur, écrits et vérifiés par des ingénieurs professionnels et exécutés dans un environnement Docker isolé ; le patch du modèle doit réussir tous les tests de la tâche, et le modèle ne peut ni les voir ni les modifier. Les tâches de gestion sont acceptées lorsque le modèle choisit la même proposition que celle réellement retenue par le manager qui recrutait.
Pourquoi c'est important
Il relie la performance du modèle à un travail économiquement réel, au prix du marché, sur une base de code de production réelle, plutôt qu'à des problèmes synthétiques ou auto-évalués. Comme la notation utilise des parcours utilisateur end-to-end complets (et non des correctifs isolés de fonctions) plus une voie de décision managériale, il vérifie si les modèles de pointe peuvent réaliser l'ingénierie complète et de valeur que les gens paient réellement à des freelances.
Exemple résolu
Tâche
Tâche IC SWE (illustrative, ~250 USD) : l'écran « Split Bill » de l'application affiche un total à NaN lorsqu'un participant est retiré avant la saisie d'un montant. En travaillant dans un conteneur Docker avec le dépôt complet, corrigez le bug pour que le total affiché retombe à $0.00 ; un test end-to-end caché rejoue ce parcours utilisateur.
Solution
```diff
 function getSplitTotal(amounts) {
-  return amounts.reduce((sum, a) => sum + a.value, 0);
+  return amounts.reduce((sum, a) => sum + (Number(a?.value) || 0), 0);
 }
```
Explication
Retirer un participant laisse une entrée dont value vaut undefined, si bien que a.value transforme la somme courante en NaN ; convertir chaque valeur avec Number(...) || 0 saute le montant manquant et le total s'affiche à $0.00. La notation est binaire — le patch gagne le prix complet en USD de la tâche seulement s'il réussit tous les tests end-to-end de cette tâche, exécutés sur le vrai parcours utilisateur.
0 9 18 27 36 2025-03-05 GPT-4.5 · 32.6 · 2025-03-05
GPT-4.5
Chronologie
Date Modèle Score Source
2025-03-05 GPT-4.5 32.6% OpenAI publie GPT-4.5, son plus grand modèle, pour ChatGPT Plus