代码代理在真实仓库中不断演进,记忆系统旨在帮助它们复用过去的经验。然而经验既多样又随时间变化,记忆系统如何组织这些经验以及对代理的影响仍不明确。现有基准缺乏时间有效的历史或对先前任务相关性的控制,难以给出可靠答案。
本文提出 MemDev-Bench,用于在多样化的仓库历史上评估记忆系统对代码代理的影响。它为每个目标任务配对同一仓库中标注了相关性的早期任务,从而构建可控相关性的历史。我们还搭建了自动化流水线,使这些早期任务可执行、可验证,最终得到 4,869 条历史任务,覆盖 555 个基线任务。
基于 MemDev-Bench 的系统评估在不同开发场景下得到三条主要结论。第一,记忆主要提升细粒度定位和编辑能力,进而提高功能正确性。第二,即使历史相关,记忆也会导致本应可解的任务失败;无关历史会进一步增加此类失败,根本原因是代理在复用记忆时未重新评估其适用性。第三,与使用记忆系统相比,直接向代理提供原始历史轨迹显著减少了所需步骤。进一步分析表明,代理通过复用过程信息节省步骤,而压缩记忆往往省略这些信息。
这些发现表明,未来的记忆系统应保留过程信息,并在当前任务上下文中重新评估记忆的适用性。
点评