CodeRescue:面向编程智能体的预算校准恢复路由
CodeRescue: Budget-Calibrated Recovery Routing for Coding Agents
论文信息
标题: CodeRescue: Budget-Calibrated Recovery Routing for Coding Agents
作者: Qijia He, Jiayi Cheng, Chenqian Le, et al.
发布日期: 2026-07-21
arXiv ID: 2607.19338v1
PDF 链接: 下载 PDF
3 分钟速览
-
研究问题:这篇论文要解决代码智能体首次尝试失败后的恢复策略选择问题:在预算有限的情况下,究竟是继续使用廉价模型进行修复或重新规划,还是直接升级到更强的模型。
-
核心方法:将失败恢复建模为三个动作(reflect 修复、replan 重新规划、escalate 升级)的路由选择问题,训练一个监督学习路由器,并叠加共形风险控制(CRC)层实现在不重新训练的情况下,通过调整成本惩罚参数控制预算。
-
关键结果:在 GPT-5.4-nano / GPT-5.4 的主实验设置中,CRC 校准前沿上的一个操作点以 35% 的平均恢复成本达到了 always-escalate 策略的解决率(见论文摘要和 5.2.2 节)。
-
主要局限:作者明确承认论文仅建模单步故障恢复决策,而实际代码智能体通常在多轮中恢复;CRC 控制的是期望恢复成本而非解决率,解决率的改善是经验性的而非保形保证的(见论文第 6 节)。
-
适合读者:适合从事 LLM 推理系统优化、成本感知路由、代码智能体开发、保形方法应用的研究者和工程师阅读。
论文背景和研究动机
近年来,代码生成已从孤立的编程问题求解演变为需要检查仓库、编辑文件、执行命令、运行测试并对失败进行迭代的软件工程智能体。前沿模型如 GPT、Claude 和 Gemini 的代码能力越来越多地通过仓库级别的补丁生成、终端使用和长视野智能体工作流来评估(见论文第 1 节)。在这种交互式环境中,推理不再是单一模型调用:每次失败尝试都创建一个新的决策点——应该用执行反馈修复现有方案、从头开始重新规划,还是调用更强的模型?
现有的成本感知系统通常采用级联策略:先尝试廉价模型,遇到困难案例再升级到更强也更贵的模型。然而,论文指出这种策略可能浪费廉价模型的能力。执行失败本身提供了诊断信息——编译器错误、失败的断言、错误输出、超时或拒绝的补丁——这些反馈可以将不明确的编程问题转化为有明确诊断的修复问题。在这种情况下,聪明的做法可能不是立刻升级,而是花更少的计算资源,用正确的反馈再次调用廉价模型。
这一观察与测试时计算扩展(test-time scaling)的研究趋势一致:对于许多推理任务,为同一模型分配更多推理时间计算可能与切换到更大模型具有竞争力。代码智能体使这一区别特别具体,因为失败的执行本身提供了信息信号。因此,相关的决策不仅是 “调用哪个模型”,更是 “采取哪种恢复动作”。
核心方法和技术细节
问题形式化
论文将故障恢复路由建模为:在廉价基础模型首次尝试失败后,路由器观察到恢复上下文 ,其中 是问题陈述, 是执行判决(如错误答案、超时或编译错误), 是标准错误跟踪。路由器从三个动作中选择一个:
- reflect:要求廉价模型利用执行反馈进行局部修复
- replan:要求廉价模型从不同计划生成全新的解决方案
- escalate:将问题和执行反馈发送给更强的模型
这是一个干预选择问题而非失败原因诊断问题。每个动作都有相关的部署成本估计 ,来自该动作的令牌消耗或预期消耗。
监督恢复路由器
论文从执行 rollout 中收集离线恢复数据。对于每个实例 ,记录成功的动作集合 。训练标签是成本最低的成功动作 。这种监督不同于普通的多类分类,因为多个动作可能解决同一实例,因此路由器的评估指标是解决率(所选动作在 中的比例)而非分类准确率。
路由器是一个监督微调的语言模型(Qwen3.5-4B)。给定恢复上下文 ,它为每个动作评分(基于模型下标签令牌的平均对数概率),然后通过 softmax 归一化得到 。无约束路由器选择 。
成本正则化策略
为在不重新训练的情况下从同一个路由器获得多个操作点,论文引入标量成本惩罚 ,定义:
当 时恢复为无约束的 argmax 路由器;随着 增加,策略向更便宜的恢复动作倾斜。对于固定的 ,所选动作在特定断点 处切换。所有断点的并集构成有限排序网格 ,在每个区间内所选动作是常数,因此成本-质量前沿是分段常数的。
共形预算校准
论文采用共形风险控制(CRC)方法,从校准数据中选择 以控制用户指定预算 下的平均恢复成本。对于校准集 ,计算每个 的经验平均恢复成本 ,然后选择最宽松的惩罚以满足:
其中 是成本上界,用作留一法共形修正。在可交换性和成本单调性(引理 1)下,该选择保证 (定理 2)。这个保证是关于校准-部署过程的期望成本,而非群体成本有效策略的高概率陈述。
创新点和贡献
本文做出三个关键技术贡献:
-
失败后恢复路由的形式化:将代码智能体的恢复建模为在执行反馈观察后在 reflect、replan 和 escalate 动作之间进行路由选择,而非仅关注模型升级。
-
预算可控部署机制:通过添加 CRC 校准层,从单个训练路由器产生多个预算操作点,具有期望成本边际控制,无需为每个预算重新训练。这解决了成本-质量权衡在不同用户、工作负载和运营预算间变化的问题。
-
恢复权衡的经验证据:提供了经验证据表明廉价恢复和模型升级在保留的代码智能体失败案例上具有互补性,产生离散的成本-质量前沿。成功动作的结构分析(图 2)显示,28% 的失败仅能通过廉价恢复解决,45% 需要升级,27% 两者都能解决。
论文的关键洞察是:代码执行环境使失败成为信息信号,而不仅仅是答案错误。这打破了传统级联模型中对 “更强模型参数” 的单一依赖,允许系统在适当情况下利用廉价计算资源。
实验结果分析
实验设置
数据来自五个代码生成基准:APPS、TACO、BigCodeBench、LiveCodeBench 和 CodeContests,涵盖从面试级别到竞赛编程难度。使用 GPT-5.4-nano 作为廉价模型,GPT-5.4 作为强模型。从约 27,300 个尝试问题中过滤出 4,656 个训练实例(仅保留初始尝试失败且至少有一个恢复动作成功的案例)。校准和测试各保留 360 个问题,且按来源分层,无问题 ID 重叠。
路由质量与恢复异质性
固定动作策略的比较(表 1 左)显示:always-escalate 解决率为 0.686,成本 $7.22 m$,而无约束学习路由器达到 0.817 的解决率,成本仅 $5.51 m$。这证明了实例相关路由的必要性。
零样本 LLM 路由器的比较(表 1 右)显示:最好的提示路由器解决率仅为 0.453,且成本更高,表明路由规则必须从 rollout 中学习,而非从动作描述中简单编码。
成功动作的结构分析(图 2)揭示了失效恢复不遵循统一的阶梯:三个模式(仅廉价恢复、仅升级、两者都行)共存,且随基准的不同而变化。BigCodeBench 以仅廉价恢复为主,TACO(中-难)更依赖升级。这解释了为什么 oracle 路由在不同领域间产生不同程度的成本节省。
预算可控前沿
主要结果显示(图 3):单个训练路由器可转化为一系列预算操作点。前沿从解决率 0.486、成本 $1.43 m$ 开始,到达无约束 argmax 点(解决率 0.817,成本 $5.51 m$)。最具成本效益的收益出现在中低预算:成本约 $2.56 m$ 时解决率达 0.717,超过同等成本下的二元级联基线(0.636)和 always-escalate(0.686),且仅使用 always-escalate 的 35% 成本。
消融实验
路由器消融(表 2)揭示:最重要的数据选择是元数据前缀,添加元数据将解决率从 0.656 提高到 0.697。软标签(加权 rollout 副本)未改善最终路由器。在模型侧,Qwen3.5-4B 全参数微调效果最佳。
跨模型泛化
论文还在 Gemini-2.5-Flash / Gemini-2.5-Pro 对上重复了实验(附录 C)。结果显示相同的基本行为:单个训练路由器产生预算依赖的操作点,无约束路由器接近 always-escalate 的解决率但成本大幅降低。
非单调前沿的特殊案例
TACO 难度阶梯的逐基准分析(图 4,附录 D)揭示了两种定性不同的前沿形状:中等和困难级别呈现正常的单调前沿(花费更多提高解决率),但中等和极难级别出现非单调前沿——低成本操作点反而获得更高解决率。这直接说明了单调级联假设的局限性:对于中等问题,强模型平均不比廉价模型更可靠;对于极难问题,两种模型都不可靠,升级既昂贵又无效。CRC 自然识别这些机制:更严格的预算约束推动 上升,将策略从升级转向廉价恢复,以更低成本恢复更高解决率。
实践建议
对于希望在代码智能体系统中实现成本感知恢复路由的团队,可从以下方面着手:
-
收集恢复 rollout 数据:为每个失败案例运行所有候选恢复动作,记录成功动作集合 。这提供了路由训练的基础事实,也揭示了廉价恢复和升级之间的互补模式。特别注意:不要假设单调级联关系,某些问题可能仅能通过廉价恢复解决。
-
选择合适的路由器架构:论文使用 Qwen3.5-4B 作为路由器骨干,全参数微调效果优于 LoRA(见 5.2.3 节)。元数据前缀(来源、难度、算法标签)对路由质量至关重要。如果资源允许,优先考虑全参数微调而非参数高效方法。
-
部署 CRC 校准层:训练一次路由器后,通过 CRC 层可以获得多个预算操作点而无需重新训练。实现步骤:(a) 计算校准集上所有断点构成网格 ,(b) 预先计算每个 的经验平均成本表,(c) 部署时根据预算 选择 。适应新预算只需重新扫描存储的成本表(算法 1 的步骤 5)。
-
注意 CRC 的保证边界:定理 2 提供的是期望成本控制,而非每次部署都满足成本约束的保证。实际部署时应在测试集上验证经验成本分布,特别是在非单调前沿场景下(如 TACO 中等和极难级别),因为 CRC 的保证基于成本而非解决率。
-
扩展至多轮场景:论文当前建模为单步恢复决策。对于实际的多轮智能体部署,可考虑将方法扩展为在每个失败轮次应用路由决策,但需注意 CRC 保证在非独立轮次中不成立。一个实用起点是:第一轮失败后使用本方法,后续轮次采用固定策略。
-
跨模型迁移:论文在 GPT 和 Gemini 对上均验证了方法(附录 C),表明框架不依赖特定模型系列。若使用不同的廉价/强模型对,应重新收集 rollout 并训练路由器,因为成功模式可能与模型特性密切相关。