论文链接:One to More, More to One: Category-Aware Iterative Expert Training for Software Engineering Agents 发表时间:2026 年 9 月 20 日(arXiv v1, 2609.23377) 机构:阿里巴巴集团(单一企业,底座 Qwen3.6-27B;模型名 Model · Logics-SWE-Qwen3.6-27B) 领域标签:cs.SE / Software Engineering Agents / Post-training 开源情况:无公开代码(实验在 ROLL + R2E-Gym 沙箱内进行,SWE Labeler 用 Qwen3.7-max 标注)


一、论文背景:为什么仓库级 SWE 不适合「一锅炖」

软件工程 Agent 要在一个真实代码库里导航、编辑、调用工具、读执行反馈、跨长轨迹反复修订 patch。SWE-bench 系基准把这件事变成了可执行、可度量的任务:给一个 issue、一个代码库快照、一套隐藏测试,Agent 产出一个 diff,用 fail-to-pass(验证问题被修)和 pass-to-pass(确认没引入回归)判定成败。

但「仓库级 SWE」并不是一个同质问题。一个安全补丁、一个 UI 文案调整、一个跨模块的兼容性改动、一个 build 修复,所需的证据来源、工具交互模式、验证方式都截然不同。论文把这个结构性的「异构」作为出发点,并指出一个被单一总分掩盖的现象:

在联合强化学习(把各类任务混在一起喂给同一个策略)下,某些类别的进度上升,另一些类别却在倒退,但聚合分辨率(resolution,即解决率)把这种内部再分配藏了起来。

论文把这个现象称为 category see-saw(类别跷跷板),类似学生「偏科」:总分看着涨了,其实数学涨了、语文跌了,平均线掩盖了学科间的此消彼长。

三个已有后训练流派各自留了缺口:

  • 池化联合训练(SWE-RL、SWE-Gym、SWE-Master 等):把任务/轨迹混在一起训,方便但压扁了重要的结构信息。
  • 流水线分解(Agentless 拆定位与修复、SWE-Fixer 训检索+编辑模块):分解的是「功能阶段」,而非「任务类别」。
  • 跨域专家拆分与融合(Branch-Train-Merge、MOPD、ExOPD):按数学/代码/指令跟随等天然域切分。但同一个传统域(如 SWE)内部没有现成切分,类别要靠人为规则建立。

本文的站位:既然聚合分数会掩盖跷跷板,那就在单一 SWE 域内,用可观测的任务标签把异构任务组织成类别,先训出类别专家,再用标签路由的多教师蒸馏(MOPD)把专家整合回一个可部署策略。


二、核心问题:类别跷跷板从「是什么」讲起

2.1 任务与联合 RL 的形式化

论文把仓库级 SWE 实例建模为 x = (R, b, q, E, V):仓库 R、可复现的基准版本 b、自然语言问题 q、执行环境 E、可执行验证器 V。Agent 从 R0 = checkout(R, b) 出发,产出一个终态 RT,patch p = diff(R0, RT),可执行成功定义为

renv(x, p) = I[apply(p) ∧ VF2P(RT) ∧ VP2P(RT)]

即:patch 能打上、且 fail-to-pass 测试通过、且 pass-to-pass 测试不回归。这把「仓库级 SWE」和「孤立代码生成」区分开——成功依赖一个有状态、且与周围项目保持兼容的编辑。

联合 RL 的目标是一个标量:JRL(θ) = E_{x∼D, τ∼πθ}[renv(x, p(τ))]。它适合衡量可执行正确性,却把「维护意图不同、仓库上下文不同」的任务都平均掉了。两个 JRL 相近的 checkpoint,解决的问题分布可能天差地别。

2.2 用三个量把跷跷板量化

在 Pro-618(SWE-bench Pro 的一个审计过滤子集,618 例,按仓库域分成 Pro-A 221 / Pro-B 201 / Pro-C 196)上,论文定义了三个量:

  • ∆c(t) = Sc(t) − Sc(0):类别 c 在 checkpoint t 相对基座的增益。
  • Gsim(t) = min_c ∆c(t):最小类别增益。它 >0 表示「每个类别都比基座好」。
  • SSG(t) = ∆all(t) − Gsim(t):跷跷板间隙(see-saw gap)。全类别增益相等时为 0;当整体提升只集中在部分类别、或整体分数掩盖了某个类别的回退时,它会变大。

