L'article présente SWE-bench, un cadre d'évaluation conçu pour tester les capacités des modèles de langage sur des tâches réelles d'ingénierie logicielle. Il se compose de 2 294 problèmes tirés de vrais issues et pull requests GitHub sur 12 dépôts Python populaires.

  • Le benchmark exige que les modèles éditent des bases de code pour résoudre des problèmes spécifiques, impliquant souvent une coordination entre plusieurs fonctions, classes et fichiers.
  • Les modèles doivent interagir avec des environnements d'exécution, traiter des contextes extrêmement longs et effectuer un raisonnement complexe au-delà de la génération de code traditionnelle.
  • Les évaluations montrent que même les modèles propriétaires les plus avancés éprouvent des difficultés significatives ; le meilleur modèle, Claude 2, n'a résolu que 1,96 % des problèmes.
  • Le modèle ajusté SWE-Llama n'a également résolu que les problèmes les plus simples du jeu de données.

Les progrès sur SWE-bench sont considérés comme des pas vers la création de modèles de langage plus pratiques, intelligents et autonomes dans des scénarios réels.