论文

XRepoSkill:学习软件工程Agent的可转移技能

XRepoSkill: Learning Transferable Skills for Software Engineering Agents

智能体系统Agent Skills

摘要

软件工程Agent越来越多地使用从先前经验中提取的可重用技能来解决存储库级别的问题,但这些技能通常无法跨存储库转移。一个主要挑战是,出现在成功轨迹中的行为不一定对成功结果负责:它可能确实有用,只是偶然的,或者只是模型的反复出现的习惯。我们推出 XRepoSkill,一种基于轨迹的学习可转移技能的方法。我们将技能表示为规则的集合,每个规则都指定在问题解决过程中要采取什么操作以及何时采取操作。 XRepoSkill 首先对比同一Agent在同一问题上的成功和失败轨迹,并从执行路径的分歧处得出候选规则。每个规则都与一个可执行谓词配对,使其规定的行为能够在其他轨迹上进行系统评估。规则根据其与成功问题解决的关联进行验证,并且仅当其规定的行为在多个存储库中重复出现时才保留;然后,相同行为的特定于存储库的变体被合并到可转移的规则中。对于新问题,XRepoSkill选择相关规则来指导Agent。我们从官方 SWE-bench Verified 排行榜上公开发布的轨迹中学习技能,并使用来自不同供应商的三个骨干 LLM 在 SWE-bench Pro 和 DeepSWE 上对其进行评估;技能学习轨迹池中没有出现任何评估存储库。与最近的三种技能学习方法相比,XRepoSkill 在所有六种基准-LLM 组合中实现了最高的问题解决率。特别是,在具有挑战性的长期 DeepSWE 基准测试中,XRepoSkill 比没有学习技能的同一Agent将问题解决率提高了 10.3 个百分点,比最强的技能学习基线提高了 5.0 个百分点。