满足 ∆all = Gsim + SSG。三者合起来就能区分「对齐式提升」(Gsim↑ 且 SSG↓)、「仅靠总分下降缩小间隙」(不符合目标)等情形。

图 2 直观展示了 Pooled RL 下的现象:面板 (a) 中一些类别的增益曲线上升、另一些下降;面板 (b) 中整体增益为正时,Gsim 可能为负——总分在涨,但最弱的类别其实在跌。

2.3 两种应对思路

论文据此提出两类利用类别结构的方式:

  1. 调数据组成:在同一个共享策略的训练流里平衡类别占比(Balanced RL)。
  2. 改学习组织:在每个类别专属池上训专家,再把行为整合进单一模型(本文主路线)。

三、SWE Labeler:可审计、可复用的多轴标注体系

要让「类别」可计算、可路由、可审计,论文设计了 SWE Labeler——一个基于证据、分层级、多轴的标注系统。关键点在于:分类体系不是拍脑袋的扁平清单,而是锚定到权威软件工程概念。

3.1 标注空间

每个实例得到两条语义轴 + 三条有序标度轴:

  • Task Type(任务类型):维护意图,如 bug-fix、feature、enhancement、refactor、performance-fix、security-fix、build-fix 等。
  • Repository Domain(仓库域):变更所处的软件生态,如 web_backend、data_science、devops_infra、database、security_auth 等。
  • 三条标度轴:修改范围(scope)、认知复杂度(cognitive)、预估解决时间(time),各 4 个有序等级。

最终体系:26 个 Task Type L1 族 + 119 个 L2 标签,21 个 Repository Domain L1 族 + 108 个 L2 标签,合计 47 个语义族、227 个细粒度标签,外加 3 轴 12 个标度等级。

3.2 接地(grounding)与标签契约

  • Task Type 轴借用了 ISO/IEC 25010、ISO/IEC/IEEE 14764(维护与质量词汇)、MITRE CWE(缺陷与安全机制)、Fowler 重构目录。例如 bug-fix.logic_error 锚定到 CWE-682 / CWE-697,覆盖错误条件/计算/比较,而越界映射到 off_by_one、非预期变更映射到 state_corruption。
  • Repository Domain 轴的定义则锚定到各框架、平台、项目的一手文档。

每个具体标签是一份「决策记录」E(ℓ) = (aℓ, dsrc_ℓ, dop_ℓ, s+_ℓ, bℓ):权威来源、源概念、可操作 SWE 规则、可观测正信号、与相邻标签的边界。这种「来源→规则→边界」结构在最容易混淆的类间边界处给出显式语义。

3.3 两类证据 + 分层标注

标注输入有两种适配器:静态的 issue–change 实例(issue-PR 对,含仓库名、GitHub 元数据、问题描述、代码/测试 patch 片段),以及交互式的 完整 user–agent 轨迹(含请求、动作、工具观察、编辑、验证结果)。两者都归一化到同一实例表示,再套同一套决策规则。

标注分两阶段:先预测 L1,再只在预测出的 L1 子树下选 L2 并赋标度轴,输出会对照声明的 L1–L2 层级做合法性检查。

3.4 跨基准画像与路由类别构造

论文把标注器用到 1,531 个实例上(SWE-bench Verified 500 / Pro 731 / Multilingual 300),得到鲜明对比的「任务画像」:

  • Verified:87.0% 是 bug-fix、86.2% 单文件改动(几乎全是修 bug)。
  • Pro:47.3% 是 bug-fix、59.2% 需要跨模块改动(维护意图和规模都更杂)。
  • Multilingual:89.3% 是 bug-fix、66.0% 单文件。

路由类别怎么定?直接给每个 L1/L2 派一个专家会把 RL 样本和优化预算切得太碎。论文因此用 Repository Domain L1 作为路由轴(它标识 Agent 要在哪种软件生态里找证据、用工具、验证改动),并把 18 个可路由 Domain L1 粗化成三大工程语境:

  • A 类:service/data/security(服务/数据/安全)
  • B 类:user-facing applications(面向用户的应用)
  • C 类:systems, tooling, and runtimes(系统/工具链/运行时)

