Copilot Evaluation Harness: Valutazione della Programmazione Software Guidata da LLM
Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
February 22, 2024
Autori: Anisha Agarwal, Aaron Chan, Shubham Chandel, Jinu Jang, Shaun Miller, Roshanak Zilouchian Moghaddam, Yevhen Mohylevskyy, Neel Sundaresan, Michele Tufano
cs.AI
Abstract
L'integrazione di Large Language Models (LLM) negli ambienti di sviluppo
integrati (IDE) è diventata un punto focale nello sviluppo software moderno. LLM
come OpenAI GPT-3.5/4 e Code Llama offrono il potenziale di aumentare
significativamente la produttività degli sviluppatori fungendo da assistenti di
programmazione intelligenti e basati su chat. Tuttavia, utilizzare gli LLM così
come sono forniti è improbabile che sia ottimale per qualsiasi scenario specifico.
Piuttosto, ogni sistema richiede che l'LLM sia affinato secondo un insieme di
euristiche per garantire le migliori prestazioni. In questo articolo, introduciamo
il sistema di valutazione Copilot: un insieme di dati e strumenti per valutare
le interazioni guidate da LLM negli IDE, coprendo vari scenari di programmazione
e linguaggi. Proponiamo le nostre metriche come una valutazione più robusta e
ricca di informazioni rispetto ai precedenti sistemi di valutazione all'avanguardia.
Progettiamo e calcoliamo metriche di successo sia statiche che basate
sull'esecuzione per scenari che comprendono un'ampia gamma di attività degli
sviluppatori, tra cui la generazione di codice da linguaggio naturale (generate),
la generazione di documentazione dal codice (doc), la generazione di casi di test
(test), la correzione di bug (fix) e la comprensione e risoluzione di query
all'interno dell'area di lavoro (workspace). Queste metriche di successo sono
progettate per valutare le prestazioni degli LLM all'interno di un determinato
IDE e del relativo spazio dei parametri. Le nostre osservazioni derivanti dalla
valutazione di tre LLM comuni utilizzando queste metriche possono informare lo
sviluppo e la validazione di futuri scenari negli IDE guidati da LLM.
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.