Structurally Aligned Subtask-Level Memory for Software Engineering Agents
作者: Kangning Shen, Jingyuan Zhang, Chenxi Sun, Wencong Zeng, Yang Yue
分类: cs.SE, cs.AI
发布日期: 2026-02-25
💡 一句话要点
提出结构化对齐的子任务级记忆,提升软件工程Agent的长期推理能力
🎯 匹配领域: 支柱九:具身大模型 (Embodied Foundation Models)
关键词: 软件工程Agent 长期推理 记忆机制 子任务分解 结构化学习
📋 核心要点
- 现有软件工程Agent的记忆机制以粗粒度实例为单位,忽略了任务内部子阶段的差异性。
- 论文提出结构化对齐的子任务级记忆,将记忆操作与Agent的功能分解对齐,提升检索准确性。
- 实验表明,该方法在SWE-bench Verified上显著优于现有方法,尤其在长交互任务中优势明显。
📝 摘要(中文)
大型语言模型(LLMs)作为自主软件工程(SWE)Agent展现出巨大潜力。最近的研究探索了使用记忆机制来增强这些Agent的长期推理能力。然而,这些方法通常以粗粒度的实例级别运行,将整个问题解决过程视为存储和检索的原子单元。我们通过实验证明,实例级别的记忆存在根本的粒度不匹配问题,导致在具有相似表面描述的任务在特定阶段需要不同的推理逻辑时,产生误导性的检索。为了解决这个问题,我们提出了结构化对齐的子任务级记忆,该方法将记忆的存储、检索和更新与Agent的功能分解对齐。在SWE-bench Verified上的大量实验表明,我们的方法在不同的backbone上始终优于vanilla Agent和强大的实例级别记忆基线,平均Pass@1指标比vanilla Agent提高了+4.7个百分点(例如,在Gemini 2.5 Pro上提高了+6.8个百分点)。性能增益随着交互步骤的增加而增长,表明利用过去的经验有利于复杂软件工程任务中的长期推理。
🔬 方法详解
问题定义:现有软件工程Agent的记忆机制通常以实例级别进行存储和检索,即将整个问题解决过程视为一个整体。这种粗粒度的处理方式忽略了任务内部不同子阶段的差异性,导致在相似任务的不同阶段需要不同推理逻辑时,检索到的信息可能具有误导性。因此,需要一种更细粒度的记忆机制,能够捕捉任务内部的结构化信息。
核心思路:论文的核心思路是将记忆的存储、检索和更新与Agent的功能分解对齐,即以子任务为单位进行记忆。通过将任务分解为更小的、具有明确功能的子任务,Agent可以更准确地存储和检索与当前子任务相关的经验,从而提高推理的准确性和效率。这种结构化的记忆方式能够更好地捕捉任务内部的依赖关系和上下文信息。
技术框架:该方法的技术框架主要包括三个关键模块:子任务分解模块、结构化记忆模块和记忆检索模块。首先,子任务分解模块将复杂的软件工程任务分解为一系列具有明确功能的子任务。然后,结构化记忆模块以子任务为单位存储Agent在解决每个子任务时产生的经验,包括输入、输出、中间状态等。最后,记忆检索模块根据当前子任务的上下文信息,从结构化记忆中检索相关的经验,并将其用于指导Agent的推理过程。
关键创新:该方法最重要的技术创新点在于提出了结构化对齐的子任务级记忆。与传统的实例级别记忆相比,该方法能够更细粒度地捕捉任务内部的结构化信息,从而提高记忆的准确性和效率。此外,该方法还能够更好地适应任务的变化,因为Agent可以根据当前子任务的上下文信息动态地调整记忆的检索策略。
关键设计:论文中,子任务的划分依赖于软件工程任务的自然分解,例如需求分析、代码编写、测试等。记忆的存储采用向量嵌入的方式,以便于相似性检索。检索过程使用余弦相似度来衡量当前子任务与记忆中子任务的相似程度。更新策略采用滑动窗口的方式,保留最近的经验,并定期清理过时的记忆。
🖼️ 关键图片
📊 实验亮点
在SWE-bench Verified上的实验结果表明,结构化对齐的子任务级记忆方法在不同的backbone上始终优于vanilla Agent和强大的实例级别记忆基线。例如,在Gemini 2.5 Pro上,平均Pass@1指标比vanilla Agent提高了+6.8个百分点。此外,性能增益随着交互步骤的增加而增长,表明该方法在长交互任务中具有显著优势。
🎯 应用场景
该研究成果可应用于各种需要长期推理和复杂问题解决的软件工程任务,例如自动化代码生成、缺陷修复、软件测试等。通过提升Agent的记忆能力和推理准确性,可以显著提高软件开发的效率和质量,并降低开发成本。未来,该方法还可以扩展到其他领域,例如机器人控制、自然语言处理等。
📄 摘要(原文)
Large Language Models (LLMs) have demonstrated significant potential as autonomous software engineering (SWE) agents. Recent work has further explored augmenting these agents with memory mechanisms to support long-horizon reasoning. However, these approaches typically operate at a coarse instance granularity, treating the entire problem-solving episode as the atomic unit of storage and retrieval. We empirically demonstrate that instance-level memory suffers from a fundamental granularity mismatch, resulting in misguided retrieval when tasks with similar surface descriptions require distinct reasoning logic at specific stages. To address this, we propose Structurally Aligned Subtask-Level Memory, a method that aligns memory storage, retrieval, and updating with the agent's functional decomposition. Extensive experiments on SWE-bench Verified demonstrate that our method consistently outperforms both vanilla agents and strong instance-level memory baselines across diverse backbones, improving mean Pass@1 over the vanilla agent by +4.7 pp on average (e.g., +6.8 pp on Gemini 2.5 Pro). Performance gains grow with more interaction steps, showing that leveraging past experience benefits long-horizon reasoning in complex software engineering tasks.