用确定性映射 c(x) = gψ(zdomain_L1(x)) ∈ {A, B, C, ∅} 给所有标注过的训练与评测记录打路由标签,∅ 表示未路由。

概念澄清:标签是可观测实例标注,类别是标签的操作分组,模型能力是潜在的。一个类别可能需要多种能力,一种能力也可能支撑多个类别。所以本文分析的是「类别层面的性能、专精与整合」,而非对潜在能力的还原论分解。


四、Agentic-miniRL:面向长程 SWE 轨迹的 RL 配方

基座与可执行 Agent 都是 Qwen3.6-27B,用 R2E-Gym 脚手架:131,072 token 上下文、最多 150 个 agent 动作、每动作最多 12,288 新生成 token,每个任务采样 G=8 条轨迹。

长程多轮 SWE 轨迹有四大优化难题,Agentic-miniRL 逐一应对(基于 MiniRL 的 policy-gradient 变体):

4.1 RLOO 奖励居中:保住稀缺的「成功信号」

可执行验证通常只给稀疏的二值终奖。但 group-relative 学习只有在「成败混合」的 rollout 组里才有非零信号,而难题的混合组很少。论文用 RLOO(leave-one-out)基线:对每个实例的 G 条轨迹,把第 i 条从它自己的基线里排除。

对二值可执行奖励,若一个 G 组里 k 条成功,则成功/失败轨迹分别拿到 R̄+ = (G−k)/(G−1)、R̄− = −k/(G−1)。在非退化组里,一条稀有的成功轨迹会拿到强正权重,失败兄弟则提供「同实例配对」的负证据。全成功或全失败的组没有组内对比,这正说明要结合 4.4 的通过率感知实例选择。在 G=8 时,单次成功组里那条成功轨迹在 RLOO 下优势为 1,而含自身的均值中心化只有 7/8——RLOO 恢复了这个有限组尺度,不改动优势符号与相对顺序,只是避免进一步削弱本就有限的信号。

4.2 K1 正则放在奖励路径里(return-to-go 之前)

长程训练会让策略偏离固定参考。论文把采样的 K1 对数比(log πθ− − log πref,均为不求导)放进奖励路径:在 RLOO 居中之后、return-to-go 之前,做 eri,t = 1[t=Ti]·R̄i − β·dK1。

位置很关键:同策略下 K1 与非负的 K3 估计同一个反向 KL,但优化梯度不可互换;把 K1 当 stop-gradient 奖励用,得到的是 KL 正则目标的 score-function 梯度,比把 K3 当辅助损失直接求导更稳(Shah et al., 2025)。这里 πref 是冻结参考,与 4.5 的蒸馏项无关。

4.3 MiniRL token 更新:行为纠正 + 近端护栏

rollout 引擎记录的是行为策略 µb 的概率,而训练器在重算 πθ− 后优化 πθ,跨引擎数值差与异步滞后会让概率不一致。MiniRL 用有界重要性权重 wi,t = clip(πθ/µb, cmin, cmax) 纠正;再用符号感知 mask Mi,t 在策略已越过「由其优势方向决定的边界」后才抑制某 token 更新。截断重要性采样是主纠正,mask 是近端护栏。

4.4 turn-aware 归约与最终目标

SWE 轨迹交错着「助手动作轮」和「工具观察」,动作轮在数量和长度上差异巨大。损失对每个助手轮内 token 求和、轮间取平均、再对有效轨迹取平均(seq-mean-segment-sum):既不因原始轨迹长度或工具交互次数决定外层权重,又保留长动作自身的 token 求和信号。工具观察 token 被 response mask 排除。

这套配方同时用于 Pooled RL、Balanced RL、类别专家 RL。


五、RRE 自改进循环:Refresh–Repair–Expand

三个类别各训一个专家,都从同一强基座 π0 出发。关键设计:所有专家直接通过可执行 Agentic RL 获得类别行为,不引入外部大模型教师来合成轨迹——这里的「teacher」只指 4.5 里 MOPD 用的专家本身。

5.1 为什么需要 RRE:平均进步与实例级回退并存

