论文

FailForge:从持续失败中蒸馏程序性能力给代码智能体

FailForge: Distilling Procedural Competence from Persistent Failures into Code Agents

模型训练智能体系统合成数据Agent Skills

摘要

拒绝采样微调(RFT)被广泛用于训练代码智能体:在可验证的软件工程任务上生成轨迹,保留通过测试的那些,再用成功的回放做微调。然而,即便是强大的代码智能体也会在相当比例的此类任务上反复失败,而标准RFT直接丢弃这些失败。被丢弃的样本恰恰是最难、信息量最大的样本,且来自筛选成本高昂的可验证实例。更强的基座模型也许能减少失败数量,但剩余的困难案例仍构成进一步改进的前沿。我们提出FailForge,一个将失败回放转化为训练信号的agentic框架。对每个失败实例,智能体从错误反馈与执行轨迹中诊断失败原因,将诊断提炼为简洁可操作的技能,并把该技能注入Agent上下文以进行有引导的第二次尝试。在技能引导下成功的轨迹被回填进RFT语料。关键在于,训练时移除该技能,使模型内化恢复后的行为,而不是在推理时依赖外部提示。FailForge以极小的额外成本挽回超过26%的此前失败实例,在增广语料上训练Qwen3.5-4B,使SWE-bench Verified解决率比强RFT基线提升6.6个百分点,且增益集中在最难的问题上。

FailForge:从持续失败中蒸馏程序性能力给代码智能体:论文配图
图1:借助技能指导恢复失败轨迹。