← 返回 2026-09-29

面向代码智能体强化学习的组级智能体评分与优势重分配 Groupwise Agentic Grading and Advantage Redistribution for Code Agent RL

Jinhao Dong, Liang Zhao, Zihao Yue, Wenhan Ma, Linghao Zhang, Lei Li, Shicheng Li, Yifan Song, Bowen Ye, Fuli Luo 📅 2026-09-26 👍 41 2026-11-11 18:30
GRPO LLM Agent 代码智能体 优势重分配 信用分配 奖励塑形 强化学习

组内智能体评分器给通过测试的解排质量序,和保持地重分配优势,稳定代码智能体RL。

前置知识

GRPO 与组相对优势估计

Group Relative Policy Optimization 是 LLM 强化学习的主流算法:对每个任务采样一组(group)轨迹,用组内奖励的相对比较代替价值网络来估计优势。在最常见的代码智能体设置里,奖励是可执行测试给出的二值结果,同一组内所有通过测试的轨迹获得完全相同的正优势,失败轨迹获得相同的负优势。

本文的问题起点正是 GRPO 的这一性质:通过测试的解被一视同仁,实现质量的差异完全不进入学习信号。理解组相对优势的结构,才能看懂 Gagar 在哪一环介入。

均值中心化优势(Dr. GRPO 风格)

本文采用的优势估计形式:$A_i = R_i - \bar{R}$,其中 $\bar{R} = \frac{1}{n-1}\sum_{j=1}^{n} R_j$ 是组内平均奖励。它不像原始 GRPO 那样再除以组内奖励标准差,因此优势的绝对尺度直接反映组内通过率,组内所有优势之和恒为零。

和保持重分配的所有推导都建立在这个形式上:正优势之和 $S^+$ 与失败侧优势在重分配前后必须精确不变,这是公式 (2)-(4) 的推导基础。

动态采样(Dynamic Sampling)

来自 DAPO 的训练技巧:训练时只保留那些既有通过轨迹又有失败轨迹的混合结果组(即 $0 < \bar{R} < 1$),把全通过或全失败的优势为零的组过滤掉,避免它们对梯度没有贡献却浪费算力。

Gagar 建立在动态采样之上:只有混合结果组才存在'成功之间比质量'的问题,评分器只对这类组运行,这是方法效率和有效性的前提。

智能体评分器(Agentic Grader)

不是一个静态打分模型,而是一个能多轮交互、主动取证的 LLM 评审智能体:它先读轨迹逐轮摘要定位疑点,再细读轨迹片段、把补丁与仓库代码和测试日志交叉核对,必要时运行针对性检查,负评必须引用补丁位置、轨迹事件或执行结果作为证据。源于 Agent-as-a-Judge 思想。

Gagar 与纯文本打分类过程奖励(如 ReCode、TRIAGE)的本质区别就在这里:判断'改动是否最小、是否有副作用'需要仓库上下文和执行证据,静态输入塞不进单个模型上下文。

信用分配与优势塑形

强化学习中决定'哪条轨迹、哪个动作、哪个 token 该为最终结果负责并获得多少强化'的一类技术。优势塑形(advantage shaping)在优化层面调整各轨迹优势的相对大小,而不改变环境奖励本身;关键约束是塑形后正负优势的平衡不能被破坏,否则会导致策略熵失控。

Gagar 本质上是一次优势塑形:把质量偏好编码进通过轨迹的优势权重。论文的消融(只打折 vs 和保持)说明信用分配中'总量守恒'这一约束对训练稳定性起决定作用。

研究动机