初始类别 RL 提升了训练实例平均成功率,但同一批 2,769 条训练记录里,成功率上升的 1,108 条、下降的 839 条(30.3%)、不变的 822 条。类别内平均进步 ≠ 每条都进步。这催生了「显式巩固成功行为 + 反复重估哪些任务还有用」的需求。

5.2 三个动作

Refresh(刷新):策略变了,通过率地貌就漂移了。每阶段选该阶段内目标类别解决率最高的模型,并在 RL 后、Repair SFT 后都用 4 次新鲜可执行 rollout 重估 mastery,得到配对变化 ∆(r)_c(x) = bp(RL) − bp(pre),定位「之前解了的现在又解不了」的回退,并指导下一步数据选择。

Repair(修复/自蒸馏):RL 阶段专家已积累自己的、经验证的成功轨迹缓冲 B(r)_c(x)。论文只回放这些 verifier 批准的轨迹,按当前 mastery 分配配额 q(mastery 越低,给越多的不同成功轨迹)。Repair SFT 最小化 −Σ log π(τ|x),且只算助手生成 token 的损失。这是奖励过滤后的轨迹自蒸馏,不是第二来源的专家示范——与近期 self-distillation 方法共享「无外部教师」原则,但用的是完整、环境验证过的 SWE 轨迹。

Expand(扩展):下一轮 RL 前,把初始池之外、基座通过率为 0 或 1 的实例随机补进当前学习前沿,用更新后的策略重估,找出「之前解不了的现在能成、之前饱和的现在未必还全掌握」的新信号。

5.3 阶段结果

四类阶段(初始 RL → 首次 Repair SFT → 扩展 RL → 二次 Repair SFT)下,专家在各自目标类别 Pro-A/B/C 上相对基座的增益依次为:A 类 +1.81→+5.58→+6.94→+7.84;B 类 +0.66→+2.16→+3.98→+4.48;C 类 +0.68→+3.57→+5.10→+5.61。即:初始类别 RL 只给 modest 增益;Repair 把训练实例成功率与回退恢复拉高;刷新后的课程 + 扩展 RL 持续开发专家;扩展 RL 后三类的目标类别均值都已超过 Pooled RL 终点。

恢复(Recovery)也体现在实例层:初始 RL 中下降的 839 条里,751 条进了 Repair 训练,其中相当比例恢复到基座水平或以上(如 A 类 69.8%、B 类 73.0%、C 类 61.3%)。


六、Label-routed MOPD:标签路由的多教师同策略蒸馏

部署要单一模型。论文用同一套类别映射,在 MOPD 阶段把每个训练任务路由给对应专家。

6.1 同策略蒸馏设定

学生从原始基座 π0 初始化,在「类别平衡」的混合任务上训练(把较小的 A/B 池重复到匹配最大的 C 池,共 4,956 条记录,类别数相等)。学生自己生成完整轨迹,教师只在学生实际访问的前缀上被查询——即 MOPD 的 on-policy 蒸馏。

6.2 路由多教师优势 + ReLU 门控奖励外推

对每类专家 Tk,定义两个对数比:学生–教师差 dt,k = qt − log πTk,教师–参考差 et,k = log πTk − log πref。路由多教师优势为:

AMOPD_t = Σ_k mk(x)·[ −dt,k + (λk − 1)·max(et,k, 0) ]

  • λk = 1 时第二项消失,退化为 MOPD 纯模仿项;
  • λk > 1 时,第二项在「教师比参考更偏好某 token」处做外推,不止于模仿。

ReLU 门控的动机:et,k 跨 token 有正有负,不加门控时正负贡献量级相当、互相抵消,净外推远小于模仿项。ReLU max(et,k, 0) 只保留正方向,使外推项在每个 token 上非负、获得系统性方向,而不是跨 token 抵消的带符号残差。审计配置用 λk = 1.25,门控开启。πref 用学生初始策略(即同起源基座),外推方向锚定在「专精起点」上,代价仅是多一次冻结参考前向。

6.3 学生目标

复用 4.3 的 turn-aware 归约,路由优势作为每 token 权重:LMOPD = −(1/Bvalid)·Σ (1/|Si|)·Σ_s Σ_t ÃMOPD_t·log πθ(yt|ht),ÃMOPD_t = clip(AMOPD_t, −5, 5)。这是 vanilla policy gradient:无近端 mask、无重要性比纠正,只保留有限优势截断。MOPD 是纯蒸馏模式:每个任务只 rollout 一次,环境回报不进学生损失,组基线与 K1 惩罚关闭,πref 只作外推锚点。

