Copilot評価ハーネス:LLMガイドによるソフトウェアプログラミングの評価
Copilot Evaluation Harness: Evaluating LLM-Guided Software Programming
February 22, 2024
著者: Anisha Agarwal, Aaron Chan, Shubham Chandel, Jinu Jang, Shaun Miller, Roshanak Zilouchian Moghaddam, Yevhen Mohylevskyy, Neel Sundaresan, Michele Tufano
cs.AI
要旨
大規模言語モデル(LLM)を統合開発環境(IDE)に組み込むことは、現代のソフトウェア開発における重要な焦点となっています。OpenAI GPT-3.5/4やCode LlamaなどのLLMは、インテリジェントなチャット駆動型プログラミングアシスタントとして機能することで、開発者の生産性を大幅に向上させる可能性を秘めています。しかし、LLMをそのまま使用することは、特定のシナリオにおいて最適とは言えません。むしろ、各システムにおいて、LLMをそのヒューリスティックに合わせて調整することが、最高のパフォーマンスを保証するために必要です。本論文では、Copilot評価ハーネスを紹介します。これは、LLMが導くIDEの相互作用を評価するためのデータとツールのセットであり、さまざまなプログラミングシナリオと言語をカバーしています。我々は、従来の最先端の評価システムよりも堅牢で情報量の多い評価を提供するメトリクスを提案します。我々は、自然言語からのコード生成(generate)、コードからのドキュメント生成(doc)、テストケース生成(test)、バグ修正(fix)、ワークスペースの理解とクエリ解決(workspace)など、幅広い開発者タスクを包含するシナリオに対して、静的および実行ベースの成功メトリクスを設計し、計算します。これらの成功メトリクスは、特定のIDEとそのパラメータ空間内でのLLMのパフォーマンスを評価するために設計されています。これらのメトリクスを使用して3つの一般的なLLMを評価した結果から得られた知見は、LLMが導くIDEにおける将来のシナリオの開発と検証に役立つ情報を提供します。
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.