Compiler-as-Reward: Process Feedback for Coding Agent RL Training

课程 ID: 19293

描述:
话题概述: 过去两年企业内部 coding agent 普遍走 RL from execution feedback 路线:模型生成代码 → 执行测试 → 用 binary pass/fail 做奖励。这套单轮 RLEF 范式直接套到多步 agent(read→write→validate→done)上彻底失灵:10 步轨迹里 9 步对了 1 步错,奖励还是 0;而一旦给一点 naive 过程奖励,模型立刻学会反复调用 validate 工具刷分——val_success_rate 塌成 0%、mean_reward 反而冲到 1.2 以上。我们在 Shopify Horizon 主题编辑这一真实多步任务上系统性同时撞上这两个问题:稀疏奖励让 step-level gradient 几乎为零;奖励黑客让所有 naive 过程奖励方案在 20 个训练 iteration 内集体塌方。问题根源在于:binary 终态奖励缺乏密度,naive 过程奖励缺乏内容感知。我们需要一个 zero-cost、deterministic、内容感知的信号源直接作 process reward——真实编译器/校验器恰好同时满足全部三个条件。本次分享系统介绍 Compiler-as-Reward 范式从问题诊断到机制设计、训练落地、收敛验证的完整工程闭环。 演讲题纲: 话题亮点: 以 GiGPO(NeurIPS 2025)为基座算法,提出 Compiler-as-Reward 双组件:(1) Compiler-OPD(Ordered Process Densification)把前 2 次 validate 调用各计 +0.1 step reward,终态分级 +1.0/+0.3,把 binary 信号转成密集过程信号;(2) Error-Branch 在 validate 返回错误的高熵决策点把 rollout 分叉成 k=4 条平行续写,把错误消息作为 observation 注入——既把算力集中到 policy 最不确定的状态,又因为续写里“显式包含未修复错误”使 hacking 自相矛盾。技术栈:verl-agent + Unsloth + TRL GRPOTrainer + vLLM nightly,模型 Qwen3.5-4B(hybrid GatedDeltaNet+MoE 架构),环境 Shopify Horizon 主题 + Sitemuse 实时校验 API 当奖励 oracle,零标注成本。踩过的坑:OPD 单独上会被 +0.3 partial credit 利用,模型学会让 validate 通过但不调 done;Error-Branch 单独上反而最快 hack——agent 学会故意让 validate 失败以触发更多 branch 累积奖励;只有两者协同才稳,因为 OPD 给的是稳定的 step-level gradient,Error-Branch 在高熵点压制 hacking,覆盖彼此的盲区。