论文
当检索损害代码完成时:过时存储库上下文的诊断研究
When Retrieval Hurts Code Completion: A Diagnostic Study of Stale Repository Context
摘要
上下文:检索增强的代码生成依赖于跨文件存储库上下文,但检索到的代码片段可能来自过时的项目状态。目标:我们研究暂时陈旧的存储库片段是否充当无害的噪音或主动诱发当前状态不兼容的代码。方法:我们对来自 5 个 Python 存储库的一组精选的 17 个生产帮助程序签名更改样本进行了受控诊断研究。对于每个样本,我们在隐藏提交新鲜度和预期当前签名的提示下比较仅当前、仅陈旧、无检索以及混合当前/陈旧检索条件。结果:在中和提示下,仅过时检索会导致 15/17 Qwen2.5-Coder-7B-Instruct 样本和 13/17 gpt-4.1-mini 样本出现过时帮助器引用,与仅当前检索相比分别增加了 88.2 和 76.5 个百分点。没有检索会产生零个陈旧引用,但只有 1/17 通过完成。这两个模型在过时触发样本中共享 75.0% 的 Jaccard 重叠,并且混合条件表明,添加有效的当前证据在很大程度上可以挽救仅过时的失败。结论:检索到的存储库上下文的时间有效性是 Code RAG 鲁棒性的一个独特的诊断变量:过时的上下文会主动将模型偏向过时的存储库状态,而不仅仅是删除有用的证据。