Benchmark · agentic
SWE-bench Multilingual
SWE-bench Multilingual mesure si un agent de codage IA peut résoudre de vraies issues GitHub en modifiant un dépôt de code dans plusieurs langages de programmation. Le score est le % Resolved : la part des 300 tâches dont le correctif passe les propres tests du projet.
En savoir plus
- Exemple
- Type de tâche : l'agent reçoit un rapport de bug d'un vrai dépôt open-source (par exemple un projet en Go, Java ou Ruby) ainsi que la base de code au commit précédant le correctif, et doit produire un patch qui modifie un ou plusieurs fichiers pour faire disparaître le problème décrit ; aucune solution de référence n'est fournie.
- Notation
- La métrique est le % Resolved : chacune des 300 instances est notée réussie/échouée et le score est le pourcentage réussi. Une instance n'est réussie que si, après application du patch de l'agent, tous les tests Fail-to-Pass (qui visent le bug) passent et tous les tests Pass-to-Pass (comportement existant) passent toujours.
- Vérification
- Le patch est vérifié en exécutant la suite de tests du dépôt dans un container isolé : les tests Fail-to-Pass désignés doivent désormais passer et tous les tests Pass-to-Pass doivent continuer de passer. Tout échec, erreur ou patch non applicable marque l'instance comme non résolue ; pas de crédit partiel.
- Pourquoi c'est important
- Il évalue la capacité de codage au-delà de Python sur 9 langages et 42 dépôts réels, et révèle que les modèles résolvent bien moins d'issues dans des langages comme Go, Rust ou PHP qu'en Python — un test plus honnête de la généralisation en génie logiciel entre langages.
Exemple résolu
Tâche
Instance illustrative représentative. Dépôt : une bibliothèque d'utilitaires de chaînes en Go, au commit précédant le correctif. Issue :
Reverse() provoque un panic / renvoie du texte corrompu sur des chaînes comportant des caractères UTF-8 multi-octets. Le test Fail-to-Pass TestReverseUnicode attend que Reverse("héllo") == "olléh". L'agent ne reçoit que le texte de l'issue et le dépôt — sans patch de référence.Solution
func Reverse(s string) string {
r := []rune(s)
for i, j := 0, len(r)-1; i < j; i, j = i+1, j-1 {
r[i], r[j] = r[j], r[i]
}
return string(r)
}
Explication
Le code d'origine inversait la chaîne octet par octet, ce qui découpe les runes UTF-8 multi-octets et corrompt des caractères comme
é ; convertir en slice []rune et échanger les extrémités inverse par point de code Unicode, donc Reverse("héllo") donne "olléh". Notation : accepté seulement si le test TestReverseUnicode (Fail-to-Pass) passe désormais et que tous les tests Pass-to-Pass passent toujours dans le container.| Date | Modèle | Score | Source |
|---|---|---|---|
| 2026-07-22 | Laguna S 2.1 | 78.5% | Poolside publie Laguna S 2.1, un modèle de codage agentique à poids ouverts |
| 2026-03-27 | Composer 2 | 73.7% | Cursor publie le rapport technique sur l'entraînement du modèle de codage agentique Composer 2 |
| 2025-11-07 | Kimi K2 Thinking | 61.1% | Moonshot AI publie Kimi K2 Thinking, un modèle de raisonnement open-source de 1T paramètres |
| 2025-07-28 | Kimi K2 | 47.3% | Moonshot lance Kimi K2, un modèle MoE agénique ouvert avec 32 milliards de paramètres activés |
| 2025-07-28 | Kimi K2 | 47.3% | Kimi K2 : modèle MoE ouvert avec 1T de paramètres et optimiseur MuonClip |
| 2025-07-11 | Kimi K2 | 47.3% | Moonshot AI lance Kimi K2, un modèle MoE de 1T paramètres avec des capacités agéntiques |
| 2025-07-11 | Kimi K2-Instruct | 47.3% | Moonshot AI publie Kimi-K2-Instruct, un modèle MoE de 1T paramètres avec des capacités agentic |