Copilot Evaluatiekader: Evaluatie van LLM-geleide Softwareprogrammering
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
Samenvatting
De integratie van Large Language Models (LLMs) in ontwikkelomgevingen (IDEs) is een belangrijk aandachtspunt geworden in moderne softwareontwikkeling. LLMs zoals OpenAI GPT-3.5/4 en Code Llama bieden de mogelijkheid om de productiviteit van ontwikkelaars aanzienlijk te vergroten door te fungeren als intelligente, chat-gestuurde programmeerassistenten. Het direct gebruiken van LLMs zonder aanpassingen is echter waarschijnlijk niet optimaal voor een specifiek scenario. In plaats daarvan vereist elk systeem dat de LLM wordt afgestemd op een set heuristieken om de beste prestaties te garanderen. In dit artikel introduceren we de Copilot-evaluatieharness: een verzameling gegevens en tools voor het evalueren van LLM-gestuurde IDE-interacties, die verschillende programmeerscenario's en talen omvat. Wij stellen onze metrieken voor als een robuustere en informatie-intensievere evaluatie dan eerdere state-of-the-art evaluatiesystemen. We ontwerpen en berekenen zowel statische als op uitvoering gebaseerde succescriteria voor scenario's die een breed scala aan ontwikkelaarstaken omvatten, waaronder codegeneratie vanuit natuurlijke taal (generate), documentatiegeneratie vanuit code (doc), testcasegeneratie (test), bugfixing (fix), en werkruimtebegrip en queryoplossing (workspace). Deze succescriteria zijn ontworpen om de prestaties van LLMs binnen een bepaalde IDE en de bijbehorende parameterruimte te evalueren. Onze inzichten uit het evalueren van drie veelgebruikte LLMs met behulp van deze metrieken kunnen de ontwikkeling en validatie van toekomstige scenario's in LLM-gestuurde IDEs informeren.
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.