现有代码智能体 RL 普遍以可执行测试为奖励来源:轨迹提交的补丁通过测试得 1、否则得 0。在 GRPO 式组相对优势下,同一 rollout 组内所有通过测试的轨迹拿到完全相同的正优势,实现质量差异完全不进入学习信号。论文指出,同样通过测试的两个补丁,可能一个直击根因、遵循仓库规范、改动最小、可直接合并;另一个引入不必要的复杂度、削弱验证逻辑、或修改了任务范围之外的代码。这些差异直接决定开发者的 review 和返工成本,二值反馈却完全忽略它们。更麻烦的是,若只是简单给低质量通过解打折,组内总正优势会缩水而失败侧负优势不变,正负信用失衡会引发训练崩溃——论文实验中表现为策略熵 30 步内从 0.359 涨到 0.905、平均轨迹长度从 47.1k 涨到 114.1k token、DeepSWE 通过率从 56.5% 跌到 48.8%。核心问题因此有两层:如何把实现质量变成训练信号,以及如何在注入质量偏好的同时不破坏信用平衡。

本文的目标是本文的目标是让代码智能体 RL 在二值测试结果之外,进一步奖励干净、精准、可直接合并的实现。具体拆成三点:其一,对同一任务的所有成功轨迹做组内质量比较,识别不必要的复杂改动、越界修改和低效解题策略,把强化信号更多分配给高质量实现;其二,严格保持组内总正优势不变、失败轨迹优势不变,使质量偏好以零和方式在成功解之间转移,避免正负信用失衡;其三,让这套机制在工业级训练中真正可落地——在 MiMo-V2.6-Flash(310B 总参、15B 激活)与 MiMo-V2.6-Pro(1.02T 总参、42B 激活)的大规模混合任务 RL(每次更新 1568 prompts × 16 rollouts)中验证,目标是提升 DeepSWE v1.1 与 SWE-bench Pro 通过率、降低交互轮数与 token 消耗,并保证训练后期不出现基线那样的性能骤降。

与已有工作不同的是,已有工作各有切入但都留有缺口:ReCode 为通过解加候选级过程奖励、TRIAGE 提供段级监督,但都是孤立地给单条轨迹打分,缺乏组间比较;CPO/GRRM 用比较评估却限于对话和翻译;Agent-as-a-Judge 用智能体检查任务产物但没有做组内联合审查;Groupwise Ranking Reward 虽然做了组内排名,却用单轮文本评分器处理多模态推理,无法检查仓库和执行结果;PAPO 基于固定 rubric 在通过子集内做零和修正,评分器不能主动取证。本文的独特组合有三点:组内比较——把同一任务的所有通过与失败轨迹放进共享工作区联合审查,失败轨迹作为背景暴露无效策略,孤立评估难以发现的'不必要改动'由此显形;智能体探查——评分器可读仓库代码、交叉核对补丁与测试日志、运行针对性检查;和保持重分配——被扣掉的信用不是丢弃,而是按质量权重比例再分配给其他通过解,总正优势与正负信用比严格守恒。

核心方法

直觉上,Gagar 把'哪些成功更值得奖励'交给一个能动手查证据的评分器回答,再用一套保守权重比例的缩放把偏好写进优势。流程四步:先用动态采样只保留既有通过又有失败的混合结果组($0 < \bar{R} < 1$),优势采用均值中心化形式 $A_i = R_i - \bar{R}$;然后为每组构建共享工作区(任务、仓库、轨迹、补丁、测试输出),SFT 训练的智能体评分器迭代取证:先读逐轮摘要定位疑点,再细读轨迹、把补丁与仓库代码和测试日志交叉核对,必要时运行针对性检查;评分器沿五个维度(方案适配性、实现精度、改动最小性、副作用规避、代码库一致性)给通过候选排序并划分 T1/T2/T3 三个质量层级,确认依赖泄露答案的作弊解直接置零奖励;最后按排名把通过轨迹映射到折扣因子 $f_i \in (0,1]$,用公共缩放 $\lambda = S^+ / \sum_{j\in\mathcal{P}} f_j A_j$ 重分配,使 $\sum_{i\in\mathcal{P}} A_i^* = S^+$ 严格不变,序列优势广播到响应 token 后更新策略,评分与 rollout 生成异步重叠。

