登录

64张B 300、不到5天,FireFlash比肩Fable 5与GPT-6 Sol,单任务成本低30倍!


速读:64张B300、不到5天,FireFlash比肩Fable5与GPT-6Sol,单任务成本低30倍! FireFlash:一个从GLM-5.3-Flash出发、经全参数强化学习训练得到的300B级终端与编程智能体。 64张NVIDIAB300、不到5天,团队同时公开了完整的训练配方。
2026年11月12日 20:27

长程智能体(long-horizon agents)正从「修一个 bug」走向连续数小时的终端与编程工作,但它的强化学习训练也格外昂贵:前沿实验室可以在数千张 GPU 上扩展 RL,而对多数团队来说,一条训练样本往往就是一次长达 3 小时、上百轮工具调用的完整尝试,任何一个环节出错,浪费的都是成小时的 GPU 时间。

近日,Wenbo Hu、Nanyun Peng、Dakuo Wang、Kai-Wei Chang 等研究者在 Agent Economics 博客上发布了  FireFlash :一个从 GLM-5.3-Flash 出发、经全参数强化学习训练得到的 300B 级终端与编程智能体。

FireFlash 在 Terminal-Bench 4.0 上的 Pass@1 达到  46.2% ,与 Fable 5、GPT-6 Sol 处于同一水平,而单个任务的成本比最高推理强度下的 Fable 5 低  30 倍以上 ;这一提升也迁移到了 DeepSWE v1.1 与 SWE-Bench Pro Verified 两个软件工程基准上。整个训练只用了  64 张 NVIDIA B300 、不到 5 天,团队同时公开了完整的训练配方。

博客标题:FireFlash: An Open Recipe for Long-Horizon Agentic RL Achieving the Performance-Cost Pareto Frontier

博客地址:https://agenteconomics.org/posts/agentic-rl-recipe

作者:Wenbo Hu、Jesse Cai、Po-nien Kung、Yuxuan Lu、Di Wu、Huimin Zeng、Nanyun Peng、Dakuo Wang、Kai-Wei Chang

图 1:Terminal-Bench 4.0 上 Pass@1 与平均单任务成本(对数坐标)的关系。虚线为 Pareto 前沿,箭头为 FireFlash 相对 GLM-5.3-Flash 的提升。由于模型由团队自行部署,FireFlash 按 GLM-5.3-Flash 的公开价格计费。

表 1:三个基准上的 Pass@1(5 次试验取平均)。GLM-5.3-Flash 为其在各基准上的官方成绩,FireFlash 在团队自己的 harness 中评测。

百卡级集群,

如何做到 Pareto 前沿?

团队从 GLM-5.3-Flash(总参数 321B,每个 token 激活 17.4B)出发做 全参数 RL ,训练全部 320B 语言参数(包括 MTP 层),冻结视觉塔与 DSA 索引器。他们认为,百卡级集群也能做到前沿级的训练效率,关键在于三点:精心筛选智能体 RL 环境,让每个任务都在合适的难度上提供可靠信号;为长、陈旧、低精度的 rollout 量身设计的 RL 配方;以及一套针对模型优化、训练与评测共用的编程 harness(智能体运行框架)。具体来说,团队重新审视并优化了后训练流程中的五个关键环节:

①  基础设施:GPU 不等最慢的那次尝试。  训练与 rollout 各用一组专属 GPU,允许使用落后最多 6 个权重版本的 rollout 训练,并借助 MTP 将解码加速 1.38 倍;每次尝试运行在独立的 microVM 中,因基础设施故障而损失的 rollout 组从 12% 降至 0.5%。

②  任务筛选:每个 rollout 组都带有信号。  只保留初始通过率在 15%–85% 的任务(在与训练完全一致的条件下至少采样 4 次测得),零信号 rollout 组的占比从 48% 降至 10.2%。

③  奖励:只为真正的解答给分。  每个任务入池前须通过九道验证关卡,并使用校准过的终局部分分;对更短解答的效率奖励让每次解出所用的 token 数降至原来的 0.84 倍,准确率不降。

④  Harness:长程任务装得进上下文,训练与评测一致。  上下文压缩、输出重定向到文件和后台执行让单次试验成本降低约 33%;训练与评测共用同一套 harness,在任何 RL 之前就让 GLM-5.3-Flash 比 Claude Code 高出 4.4 个点。

⑤  RL 目标:陈旧的 FP8 样本也能驱动学习而不漂移。  GRPO 结合截断重要性采样、top-k 分数中心化、成功偏移与损失下限,不用 KL 惩罚和熵奖励也能保持稳定,只有 1%–3% 的 token 被截断。

