Harness d'évaluation Copilot : Évaluation de la programmation logicielle guidée par des modèles de langage
Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
February 22, 2024
Auteurs: Anisha Agarwal, Aaron Chan, Shubham Chandel, Jinu Jang, Shaun Miller, Roshanak Zilouchian Moghaddam, Yevhen Mohylevskyy, Neel Sundaresan, Michele Tufano
cs.AI
Résumé
L'intégration des modèles de langage de grande taille (LLMs) dans les environnements de développement intégrés (IDEs) est devenue un point central dans le développement logiciel moderne. Les LLMs tels qu'OpenAI GPT-3.5/4 et Code Llama offrent le potentiel d'augmenter significativement la productivité des développeurs en servant d'assistants de programmation intelligents et pilotés par chat. Cependant, l'utilisation des LLMs tels quels est peu susceptible d'être optimale pour un scénario donné. Chaque système nécessite plutôt que le LLM soit affiné selon un ensemble d'heuristiques pour garantir les meilleures performances. Dans cet article, nous présentons le cadre d'évaluation Copilot : un ensemble de données et d'outils pour évaluer les interactions guidées par les LLMs dans les IDEs, couvrant divers scénarios de programmation et langages. Nous proposons nos métriques comme une évaluation plus robuste et riche en informations que les systèmes d'évaluation de l'état de l'art précédents. Nous concevons et calculons des métriques de succès basées à la fois sur des critères statiques et sur l'exécution pour des scénarios englobant une large gamme de tâches de développeurs, incluant la génération de code à partir de langage naturel (générer), la génération de documentation à partir de code (doc), la génération de cas de test (test), la correction de bugs (fix), ainsi que la compréhension de l'espace de travail et la résolution de requêtes (workspace). Ces métriques de succès sont conçues pour évaluer la performance des LLMs au sein d'un IDE donné et de son espace de paramètres respectif. Nos enseignements tirés de l'évaluation de trois LLMs courants à l'aide de ces métriques peuvent éclairer le développement et la validation de futurs scénarios dans les IDEs guidés par les LLMs.
English
The integration of Large Language Models (LLMs) into Development Environments
(IDEs) has become a focal point in modern software development. LLMs such as
OpenAI GPT-3.5/4 and Code Llama offer the potential to significantly augment
developer productivity by serving as intelligent, chat-driven programming
assistants. However, utilizing LLMs out of the box is unlikely to be optimal
for any given scenario. Rather, each system requires the LLM to be honed to its
set of heuristics to ensure the best performance. In this paper, we introduce
the Copilot evaluation harness: a set of data and tools for evaluating
LLM-guided IDE interactions, covering various programming scenarios and
languages. We propose our metrics as a more robust and information-dense
evaluation than previous state of the art evaluation systems. We design and
compute both static and execution based success metrics for scenarios
encompassing a wide range of developer tasks, including code generation from
natural language (generate), documentation generation from code (doc), test
case generation (test), bug-fixing (fix), and workspace understanding and query
resolution (workspace). These success metrics are designed to evaluate the
performance of LLMs within a given IDE and its respective parameter space. Our
learnings from evaluating three common LLMs using these metrics can inform the
development and validation of future scenarios in LLM guided IDEs.