Copilot-Evaluationsrahmen: Bewertung von LLM-gestützter Softwareprogrammierung
Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
February 22, 2024
Autoren: Anisha Agarwal, Aaron Chan, Shubham Chandel, Jinu Jang, Shaun Miller, Roshanak Zilouchian Moghaddam, Yevhen Mohylevskyy, Neel Sundaresan, Michele Tufano
cs.AI
Zusammenfassung
Die Integration von Large Language Models (LLMs) in Entwicklungsumgebungen (IDEs) ist zu einem zentralen Thema in der modernen Softwareentwicklung geworden. LLMs wie OpenAI GPT-3.5/4 und Code Llama bieten das Potenzial, die Produktivität von Entwicklern erheblich zu steigern, indem sie als intelligente, chat-gesteuerte Programmierassistenten fungieren. Die Verwendung von LLMs in ihrer Standardkonfiguration ist jedoch für ein bestimmtes Szenario wahrscheinlich nicht optimal. Vielmehr erfordert jedes System, dass der LLM anhand eines spezifischen Satzes von Heuristiken verfeinert wird, um die beste Leistung zu gewährleisten. In diesem Artikel stellen wir das Copilot-Evaluationsframework vor: eine Sammlung von Daten und Werkzeugen zur Bewertung von LLM-gesteuerten IDE-Interaktionen, die verschiedene Programmier-szenarien und -sprachen abdecken. Wir schlagen unsere Metriken als eine robustere und informationsdichtere Bewertung im Vergleich zu bisherigen State-of-the-Art-Evaluationssystemen vor. Wir entwerfen und berechnen sowohl statische als auch ausführungsbasierte Erfolgsmetriken für Szenarien, die eine breite Palette von Entwickleraufgaben umfassen, darunter Codegenerierung aus natürlicher Sprache (generate), Dokumentationsgenerierung aus Code (doc), Testfallgenerierung (test), Fehlerbehebung (fix) sowie das Verständnis und die Abfrage von Arbeitsbereichen (workspace). Diese Erfolgsmetriken sind darauf ausgelegt, die Leistung von LLMs innerhalb einer bestimmten IDE und ihres jeweiligen Parameterraums zu bewerten. Unsere Erkenntnisse aus der Bewertung von drei gängigen LLMs mithilfe dieser Metriken können die Entwicklung und Validierung zukünftiger Szenarien in LLM-gesteuerten IDEs informieren.
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.