核心创新是'和保持优势重分配'。若只按质量因子打折($\tilde{A}_i = f_i A_i$),每个通过解被扣 $(1-f_i)A_i$,失败侧负优势不变,组内正负信用失衡——消融显示只打折的策略梯度损失均值 0.0304 对 0.0021,策略熵 30 步内从 0.359 飙到 0.905。Gagar 改为乘公共缩放因子恢复原总正优势:$A_i^* = \lambda f_i A_i$(通过集),失败侧 $A_i^* = A_i$ 不动。由于所有通过解初始优势相同,更新等价于 $A_i^* = (1-\bar{R})\, f_i / \bar{f}$:因子高于通过集均值 $\bar{f}$ 的解获得信用、低于均值的让出信用,偏好比例 $A_i^*/A_j^* = f_i/f_j$ 严格保持。与 GRPO'成功即同权'、ReCode/TRIAGE'孤立打分'、PAPO'固定 rubric'不同,信用是从低质量成功解'转移'而非丢弃,总正优势、失败侧优势和偏好顺序三者同时守恒,这是训练稳定的数学根源。

方法步骤详情

第一步,rollout 与奖励:每任务生成 16 条轨迹(训练 batch 128),可执行测试给出二值结果,作弊解奖励置零并视作失败,得到优势 $A_i = R_i - \bar{R}$。第二步,动态采样:只保留通过集 $\mathcal{P}$ 与失败集 $\mathcal{F}$ 都非空的组。第三步,组级智能体评分:在线评分器是 MiMo-V2.6-Pro 的 SFT 检查点(每组评分 2000 秒→600 秒);评分器先查是否依赖泄露答案,再对通过候选按五维标准打分,划分 T1/T2/T3 三层,层内按加权分初排,无据则并列;层级与排名映射为折扣因子 $f_i \in (0,1]$,T1 保满权重、T3 拿最强固定折扣。第四步,重分配:算 $\lambda = S^+ / \sum_{j\in\mathcal{P}} f_j A_j$,通过轨迹取 $A_i^* = \lambda f_i A_i$,失败轨迹保持 $A_i$;仅一个通过解或因子全相同时退化为原始优势。第五步,训练集成:校验评分完整性,不可用则回退;序列优势广播到响应 token 做 token-mean 更新。

技术新颖性

技术新颖性体现在四个层面。其一,评估范式:把组内比较从多模态推理的单轮文本评分器推进到代码智能体场景,评分器是可交互的智能体,能读仓库、追轨迹、跑针对性检查,负评必须引用补丁位置、轨迹事件或执行结果作证据——这是纯文本静态评估做不到的。其二,优势构造:不同于在奖励空间做 shaping(mean centering 只保证零均值,不能同时保证总正优势、失败侧优势和质量权重比三个约束),本文直接在优势空间推导,并证明可从目标优势分配反推出等价的奖励变换(附录 A.3)。其三,守恒性质:重分配在通过子集上零和($\sum_i (A_i^* - A_i) = 0$),失败侧完全不动,且 $A_i^*/A_j^* = f_i/f_j$ 保序——把质量偏好与信用总量解耦成两个独立可控的性质,这一守恒框架还可下沉到 token 级复用。其四,工程可行性:用 SFT 蒸馏评分器(2000 秒→600 秒)并结合部分 rollout 调度让评分与生成重叠,使方法在 1568 prompts × 16 rollouts、最高 1.02T 参数的工业规模混合任务训练中真正可运行,而非只在玩具设置里生效。

Overview of Gagar. Groupwise agentic grading ranks passing implementations and guides sum-preserving advantage redistribution.
Figure 1: Overview of Gagar. Groupwise agentic grading ranks passing implementations and guides sum-preserving advantage redistribution.

实验结果

主实验用 Flash 做 code-only RL 对照。DeepSWE v1.1 上,基线在 step 28 因性能骤降被停(58.5%→50.2%),Gagar 同 step 达 62.2%(+12.1pp),step 44 峰值 63.4%;SWE-bench Pro 上基线停在约 59%,Gagar 涨至 step 52 的 62.5%。效率上,step 28 时 DeepSWE 轮数与 token 分降 15.6%(132.3→111.6)和 9.9%。盲评:Gagar 4.03 对 3.70,通过解间胜率 69.8%,65.0% 的组居首,T1 占比 25.4%→34.3%。消融证实'和保持'是稳定关键:只打折时策略梯度损失 0.0304 对 0.0021,熵 0.359→0.905,DeepSWE 通过率跌至 48.8%。工业级混合 RL 后,Flash 与 Pro 的 DeepSWE avg@3 为 67.9 与 71.9;Pro(1.02T)超 2.8T 的 Kimi K3(69.0),SWE-bench Pro 62.7% 超 GPT-5.6 Sol(60.5%)。

