论文

Chronos 使代码代理能够推理软件演化

Chronos Enables Code Agents to Reason over Software Evolution

上下文与知识应用与实践知识图谱记忆编程

摘要

历史拉取请求记录了代码库当前状态背后的设计决策、兼容性约束和实现模式。与新任务相关的经验可以跨越相关的变化,这些变化的描述强调不同的关注点。我们引入了 Chronos,这是一个测试时框架,使基于大型语言模型 (LLM) 的代码代理可以使用此连接的历史记录。 Chronos 将合并的拉取请求提取到结构化体验卡中,并通过代码级别、开发人员意图和组织关系的类型图将它们连接起来。语义搜索识别输入卡,加权多跳扩展检索连接的更改以进行选择性阅读。相同的内存指导候选生成和补丁选择:以补丁为中心的变更代理和验证策略代理各自开发一个补丁,并且进化管理员参考历史记录在它们之间进行选择。在 SWE-Bench Verified 上,完整的工作流程改进了所有六个评估的 LLM 主干的 SWE-Agent,将平均分辨率从 69.2% 提高到 72.9%,使用 MiniMax M2.5 达到 79.8%。和 使用相同的主干网,它将 SWE-Bench Pro 上的分辨率从 48.3% 提高到 51.7%,将 FEA-Bench Lite 上的分辨率从 41.0% 提高到 43.5%。两种经验引导的单代理变体也优于基础代理。在对 100 项任务(每个任务检索 10 张卡片)进行的人工评估中,与平面语义检索相比,基于图的检索将有用卡片的平均数量从 1.24 增加到 2.87。这些结果证明了 PR 关系对于检索有用的存储库经验的价值以及在补丁生成和选择期间应用该经验的评估工作流程的价值。