Harness de Evaluación de Copilot: Evaluación de la Programación de Software Guiada por Modelos de Lenguaje Grande (LLM)
Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
February 22, 2024
Autores: Anisha Agarwal, Aaron Chan, Shubham Chandel, Jinu Jang, Shaun Miller, Roshanak Zilouchian Moghaddam, Yevhen Mohylevskyy, Neel Sundaresan, Michele Tufano
cs.AI
Resumen
La integración de Modelos de Lenguaje a Gran Escala (LLMs, por sus siglas en inglés) en Entornos de Desarrollo Integrados (IDEs) se ha convertido en un punto central en el desarrollo de software moderno. LLMs como OpenAI GPT-3.5/4 y Code Llama ofrecen el potencial de aumentar significativamente la productividad de los desarrolladores al funcionar como asistentes de programación inteligentes basados en chat. Sin embargo, utilizar LLMs sin adaptaciones específicas es poco probable que sea óptimo para cualquier escenario dado. En su lugar, cada sistema requiere que el LLM sea ajustado a su conjunto de heurísticas para garantizar el mejor rendimiento. En este artículo, presentamos el sistema de evaluación Copilot: un conjunto de datos y herramientas para evaluar las interacciones guiadas por LLMs en IDEs, abarcando diversos escenarios y lenguajes de programación. Proponemos nuestras métricas como una evaluación más robusta y rica en información que los sistemas de evaluación anteriores del estado del arte. Diseñamos y calculamos métricas de éxito tanto estáticas como basadas en la ejecución para escenarios que abarcan una amplia gama de tareas de desarrolladores, incluyendo la generación de código a partir de lenguaje natural (generar), la generación de documentación a partir de código (doc), la generación de casos de prueba (test), la corrección de errores (fix) y la comprensión del espacio de trabajo y resolución de consultas (workspace). Estas métricas de éxito están diseñadas para evaluar el rendimiento de los LLMs dentro de un IDE dado y su respectivo espacio de parámetros. Nuestros aprendizajes al evaluar tres LLMs comunes utilizando estas métricas pueden informar el desarrollo y validación de futuros escenarios en IDEs guiados por 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.