FC-SWE:失败条件强化学习训练软件工程 Agent
FC-SWE: Failure-Conditioned RL for Long-Horizon Software Engineering Agents
摘要
存储库级软件工程 (SWE) 是一项具有挑战性的长期设置:智能体必须推理扩展的交互、使用工具并适应有状态的环境。最近的工作使用强化学习方法(例如组相对策略优化(GRPO))来训练 SWE 智能体,该方法对每个问题的多个轨迹进行独立采样,测试生成的补丁,并比较固定组内的最终奖励。但是,此训练设置不会重用来自失败补丁的验证者反馈作为后续尝试的上下文,即使此反馈包含有关错误原因的有价值的诊断信息。恢复轨迹上的训练具有挑战性,因为先前的结果决定是否生成下一个轨迹,而失败的执行则决定其调节上下文。我们引入了 FC-SWE,这是一种故障条件下的 RL 框架,它将恢复尝试合并到策略训练 中。补丁失败验证后,FC-SWE 将存储库恢复到其原始任务状态,并使用失败的补丁和验证者反馈作为恢复轨迹的上下文。 FC-SWE 通过两种机制使 GRPO 适应这些完整的多回转刀具使用轨迹链。轨迹局部奖励保留每次尝试的验证者结果,防止恢复成功奖励早期失败的补丁。活动集优势估计根据针对同一问题实际执行的所有初始轨迹和恢复轨迹形成一个比较组,因此失败的尝试保留在该组中,而未执行的尝试被排除在外。在验证者辅助协议下的所有 500 个 SWE 基准验证任务中,使用 Qwen3.5-4B 和 SWE-智能体的 FC-SWE 实现了 41.7% Resolved@1 和 52.8% Resolved@2,而 GRPO 分别为 38.9% 和 48.5%。尽管每条链最多尝试两次进行训练,但 FC-SWE 在测试时预算 11 次尝试下达到了 70.7% Resolved@11。
