Récemment, AWS AI Labs a lancé SWE-PolyBench, un benchmark open source multilingue conçu pour fournir un cadre d'évaluation plus complet des assistants de programmation IA. Avec les progrès des grands modèles linguistiques (LLM), le développement des assistants de programmation IA a considérablement avancé, ces assistants étant capables de générer, modifier et comprendre du code logiciel. Cependant, les méthodes d'évaluation actuelles présentent encore de nombreuses limitations, de nombreux benchmarks se concentrant souvent sur une seule langue comme Python, sans refléter pleinement la structure et la diversité sémantique des référentiels de code réels.

QQ_1745456662909.png

SWE-PolyBench, en couvrant 21 référentiels de code GitHub et en prenant en charge quatre langages de programmation populaires (Java, JavaScript, TypeScript et Python), propose 2110 tâches, notamment la correction d'erreurs, la mise en œuvre de fonctionnalités et la refactorisation de code. Contrairement aux benchmarks précédents, SWE-PolyBench utilise de véritables requêtes d'extraction (PR) qui résolvent des problèmes concrets et sont fournies avec des cas de test associés, permettant ainsi une évaluation vérifiable. De plus, un sous-ensemble hiérarchique plus petit, SWE-PolyBench500, est publié pour faciliter les expériences rapides tout en conservant la diversité des tâches et des langages.

QQ_1745456674846.png

Sur le plan de la structure technique et des indicateurs d'évaluation, SWE-PolyBench utilise un processus d'évaluation basé sur l'exécution. Chaque tâche comprend un instantané du référentiel de code et une description de la tâche issue d'un problème GitHub. Le système applique les correctifs réels dans un environnement de test conteneurisé configuré pour un écosystème linguistique spécifique (Maven pour Java ou npm pour JavaScript/TypeScript). Les résultats de l'évaluation sont mesurés à l'aide de deux types de tests unitaires : de l'échec au succès (F2P) et du succès au succès (P2P).

QQ_1745456685896.png

Pour une évaluation plus approfondie des assistants de programmation, SWE-PolyBench introduit des indicateurs basés sur l'arbre syntaxique concret (CST), notamment les scores de récupération au niveau des fichiers et des nœuds, qui évaluent la capacité des assistants de programmation à localiser et à modifier les parties pertinentes du référentiel de code. Cette évaluation a adapté trois assistants de programmation open source : Aider, SWE-Agent et Agentless, qui utilisent tous le modèle Claude 3.5 d'Anthropic et ont été ajustés pour répondre aux exigences multilingues et aux référentiels de code du benchmark.

Les résultats de l'évaluation montrent des différences significatives de performance entre les différents langages de programmation et types de tâches. Par exemple, le taux de réussite des tâches Python peut atteindre 24,1 %, tandis que celui de TypeScript n'est que de 4,7 %. En termes de complexité des tâches, le taux de réussite des tâches de modification d'une seule fonction ou classe atteint 40 %, mais il diminue considérablement pour les tâches impliquant des modifications de plusieurs fichiers.

github:https://github.com/amazon-science/SWE-PolyBench

Points clés :

🌟 AWS lance SWE-PolyBench, un cadre d'évaluation complet pour les assistants de programmation IA.

🔧 Le benchmark couvre 21 référentiels de code GitHub et prend en charge quatre langages : Java, JavaScript, TypeScript et Python.

📈 L'évaluation révèle des différences de performance entre les langages et les tâches, les tâches Python affichant le taux de réussite le plus élevé.