基础设施:

完全异步的 RL

核心经验 1:闲置的 GPU 比陈旧的 rollout 代价更高——让采样和训练各自全速运行。

训练与采样分卡。 一半 GPU 用 slime 框架以 BF16 训练,另一半运行 SGLang 推理引擎,权重与 KV cache 均为 FP8。每个训练步结束后,新权重通过 NCCL 同步到 rollout 引擎,训练和采样互不阻塞(图 2)。

用陈旧的 rollout 训练。 由于采样持续进行,某一轮(turn)可能由落后训练器数步的权重生成;只有当它来自 6 个以上版本之前的权重时才会被丢弃。策略陈旧带来的偏移很小:训练器与 rollout 之间的 log 概率差距,在陈旧 1 个版本时为 0.065,陈旧 4–6 个版本时也仅升至 0.08。

快速、隔离的 rollout。 利用模型原生的多 token 预测(MTP)头做投机解码,解码速度提升 1.38 倍。每次 rollout 和打分都通过 AgentENV 在独立的 Firecracker microVM 中执行,尝试之间互相隔离,因基础设施错误而损失的 rollout 组占比从 12% 降至 0.5%。

图 2:完全异步 RL。rollout 与训练各占一半 GPU,互不等待。推理引擎持续采样,每次尝试运行在从其任务的父 VM 派生(fork,耗时不到 100 毫秒)出的独立 microVM 中;完成的组排队等待训练器取批。所有尝试得分相同的组被丢弃,由 6 个以上版本之前的权重采样的轮次不产生梯度。每次更新后,训练器把新权重推送给推理引擎。

任务筛选:

只在模型「拿不准」的地方训练

核心经验 2:只把 rollout 花在模型不确定的任务上,并在与训练完全相同的条件下度量这种不确定性。

GRPO 依靠同一任务多次尝试之间的相对差异来学习。一个模型总能解出,或者永远解不出的任务,会消耗一整组 rollout,却只提供 零学习信号 。因此,团队用基座模型对每个候选任务做至少 4 次 rollout 摸底,只保留初始通过率在 15% 到 85% 之间的任务。摸底 严格沿用训练配置 ——相同的 harness、推理强度、上下文窗口、轮数预算和沙盒——因为任务的通过率取决于其中每一项。这一筛选让 零信号 rollout 组的占比从 48% 降至 10.2% 。最终的训练数据中,长程智能体任务约占 52%,软件工程任务约占 48%(图 3)。

图 3:训练数据构成。橙色为长程智能体任务(共 52%):团队自建的长程智能体任务(30%)及其困难档(11%)、长程编程技能(9%),以及公开的 MiMo-TB 与 Tasksmith(各 1%);蓝色为软件工程任务(共 48%):公开的 MiMo-code(18%),以及团队自建的 SWE 任务(以 Python 为主的 18%,覆盖 TypeScript、Go、Python、JavaScript、Rust 的 12%)。

评分器与奖励:

先验证评分器,再谈防奖励投机

核心经验 3:模型从未解出的任务,往往是坏掉的任务——在奖励到达模型之前,先验证每一个评分器。

团队在审查那些从未被解出的任务时发现, 其中近一半是「坏了」而不是「难」 :题目本身有缺陷,依赖会误判正确解的脆弱测试,或者藏着「受保护文件」陷阱。还有一些评分器只因输出格式对得上就给部分分,或者一遇到真实的智能体输出就崩溃。为杜绝这些问题,每个新任务进入训练池之前都必须 通过九道验证关卡 (图 4),分别确认任务按题面可解、沙盒封闭稳定,以及评分器给出的分数名副其实。

图 4:新任务进入训练池前须通过的九道关卡。蓝色为任务(2 道):参考解能在训练沙盒中、经由完全相同的训练流程通过;评分器检查的每项要求都在题面中写明。绿色为沙盒(3 道):离线运行;每次都能可靠启动、不会卡死;环境中不泄露答案。橙色为评分器(4 道):什么都不做或只交样板代码的尝试得 0 分;测试不脆弱,任何正确解都能通过;再畸形的真实输出也能被打分而不会崩溃;相同输出总得相同分数。

奖励设计。 每次尝试在结束时打一次分,终局奖励取值于 [0, 1]。完全解出得 1.0;未完成的尝试按其通过的验证检查给部分分,软件工程任务则按修复的失败测试计分。解出的尝试还能获得最高 0.2 的 长度奖励 ,按其相对同组最长解答少用的 token 数折算。这一塑形 让每次解出所用的 token 数降至原来的 0.84 倍,而评测准确率没有下降。