6.4 同起源教师的妙处

教师是同起源类别专家:共享 tokenizer、prompt 格式、基座 checkpoint、Agent 接口,减少了跨池训练带来的无关 teacher–student 失配。外推把冻结教师侧前向从 K 次增加到 K+1 次。


七、实验结果与分析

主基准 Pro-618(R2E-Gym 脚手架),外加 SWE-bench Multilingual(SWE-agent 脚手架)。所有主策略都从同一 Qwen3.6-27B 出发。

7.1 RQ1:Balanced RL 缓解跷跷板了吗?

Balanced RL 只用了 1,548 个训练实例(每类 516),却与 Pooled RL(6,723 个)总分接近(55.34% vs 55.50%)。过程级平均量:Balanced 的 Full gain 1.37、Gsim 0.19、SSG 1.18,Pooled 为 1.13 / 0.08 / 1.05。即平衡提升了平均总分与最小类别增益,但没缩小「总分—最小类别」间隙,也没消除类别间反向运动。这促使去试第二种用法:先训专家再整合。

7.2 RQ2:RRE 把专家训到多强?

表 11 给出四阶段目标类别解决率(均值±总体标准差,三轮):

  • A/Pro-A:53.54→57.32→58.67→59.58(+7.84)
  • B/Pro-B:55.06→56.55→58.37→58.87(+4.48)
  • C/Pro-C:52.55→55.44→56.97→57.48(+5.61)

扩展 RL 后,三类都已超过 Pooled RL 终点(54.75/56.72/55.10);最终专家相对该参考的 margins 为 +4.83 / +2.16 / +2.38。

7.3 RQ3:整合进单一策略后保留了什么?

表 12 对比最终单一策略(三轮均值±标准差):

策略FullPro-APro-BPro-C
Base52.6451.7354.3951.87
Pooled RL55.50 (+2.86)54.75 (+3.02)56.72 (+2.32)55.10 (+3.23)
Balanced RL55.34 (+2.70)54.45 (+2.71)57.05 (+2.65)54.59 (+2.72)
路由专家(3模型)—59.58 (+7.84)58.87 (+4.48)57.48 (+5.61)
MOPD(单模型)58.04 (+5.39)58.07 (+6.33)59.37 (+4.98)56.63 (+4.76)

MOPD 单一策略达 58.04%,较基座 +5.39 个百分点;相对 Pooled RL 在 Full 上 +2.54,A/B/C 上 +3.32/+2.65/+1.53;相对 Balanced RL 在 Full 上 +2.70,A/B/C 上 +3.62/+2.32/+2.04。更高的总分伴随每个类别更高的均值——最小类别提升(dmin)相对 Pooled/Balanced 分别为 +1.53 / +2.04。

7.4 专家增益的回收率(Recovery)

用 Recovery_c = (Sc(MOPD)−Sc(base)) / (Sc(Tc)−Sc(base)) 衡量单模型保留了多少专家增益:A 类 80.8%、B 类 111.1%(学生反超对应专家 0.50 点)、C 类 84.8%。即整合保住了足够多的专家增益,三类别都优于两个联合 RL 基线;A 类回收比例最低,指明「进一步提升 A 类整合」是具体机会。

表 13 的最终策略量:MOPD 的 Full gain 5.39、Gsim 4.76、SSG 0.63,三个单模型里 Gsim 最高(相对 Pooled/Balanced 的最小类别增益分别 +2.44 / +2.11)。按表 1 解读,这是「共享提升但间隙更宽」而非「靠总分下降缩间隙」。

7.5 跨基准验证:SWE-bench Multilingual

MOPD 在 Multilingual 上达 59.00%(基座 56.22%,+2.78);A/B 类 +6.48/+8.00,C 类持平,27 个未路由实例 +6.17。相对 Pooled RL(55.56%)整体 +3.44、A/B/C +3.70/+10.67/+3.22;相对 Balanced RL(57.00%)整体 +2.00、A/B/C +2.78/+8.00/+2.08。配对 bootstrap 95% 区间:对基座 [0.33, 5.22]、对 Pooled RL [0.67, 6.22]、对 Balanced RL [−0.78, 4.78]。在 Pro-618 之外的共同 SWE-agent 脚手架下,对两个联合基线的优势同样出现。

