BigCodeBench : Évaluation de la génération de code avec des appels de fonctions variés et des instructions complexes

L'ingénierie logicielle automatisée a été considérablement renforcée par les récentes avancées des grands modèles de langage (LLMs) pour la programmation. Bien que les évaluations actuelles aient montré que les LLMs peuvent effectuer diverses tâches d'ingénierie logicielle comme des développeurs humains, la majorité de ces évaluations sont limitées à des tâches algorithmiques courtes et autonomes. La résolution de tâches de programmation complexes et pratiques nécessite la capacité d'utiliser divers appels de fonctions comme des outils pour mettre en œuvre efficacement des fonctionnalités telles que l'analyse de données et le développement web. De plus, l'utilisation de plusieurs outils pour résoudre une tâche nécessite un raisonnement compositionnel en comprenant précisément des instructions complexes. Satisfaire ces deux caractéristiques peut poser un défi majeur pour les LLMs.Pour évaluer la capacité des LLMs à résoudre des tâches de programmation complexes et pratiques, nous présentons Bench, un benchmark qui met au défi les LLMs d'invoquer plusieurs appels de fonctions comme des outils provenant de 139 bibliothèques et 7 domaines pour 1 140 tâches de programmation détaillées. Pour évaluer rigoureusement les LLMs, chaque tâche de programmation comprend en moyenne 5,6 cas de test avec une couverture de branches atteignant 99 %. De plus, nous proposons une variante orientée vers le langage naturel de Bench, appelée Benchi, qui transforme automatiquement les docstrings originaux en instructions courtes ne contenant que les informations essentielles.Notre évaluation approfondie de 60 LLMs montre que ces modèles ne sont pas encore capables de suivre des instructions complexes pour utiliser précisément les appels de fonctions, avec des scores allant jusqu'à 60 %, bien inférieurs aux performances humaines qui atteignent 97 %. Ces résultats soulignent la nécessité d'avancées supplémentaires dans ce domaine.