Benchmark · agentic
SWE-bench Verified
Vérifie si un agent d'IA sait résoudre de vrais issues GitHub de bout en bout. L'ensemble « Verified » réunit 500 tâches validées manuellement, issues de dépôts Python open source populaires.
En savoir plus
- Exemple
- À partir d'un rapport de bug et du dépôt, le modèle doit produire un patch de code — par exemple corriger une fonction d'analyse de dates défaillante pour que la suite de tests du projet réussisse.
- Notation
- % d'issues résolus — généralement rapporté en pass@1 (une seule tentative). Plus c'est élevé, mieux c'est.
- Vérification
- Entièrement automatique : le patch généré est appliqué et les vrais tests unitaires cachés du projet s'exécutent dans un bac à sable. Une tâche n'est comptabilisée que si tous les tests visés réussissent et que rien ne régresse.
- Pourquoi c'est important
- Le principal benchmark d'agents de code en conditions réelles et un chiffre phare de chaque sortie de modèle de pointe ; les progrès ici mesurent à quel point les agents se rapprochent du génie logiciel autonome.
Exemple résolu
Tâche
Dépôt
django/django à un commit de base fixe. Rapport de bug : django.utils.text.slugify("___This-is-a-Test___", allow_unicode=True) renvoie '___this-is-a-test___', alors que les tirets bas et traits d'union en tête et en fin devraient être supprimés pour obtenir 'this-is-a-test'. Le modèle ne reçoit que le texte de l'issue et le dépôt, et doit produire un patch au format unified diff.Solution
--- a/django/utils/text.py
+++ b/django/utils/text.py
@@ def slugify(value, allow_unicode=False):
value = re.sub(r"[^\w\s-]", "", value.lower())
- return re.sub(r"[-\s]+", "-", value)
+ return re.sub(r"[-\s]+", "-", value).strip("-_")
Explication
slugify réduit les séparateurs internes mais ne coupe jamais les
-/_ qui entourent la chaîne ; ajouter .strip("-_") au dernier re.sub les supprime ; le patch est minimal et préserve tout le reste du comportement. SWE-bench Verified applique le patch au dépôt au commit de base et note en exécutant la suite cachée — il ne réussit que si chaque test FAIL_TO_PASS passe au vert tandis que tous les tests PASS_TO_PASS le restent.