7.6 奖励完整性与防黑客

论文把两类风险区分开:验证器利用(改/绕过测试或执行态骗过验证)与方案泄漏(从未来 git 历史或外部仓库找回上游 fix)。采用纵深防御:任务构造剥离答案泄漏、仓库净化重置到基准版并删除上游 ref/分支/标签/reflog、延迟注入隐藏测试并在全新沙箱重放、轨迹审计抓外部答案检索。对普通训练实例与更严的 Pro-618 都生效。


八、相关工作交叉验证(WebSearch)

下面三组与本文方法强相关的外部工作,均可核验。

8.1 多教师蒸馏 / MoE 路由(MOPD 源头)

本文的 Label-routed MOPD 直接建立在 MOPD: Multi-Teacher On-Policy Distillation for Capability Integration in LLM Post-Training(Ma et al., 2026, arXiv:2606.30406;ICML 2026)之上。该工作先按领域分别做 RL 得领域教师,再在学生自己生成的轨迹上对这些教师做 on-policy 蒸馏,消除曝光偏差、提供稠密梯度信号;在 Qwen3-30B-A3B(Math/IF/SWE)上优于 Mix-RL、Cascade RL、Off-Policy Finetune、Param-Merge,并已在工业级 MiMo-V2-Flash 后训练部署。

可核验链接:

  • 论文主页/摘要:https://arxiv.org/abs/2606.30406
  • ICML 2026 虚拟页:https://icml.cc/virtual/2026/78170
  • 智源社区中文解读:https://hub.baai.ac.cn/paper/a27bf26c-8b6d-45b9-96ee-d4a3c52c32ee

本文相对 MOPD 的推进:把跨域专家整合搬进 SWE 域内,用可观测类别标签定义专家粒度与路由,且所有教师同起源、学生也从同一基座初始化,外推方向锚定在专精起点。

8.2 类别/持续冲突中的 RL(梯度冲突、跷跷板现象)

类别跷跷板并非孤例。多任务/多域学习的「negative transfer(负迁移)」与「see-saw phenomenon(跷跷板现象)」早有系统记录:

  • 推荐系统联合建模综述(arXiv:2502.21195)明确把「某些任务提升以其他任务退化为代价」称为 seesaw phenomenon,根因归为**梯度主导(gradient dominating,量级失衡)与参数冲突(parameter conflict,不同任务的梯度方向相反)**两类。
  • PCGrad(梯度手术)(Yu et al., 2020;综述见 emergentmind.com/topics/pcgrad-optimization-technique)通过把冲突梯度投影到正交面来减 destructive interference;类似地 RotoGrad(arXiv:2103.02631)同时齐次化梯度量级与方向。
  • 多任务 RL 中的负迁移(arXiv:2311.01075)指出:两任务本质无关或冲突时,「提升一个会伤害另一个」,模块化/MoE 路由是主流缓解手段。
  • 本文相关工作中也引 Liang et al. (2025b, 2026) 与 Ming et al. (2026):多域微调中样本交互随训练演化,一个域的增益可能以另一个域为代价;训练混合比例影响多能力表现。

可核验链接:

  • 推荐联合建模综述(含 see-saw/negative transfer 定义):https://arxiv.org/abs/2502.21195
  • PCGrad 梯度手术综述:https://www.emergentmind.com/topics/pcgrad-optimization-technique
  • 多任务 RL 负迁移(CMTA):https://arxiv.org/abs/2311.01075
  • thuml awesome-multitask-learning 任务干扰管理:https://deepwiki.com/thuml/awesome-multi-task-learning/6.2-task-interference-management

本文的差异:前述多在跨传统域或多任务头层面;本文研究的是 SWE 域内的细粒度异构,用可观测标签暴露被总分掩盖的跷跷板,并作为训练与路由基础。

8.3 奖励外推(ExPO / ExOPD)

