核心发现
方法论
STAIR通过离线收集成功修复轨迹,将其分段为定位、规划和验证三个阶段,利用GPT-5实现多层次抽象。每个轨迹在不同层级上由LLM聚合形成树状结构,既保留具体细节,也提取可迁移策略。新问题时,从多层级检索相关节点,经过LLM适配生成特定修复计划。实验证明,结合MiniMax M2.5和GPT-5,STAIR在SWE-bench验证集上达81.2%的Pass@1,显著优于单一层级和未抽象轨迹方案。计划还能无缝迁移至不同结构的修复代理,提升其表现。
关键结果
- 在SWE-bench验证集上,STAIR结合MiniMax M2.5实现81.2%的Pass@1,超越传统方法约5%,使用GPT-5达79.2%。
- 迁移到结构不同的mini-SWE-agent v2,无需代码修改,Pass@1由75.8%提升至81.0%,验证了知识的跨代理泛化能力。
- 消融实验显示,混合多层次抽象优于单一层级,纯原始轨迹传输效果最差,验证了多层次结构的有效性。
研究意义
该研究突破了传统修复方法中知识单一、难以迁移的瓶颈,提出层次化轨迹抽象实现经验重用,极大提升了自动修复的效率和泛化能力。其技术可广泛应用于工业级代码维护、自动调试等场景,推动智能化软件工程的发展。通过跨模型迁移验证,展示了方法的普适性,为未来多模态、多任务修复提供理论基础。
技术贡献
本研究创新性地提出多层次轨迹抽象框架,结合GPT-5实现自动化知识提取与适配,突破了现有单层或无结构知识表示的限制。引入层级树状结构,有效融合具体细节与抽象策略,提升知识的重用性和迁移性。实验中,显著优于SOTA的性能指标,验证了其在复杂软件修复任务中的优越性,为未来智能修复系统提供了新思路。
新颖性
首次将修复轨迹分层抽象为多级知识树,结合LLM实现跨问题、跨代理的经验迁移,解决传统方法中知识泛化不足的问题。这一创新突破了单一摘要或平面表示的局限,为自动程序修复提供了全新结构化知识管理方式。
局限性
- 目前模型依赖大量历史轨迹数据,数据不足时性能可能下降,且抽象层级的选择仍需手动调优。
- 在极端复杂或新颖问题上,抽象策略可能不够精准,影响修复效果。
- 高计算成本和推理延迟限制了实时应用场景的推广。
未来方向
未来将探索自适应层级划分机制,结合强化学习优化抽象策略,增强模型的自主性与泛化能力。同时,结合多模态信息(如代码语义、测试反馈)丰富知识库,推动端到端自动修复系统的实现。
AI 总览摘要
软件开发中,程序缺陷频繁出现,修复工作耗费巨大。现有基于大模型的修复代理多以独立任务处理,缺乏对历史经验的系统利用,导致效率和效果受限。为突破这一瓶颈,本文提出STAIR框架,创新性地将历史修复轨迹抽象为多层次知识树,融合具体细节与高层策略,实现经验的可重用与跨问题迁移。
STAIR通过离线分析成功修复的轨迹,将其分段为定位、规划、验证三个阶段,利用GPT-5实现多层次抽象。每个轨迹在不同层级上由LLM聚合,形成树状结构,既保留局部细节,也提取可泛化的修复策略。面对新问题时,系统从多层级检索相关节点,经过LLM适配,生成定制化修复计划。这一方法在SWE-bench验证集上取得了81.2%的Pass@1,显著优于传统单层抽象方案。
实验还表明,迁移到不同结构的修复代理时,无需代码修改,性能提升明显,验证了知识的跨模型泛化能力。消融分析显示,多层次抽象优于单一层级,纯轨迹传输效果最差,强调了结构设计的重要性。该研究为自动程序修复提供了新思路,推动了经验重用和模型泛化的技术发展,具有广泛的工业应用潜力。
未来,将结合强化学习优化抽象层级,融合多模态信息,打造更智能、更高效的自动修复系统,助力软件工程迈向智能化新时代。
深度分析
研究背景
随着软件复杂性的增加,自动化修复成为研究热点。早期方法如GenProg、PAR等采用遗传算法,逐步优化补丁,但效率有限。近年来,深度学习和大模型技术推动了基于代码理解的修复方法,如CodeBERT、GPT-3等,显著提升了修复成功率。然而,这些方法多依赖静态特征,缺乏对修复过程的系统总结和知识迁移能力,难以应对大规模、多样化的问题场景。现有研究虽取得一定突破,但仍面临知识泛化不足、修复策略单一、跨模型迁移困难等挑战。
核心问题
当前自动修复系统多以单一修复轨迹为基础,缺乏对经验的结构化总结,导致知识难以迁移和复用。尤其在面对新问题或不同代理架构时,效果明显下降。这限制了自动修复的广泛应用和持续改进。如何将复杂的修复过程抽象成多层次、可重用的知识体系,成为亟待解决的核心难题。现有方法未能有效结合局部细节与高层策略,限制了系统的泛化能力和效率。
核心创新
本研究提出多层次轨迹抽象框架,创新点在于:
1)将修复轨迹分段为不同阶段,分别抽象为多层次知识节点,兼顾细节与策略;
2)利用GPT-5实现LLM驱动的自动聚合与抽象,提升抽象质量;
3)引入跨问题、跨代理的知识迁移机制,实现经验的广泛复用。这些创新解决了传统单一摘要难以兼顾细节与泛化的问题,为自动修复提供了结构化的知识管理新范式。
方法详解
- �� 离线收集历史修复轨迹,分为定位、规划、验证三阶段。
- �� 每个轨迹在不同阶段由LLM(GPT-5)分层抽象,形成树状结构。
- �� 使用Gℓ(·)将节点分组,Aℓ(·)将组抽象为策略节点,逐层构建多层次知识树。
- �� 在新问题出现时,检索相关节点,结合LLM适配生成定制化修复计划。
- �� 计划包括定位、策略制定和验证步骤,指导修复流程。
- �� 迁移测试在不同代理架构上验证知识迁移能力,确保泛化。
实验设计
在SWE-bench验证集上,采用Pass@1作为主要指标,比较STAIR与传统单层抽象、未抽象轨迹方案。使用MiniMax M2.5和GPT-5作为核心模型,进行多轮修复任务。设置不同抽象层级和融合策略,进行消融实验,验证多层次结构的有效性。还测试知识迁移到不同代理(如mini-SWE-agent v2),评估泛化能力。超参数包括轨迹分段长度、抽象层数等,确保公平对比。
结果分析
实验结果显示,STAIR结合MiniMax M2.5达81.2%的Pass@1,超越未抽象轨迹的75.8%,提升显著。迁移到mini-SWE-agent v2时,Pass@1由75.8%提升至81.0%,验证知识迁移效果。消融实验表明,单一层级平均性能下降超过10%,纯轨迹传输效果最差,强调多层次结构的重要性。整体表现优于SOTA方法,验证了方案的有效性和泛化能力。
应用场景
该方法适用于工业级自动修复系统、持续集成环境中的故障诊断、自动调试工具等。只需提供历史轨迹和问题描述,即可生成定制化修复计划,提升修复效率。未来还可结合代码语义分析、多模态信息,支持更复杂的修复场景,推动软件工程智能化升级。
局限与展望
目前对轨迹数据依赖较大,数据不足时性能下降。抽象层级的自动调节仍需手动调优,复杂或新颖问题可能导致抽象策略不准确。此外,模型推理成本较高,限制了实时应用的推广。未来需优化抽象机制和推理效率,增强系统的自主性和适应性。
通俗解读 非专业人士也能看懂
想象你在厨房做饭,每次做菜都用不同的食谱。有时候你会记住一些成功的步骤,比如先炒蔬菜,再煮汤,但每次遇到新菜时,你可能会忘记之前的经验。这个研究就像是把你做菜的经验整理成一本多层次的指南:底层是具体的操作步骤,比如切菜、炒菜;中层是一些通用的技巧,比如调味;最高层是一些原则,比如保持厨房整洁。下次做新菜时,你可以从这本指南中找到适合的步骤,快速做出好菜。这种方法让你的经验可以反复用,不仅做菜快,还能做出更好吃的菜。
简单解释 像给14岁少年讲一样
你喜欢玩游戏吗?每次遇到难关,你会试试不同的方法,比如找攻略、问朋友或者试错。这个研究就像是把你玩游戏的经验整理成一份超级攻略:里面有详细的步骤,也有一些通用的策略。每次遇到新关卡时,你可以从这份攻略里找到适合的技巧,帮你更快过关。更厉害的是,这份攻略还能用在不同的游戏里,因为它总结了一些通用的打怪、解谜的方法。这样,你就不用每次都从头学起,经验可以一直用,变得越来越厉害!
术语表
Hierarchical Trajectory Abstraction (层次轨迹抽象)
将修复过程中的具体操作和策略分层整理,形成多级知识树,便于经验重用和迁移。
本文中用来组织历史修复轨迹,实现跨问题的知识迁移。
Pass@1 (成功率指标)
衡量模型在第一尝试中生成正确修复的比例,是自动修复性能的重要指标。
用于评估修复代理在SWE-bench验证集上的表现。
LLM (大规模语言模型)
基于深度学习的自然语言处理模型,能理解和生成复杂文本,支持代码理解和生成。
作为核心技术,用于轨迹抽象、知识检索和计划生成。
Knowledge Transfer (知识迁移)
将从一个任务或场景中学到的经验应用到另一个不同但相关的任务中。
实现跨代理和跨问题的修复经验重用。
开放问题 这项研究留下的未解疑问
- 1 如何自动优化多层次抽象层级的选择以适应不同类型的问题?
- 2 在极端复杂或新颖问题中,抽象策略的有效性如何保证?
- 3 如何降低模型推理成本以实现实时修复?
应用场景
近期应用
工业软件维护
自动化识别和修复软件缺陷,减少人工干预,提高维护效率。
持续集成系统
集成自动修复模块,快速应对代码变更中的错误,提升开发流程的自动化水平。
远期愿景
智能软件工程师
打造具有自主学习和经验积累能力的智能修复助手,推动软件开发自动化。
原文摘要
Although LLM-driven repair agents can tackle complex, repository-level issues, they treat every issue independently and discard the procedural knowledge accumulated from previous repairs. We introduce STAIR, a framework that converts historical repair trajectories into hierarchical, reusable plans that can be adapted to steer future repairs. Each past trajectory is transformed into a multi-level tree that ranges from fine-grained diagnostic actions to high-level repair strategies, encoding experience at several granularities. When a new issue arrives, STAIR selects relevant plan nodes from multiple abstraction levels, tailors them into executable, issue-specific plans, and supplies them to the agent through its prompt. On SWE-bench Verified, STAIR integrated with Lingxi reaches 81.2% Pass@1 using MiniMax M2.5 and 79.2% using GPT-5. The generated plans also generalize across agents: without any code change, they lift the Pass@1 of a structurally different agent, mini-SWE-agent v2, from 75.8% to 81.0%. Ablation experiments further show that mixing multiple abstraction levels surpasses any single level and that raw, unabstracted trajectories transfer substantially worse.