Coding performance (%) of MiMo-V2.6-Flash and MiMo-V2.6-Pro after industrial-scale mixed-task RL with Gagar, compared with external baselines.
Table 1: Coding performance (%) of MiMo-V2.6-Flash and MiMo-V2.6-Pro after industrial-scale mixed-task RL with Gagar, compared with external baselines.
Training dynamics of Flash with and without Gagar. Columns show pass rate avg@3, mean main-agent turns, and mean main-agent token length.
Figure 2: Training dynamics of Flash with and without Gagar. Columns show pass rate avg@3, mean main-agent turns, and mean main-agent token length.
Implementation quality on DeepSWE v1.1. Left: mean rubric-weighted quality score. Right: average win rate among passing candidates and group-first share at the final shared checkpoint.
Figure 3: Implementation quality on DeepSWE v1.1. Left: mean rubric-weighted quality score. Right: average win rate among passing candidates and group-first share at the final shared checkpoint.
Credit balance and training dynamics in Flash RL.
Figure 4: Credit balance and training dynamics in Flash RL.
查看结构化数据
任务指标本文基线提升
DeepSWE v1.1(长程软件开发,code-only RL,step 28 对照) pass rate avg@3 (%) 62.2(继续训练峰值 63.4 @ step 44) 50.2(二值奖励,step 20 时为 58.5 后骤降) +12.1 个百分点
SWE-bench Pro(仓库级 issue 修复,code-only RL) pass rate avg@3 (%) 62.5 @ step 52 约 59(step 16 起平台期) 约 +3.5 个百分点且保持上升趋势
DeepSWE v1.1 交互效率(step 28) 平均交互轮数 / 平均 token 长度 111.6 轮 / 172.9k 132.3 轮 / 191.9k -15.6% / -9.9%
SWE-bench Pro 交互效率(共享 checkpoint) 平均交互轮数 / 平均 token 长度 54.6 轮 / 68.6k 58.4 轮 / 79.9k -6.5% / -14.1%
DeepSWE v1.1 实现质量盲评(最终共享 checkpoint) rubric 质量分 / 通过解间平均胜率 / 组内第一占比 4.03 / 69.8% / 65.0% 3.70 / 30.2% / 35.0% 质量分 +0.33,T1 层占比 25.4%→34.3%
工业级混合任务 RL(MiMo-V2.6-Pro,1.02T) DeepSWE v1.1 avg@3 (%) 71.9 Kimi K3 69.0(2.8T);GPT-5.6 Sol 73.0;Claude Opus 5 74.0 参数量不到 K3 的一半仍领先 K3 2.9 个百分点
工业级混合任务 RL(MiMo-V2.6-Pro) SWE-bench Pro (%) 62.7 GPT-5.6 Sol 60.5;Kimi K3 63.3;Claude Opus 5 79.9 超过 GPT-5.6 Sol 2.2 个百分点

局限与改进

作者承认的局限主要在证据范围:受控实验只在 Flash 一个模型家族、两个公开基准(DeepSWE v1.1、SWE-bench Pro)上进行,Pro 仅有混合任务结果而缺少受控对照;质量盲评样本较小(30 个 DeepSWE 任务、每组最多 3 条 rollout),且依赖 Claude Opus 5 作外部裁判,裁判自身偏差未被讨论;评分器准确率只以'保持良好'带过,没有给出与人类判断的一致性数字;作弊判定的漏判/误判率及其对训练的影响均未量化。我自己的观察:方法隐含依赖测试能可靠反映任务完成度,当测试覆盖不足时'通过测试'与'实现正确'可能脱节,评分器也缺乏执行证据来纠偏;五维质量标准与 T1/T2/T3 映射规则在附录,对超参的敏感性未知;每组约 600 秒的评分开销即使与 rollout 重叠,在组积压时仍可能成为吞吐瓶颈;此外序列级优势均匀广播到全部响应 token,不做 token 级信用分配,无法区分轨迹内的关键编辑与冗余探索;DeepSWE 上 62.5% 与 Pro 的对比均未报告方差或多 seed 置信区间。