Harness:

为长程尝试而建,训练与评测完全一致

核心经验 4:Harness 是模型的一部分——评测用哪一个,训练就用哪一个。

团队的 harness 沿用 Claude Code 的约定:四个工具(Bash、Read、Write、Edit)、原生工具调用、保留推理历史,以及上下文压缩。关键在于, 训练 rollout 与评测试验由完全相同的 harness 驱动 ,并用自动化单元测试保证两者在代码和提示词上一致。在任何 RL 之前,这套 harness 就让 GLM-5.3-Flash 在 Terminal-Bench 4.0 上 比其官方 Claude Code 成绩高出 4.4 个点 (表 2)。

表 2:同一模型 GLM-5.3-Flash 分别使用 Claude Code(官方排行榜成绩)与团队 harness 在 Terminal-Bench 4.0 上的表现。标准时限,按公开价格计算单次试验成本与单次解出成本。

长程尝试还必须负担得起。保留状态的上下文压缩在占用达到上下文窗口的 85% 时触发,通过在现有对话历史末尾追加分节摘要提示来保留前缀缓存;命令把标准输出写入文件,只返回带文件名的截断预览;长时间运行的命令转到后台异步执行,而不是超时即终止。这些特性合计 将单次试验成本降低约三分之一 。此外,要求高效工作流的提示词规范(原地编辑、一次写完、不用 sleep 轮询)又节省了 16%。

RL 目标:

从陈旧样本中学习而不漂移

核心经验 5:对陈旧、低精度的样本做校正而不是丢弃,并把熵的上升当作早期预警。

rollout 以 FP8 精度、在落后最多 6 个版本的权重上采样,与正在训练的 BF16 策略略有差异。团队没有丢弃这些陈旧轨迹,而是 在训练目标中直接对其进行校正 。核心算法是 GRPO,每个任务 12 次尝试、每步一次优化器更新;每次尝试的优势值同时包含奖励项与长度奖励项:

A = (R′ − mean R′) / std R′ + (b − mean b) / 0.5

(均值与标准差在同一任务的 12 次尝试上计算)

R′ = 1.5(尝试解出任务时);否则 R′ = 0.5 × R(R 为上文 [0, 1] 内的终局奖励)

b = 0.2 × (1 − tokens / 组内解出尝试的最大 token 数),组内至少 2 次解出时对解出的尝试计算,否则为 0。

截断重要性采样(TIS)。 每个 token 按 BF16 训练器概率与 FP8 rollout 概率之比加权,比值截断在 [0.5, 2.0],以限制单个 token 的影响;只有 1%–3% 的 token 触及截断边界。

分数中心化(SC)。 rollout 引擎返回每个 token 的 top-32 log 概率,训练器从每个 token 的策略梯度分数中减去采样器在这些候选上的期望分数。这消除了单靠截断仍会残留的、向陈旧 FP8 采样器的漂移,代价是每步耗时增加 7.6%。

成功偏移。 完全解出(R = 1.0)以 1.5 计入优势,未解出的尝试则按其部分分的一半计入:最好的「差一点」(R = 0.5)只记 0.25,而一次解出记 1.5。部分分可以塑造学习,却不会与真正的解出相提并论。

损失归一化下限。 每次尝试的损失按其 token 数归一化,分母最小为 2,048 个 token,避免只有寥寥几个 token 的退化 rollout 获得过大的单 token 权重、主导梯度。

有了这些校正,训练 既不使用 KL 惩罚,也不使用熵奖励 。在健康的训练中,策略熵从约 0.46 缓慢降至 0.33; 熵的上升是训练失稳的早期预警信号。

实验:三个基准全面提升,

站上成本—性能前沿

FireFlash 在训练时所用的同一 harness 中评测,并与其起点 GLM-5.3-Flash 的官方成绩以及其他模型的公开成绩对比(图 5)。FireFlash  在三个基准上均超过基座 :Terminal-Bench 4.0 提升 10.4 个点, 超过 Fable 5 以及满尺寸的同门模型 GLM-5.3 ;DeepSWE v1.1 提升 5.4 个点,超过 Fable 5.1;SWE-Bench Pro Verified 提升 5.1 个点,超过 Kimi K3 与 GPT-5.6 Sol。

主题:训练|团队|Pass@1|百卡级集群