Aller au contenu

La validité des bancs d'essai

Presque tout ce que l'on sait des capacités des agents de code passe par des bancs d'essai (benchmarks) : SWE-bench et ses variantes, HumanEval, LiveCodeBench. Le chapitre Mesurer un agent a montré que SWE-bench Verified avait été abandonné par OpenAI en février 2026. Ce chapitre rassemble la littérature qui a conduit à ce constat, et montre que le problème n'est pas propre à un banc d'essai.

Le schéma commun : des tests qui laissent passer des patchs faux

SWE-bench+ (2024) : fuites et tests faibles

Aleithan et al. (arXiv 2410.06992, 2024) ont examiné à la main les patchs « réussis » d'un agent (SWE-Agent avec GPT-4) sur SWE-bench :

  • 32,7 % étaient des « tricheries » involontaires : la solution figurait déjà dans le ticket ou ses commentaires ;
  • 31,1 % ne passaient que parce que les tests étaient trop faibles ;
  • une fois ces cas retirés, le taux de résolution passe de 12,5 % à 4,0 %.

PatchDiff (ICSE 2026) : réussi ne veut pas dire correct

Wang, Pradel et Liu (arXiv 2503.15223, ICSE 2026) ont comparé le comportement des patchs jugés réussis sur SWE-bench Verified avec celui du correctif de référence :

  • 7,8 % des patchs comptés comme corrects échouent à la suite de tests complète écrite par les développeurs ;
  • 29,6 % des patchs plausibles se comportent différemment du correctif de référence ; parmi ces divergences, 28,6 % sont confirmées incorrectes à la main ;
  • effet net : les taux de résolution sont gonflés de 6,2 points.

UTBoost (ACL 2025) : les classements changent

Yu, Zhu, He et Kang (arXiv 2506.09289) ont généré des tests supplémentaires pour SWE-bench. Ils trouvent 36 tâches aux tests insuffisants et 345 patchs erronés étiquetés « réussis ». La correction affecte 40,9 % des entrées du classement de SWE-bench Lite et 24,4 % de celles de Verified, avec respectivement 18 et 11 changements de rang.

Les successeurs ont les mêmes défauts

SWE-bench Pro (Scale AI, 2025, arXiv 2509.16941 ; éditeur qui vend des données) se présente comme « résistant à la contamination » : 1 865 tâches tirées de 41 dépôts, dont des dépôts privés. Les tâches sont enrichies par des humains d'exigences et d'une interface ; sans elles, le score de GPT-5 tombe de 25,9 % à 8,4 %.

En juillet 2026, OpenAI aurait publié un audit de SWE-bench Pro trouvant environ 30 % de tâches défectueuses sur les 731 publiques (tests trop stricts, énoncés insuffisants ou trompeurs), et retiré sa recommandation de l'adopter, formulée en février. La page d'OpenAI n'a pas pu être consultée pour ce rapport ; ces informations viennent de sources secondaires (exemple) et sont à vérifier.

Deux audits automatisés de 2026 généralisent le constat :

  • Wang et al. (arXiv 2605.26079) passent 168 bancs d'essai de 9 domaines au crible : plus de 25,7 % des tâches évaluées sont défectueuses (ambiguïté, conflits d'environnement, vérité de référence fausse) ; les retirer change les classements ;
  • BenchJack (arXiv 2605.12673) trouve 219 failles distinctes dans 10 bancs d'essai d'agents, certains étant « exploitables » sur presque toutes leurs tâches avant correction.

La parade de la contamination : LiveCodeBench

La contamination — le modèle a vu les solutions pendant son entraînement — est l'autre biais majeur. Plus de 94 % des tickets de SWE-bench sont antérieurs à la date de fin d'entraînement des modèles testés (SWE-bench+). LiveCodeBench (Jain et al., arXiv 2403.07974) répond par une fenêtre temporelle : des problèmes collectés en continu sur des sites de compétition, et chaque modèle n'est évalué que sur des problèmes publiés après sa date de fin d'entraînement.

Lecture SPC : c'est un problème d'étalonnage

Tous ces travaux décrivent la même chose avec des mots différents : un instrument de mesure (la suite de tests du banc) dont l'erreur systématique est du même ordre de grandeur que les écarts qu'on veut mesurer. Quand un banc surestime la réussite de 6 à 8 points et que deux modèles diffèrent de 3, le classement n'a pas de sens. La réponse industrielle est connue : étalonner l'instrument sur des étalons vérifiés à la main avant de s'en servir, et le réétalonner périodiquement. C'est exactement ce que font les audits ci-dessus — mais après coup.

Ce que ça implique pour votre batterie maison

Une batterie d'évaluations construite pour un orchestrateur a toutes les chances d'avoir les mêmes défauts que SWE-bench, avec moins d'yeux pour les repérer : tests écrits vite, parfois par l'agent lui-même (chapitre précédent), énoncés ambigus, solution devinable. Avant de surveiller un taux de réussite, auditer à la main un échantillon de réussites autant que d'échecs : les études ci-dessus trouvent l'essentiel des problèmes du côté des réussites.

À retenir

  • Sur la famille SWE-bench, la part des réussites fausses ou contaminées va d'environ 15 % (PatchDiff, sur Verified) à près des deux tiers (SWE-bench+, sur un agent de 2024) ; les taux de résolution sont gonflés de plusieurs points, assez pour inverser des classements.
  • Les successeurs (SWE-bench Pro) et les autres bancs d'agents ont des taux de tâches défectueuses du même ordre (25 à 30 %).
  • La leçon pour un orchestrateur : auditer les réussites, pas seulement les échecs, et étalonner la batterie avant de la surveiller.