独立分析的弱点

第一个弱点是评分器上限:T1/T2/T3 分层与层内排名由单一 SFT 评分器决定,一旦它在某类任务(如跨文件重构、大型依赖链)上系统性偏差,错误信用会持续注入训练。改进方向是多个异构评分器交叉验证,或定期抽样人工审计校准。第二个弱点是作弊检测的时序边界:确认作弊后虽然奖励置零并重算组统计,但漏判的作弊解在该 step 已参与排名甚至可能进入 T1,错误信号已进入梯度;可引入静态答案相似度扫描、执行指纹匹配等确定性预筛作第一道防线。第三个弱点是信用分配粒度:序列级优势均匀广播到所有响应 token,轨迹内的冗余探索与关键编辑获得同等强化,可结合步骤分段做轨迹内重分配,衔接 FACTOR 式细粒度方案。第四个弱点是守恒假设的边界:和保持只约束组内零均值与正负平衡,未约束多组聚合后整体优势方差如何演化,及其与 clip 阈值、学习率调度的交互,值得专门分析。第五个弱点是基准偏窄:受控实验只有 DeepSWE 与 SWE-bench Pro,缺少测试覆盖薄弱、需求模糊任务的压力测试,也缺少多 seed 方差报告,62.5% 这类结论的统计置信度难以评估。

未来方向

论文明确给出的延伸点是 token 级应用:'同一守恒原则可在 token 层执行,在不改变总量的前提下于 token 间重分配正信用',这自然衔接 FACTOR 的轨迹到动作、动作到 token 分配。基于成果可继续推进的方向:其一,评分器与策略协同进化——用训练后期的策略模型或积累的组内比较数据持续更新评分器,缓解分布漂移;其二,把五维质量标准从固定加权改为可学习加权,按任务类型自适应;其三,把守恒重分配扩展到失败侧,与 EDAS 的错误多样性塑形结合成双边方案;其四,质量信号与运行效率奖励(性能导向 reward)联合塑形,覆盖'正确且快'的维度;其五,验证框架在浏览器操作、数据分析等其他长程智能体域的可迁移性——那里同样只有二值结果信号;其六,公开组级评分数据构建代码实现质量的偏好评测基准,让'评分器质量'本身成为可比较的对象;其七,探索评分开销与训练收益的缩放规律,给出何时值得开评分的资源决策曲线。

复现评估

复现难度高。论文来自小米 LLM Core,未提及开源代码、评分器权重、评分 prompt 或 T1/T2/T3 映射细则(位于附录正文未给),MiMo-V2.6-Flash/Pro 的 pre-RL SFT 检查点也未声明公开。数据方面 DeepSWE v1.1 与 SWE-bench Pro 公开可取,但训练任务池(尤其混合任务 RL 的非代码部分)未披露。算力门槛极高:受控实验即需 310B 总参/15B 激活的 MoE 做 RL(batch 128 × 16 rollouts),工业配置为每次更新 1568 prompts × 16 rollouts,Pro 实验达 1.02T 总参/42B 激活;在线评分器本身就是同规模 Pro 检查点,每组约 600 秒,需要大规模异步推理基础设施。学术实验室的现实路径是:用 7B–32B 开源模型复现核心算法——'打折 + 缩放'的数学自包含,公式 (2)-(4) 约 20 行代码可实现,评分器用较小开源模型或前沿 API 替代,重点验证和保持 vs 只打折的消融结论(策略熵与轨迹长度增长是清晰的中间观测量),再逐步逼近完整五维评分协议。

相似论文推荐