MOPD 里的 ReLU 门控外推项直接源自 ExOPD: reward extrapolation(Yang et al., 2026, 原作标题 Learning beyond Teacher: Generalized On-Policy Distillation with Reward Extrapolation, arXiv:2602.12125)。该文先理论证明标准 OPD 是「奖励与 KL 等权、参考任意」的稠密 KL 约束 RL 特例,再提出 G-OPD:引入灵活参考模型与奖励缩放因子;当缩放因子 >1(即 ExOPD)时,在合并不同领域专家进原学生的设定下,学生甚至超过教师性能边界、优于领域教师。文中默认 λ=1.25、参考取冻结的学生基座 checkpoint。

可核验链接:

  • ExOPD 原论文:https://arxiv.org/abs/2602.12125
  • alphaXiv 中文解读:https://www.alphaxiv.org/zh/abs/2602.12125
  • 长上下文推理的 Group-Calibrated OPD(同样用 λ=1.25、学生基座作参考,验证 ExOPD 配方):https://arxiv.org/html/2608.19181
  • OPD 2026 研究综述(含 ExOPD 与多教师开放问题):https://amysheng-ai.github.io/AmyBlog/posts/opd-survey-2026

本文对 ExOPD 的落地:把它从「跨域专家整合」搬到「同起源、标签路由的 SWE 专家整合」,并用 ReLU 门控只保留正的教师–参考对数概率差,给外推一个系统性正方向。


九、讨论、局限与结论

讨论

  1. 何时要拆一个域? 共享任务域不意味着学习需求均匀。当差异能形成可解释任务组、且池化训练在聚合分数下持续出现反向学习轨迹时,才值得探索分解。本文中,平衡混合并未消除跷跷板,这把「分解」定位成一个待验证的假设,而非专精的默认优势。
  2. 专精不止于切分。类别分离只决定「从哪些任务学」,不保证这些任务可学或保留已得行为。初始 RL 诊断显示平均进步可与单实例回退共存,所以专家开发必须同时处理「跨类别差异」和「类别内 master 漂移」——RRE 用自成功轨迹 + 刷新重选来回应。
  3. 高表现 ≠ 均匀保留。单模型整合既要看对联合基线的增益,也要看保留了每专家多少改进。本文中 C 类相对基座增益最小,A 类专家增益回收最低——最终改进最小的类别,未必是整合损失最大的类别,这帮助判断下一步该「训更强专家」还是「更有效地迁移已有能力」。

局限

  • 硬路由把跨类别任务指派给单一专家类别,简化了重叠结构。
  • 训多专家 + 跑教师前向的计算开销大;最优 K 随数据/基座/预算变化。
  • 同起源教师可能太相似(加不了信号)或过度专精后太远(整合不稳)。
  • benchmark 通过率不能完全度量 patch 质量;测试驱动奖励可能招奖励黑客或反映脆弱规格。
  • Pro-618 结果不能推广到未执行的完整 Pro 集;实验评估整个框架与阶段结果,未隔离各优化组件/回放选择/路由粒度的独立贡献。

结论

本文给出面向异构仓库级 SWE 的「类别感知专家训练 + 策略整合」框架:SWE Labeler 提供证据接地类别;Agentic-miniRL 与 RRE 通过可执行奖励学习、mastery 刷新、回放自身成功轨迹来开发同起源专家;Label-routed MOPD 用 ReLU 门控奖励外推把专家整合为单一可部署策略。最终策略在 Pro-618 达 58.04%、在 SWE-bench Multilingual 达 59.00%,整体与三类别均优于 Pooled RL 与 Balanced RL;但专家增益回收在类别间不均(A 类仅 80.8%),指明单模型整合仍有提升空间。框架把「任务类别」当作组织后训练的单位,实践目标是把专家增益保留进单一 SWE Agent。


一句话总结:当「总分」掩盖了 SWE 任务的偏科(类别跷跷板),阿里的解法是——先用可审计的 SWE Labeler 把任务按仓库域分成 A/B/C 三类,各自用 Agentic-miniRL + RRE 自改进训出同起源专家,再用标签路由的 MOPD(带 ReLU 门控奖励外推)把多位专家蒸馏回一个学生,最终单模型在 Pro-618 上 58.04%、多语言 59.00%,每个类别都压过池化与平衡 RL。