论文
超越代码片段:存储库级问答的 LLM 基准测试
Beyond Code Snippets: Benchmarking LLMs on Repository-Level Question Answering
摘要
大语言模型 (LLM) 在软件工程任务中表现出了令人印象深刻的能力,包括问答 (QA)。然而,大多数研究和基准测试都集中在孤立的函数或单文件片段上,忽视了现实世界程序理解的挑战,这些挑战通常跨越多个文件和系统级依赖关系。在这项工作中,我们介绍了 StackRepoQA,这是第一个多项目、存储库级问答数据集,由 1,318 个真实的开发人员问题和 134 个开源 Java 项目的公认答案构建而成。使用该数据集,我们在直接提示和代理配置下系统地评估了两种广泛使用的 LLM(Claude 3.5 Sonnet 和 GPT-4o)。我们将基线性能与利用文件级检索和基于图形的结构依赖关系表示的检索增强生成方法进行比较。我们的结果表明,LLM 在基线上实现了中等精度,当合并结构信号时,性能得到改善。尽管如此,对于存储库规模的理解来说,总体准确性仍然有限。分析表明,高分通常来自 Stack Overflow 答案的逐字重现,而不是真正的推理。据我们所知,这是第一个在存储库级质量保证中提供此类证据的实证研究。我们发布 StackRepoQA 来鼓励进一步研究基准、评估协议和增强策略,将记忆与推理分开,将 LLM 发展为存储库规模程序理解的可靠工具。