论文
真实软件历史的时间有效性:通过 GitHub 修复消除代码辅助内存中的过时事实错误
Temporal Validity on Real Software Histories: Eliminating Stale-Fact Errors in Code-Assistant Memory over GitHub Fixes
摘要
检索增强生成 (RAG) 没有时间模型:当事实在编码会话中发生变化时(函数被重命名、端点移动、依赖关系发生冲突),RAG 会以几乎相同的相似性检索旧值和新值,并且无法区分哪个是当前值,因此它会提供被取代的值。论文 1 在综合单值基准测试中表明,确定性(主体、关系、客体)取代内存可以消除这种失败。在这里,我们根据真实的软件历史对其进行端到端验证。从 707 个真实的 GitHub 问题(SWE-bench Lite + Verified)中,我们提取了 130 个干净的原子状态转换,这是一种将一个可识别值从修复前形式更改为修复后形式的修复,并渲染每个无标记(过时的和当前的语句仅在值上有所不同)。在此组中,MemStrata 的答案准确率达到 0.91,而 RAG 的答案准确率为 0.57-0.59;并且,当被迫回答 RAG 时,结构结果在 36-38% 的时间内提供被取代的值(LLM 重新排序器无济于事),而 MemStrata 在 RAG 检索延迟(〜2.1 s vs 重新排序器的〜18 s)下将其驱动到〜0。我们对范围很明确:只有约 18% 的真正修复是干净的原子转换;论文 2 隔离了该类的内存机制,其余修复的提取覆盖率是我们推迟到后续工作的正交问题。一个真正的产品错误出现并在研究期间得到修复(不区分大小写/标点符号的值比较),同时保留并验证了护城河属性(干净代码突变的确定性取代准确性)。