FireFlash用64张B300训练不到5天,单任务成本比Fable 5低30倍
长程智能体(long-horizon agents)正从「修一个 bug」走向连续数小时的终端与编程工作,但它的强化学习训练也格外昂贵:前沿实验室可以在数千张 GPU 上扩展 RL,而对多数团队来说,一条训练样本往往就是一次长达 3 小时、上百轮工具调用的完整尝试,任何一个环节出错,浪费的都是成小时的 GPU 时间。近
长程智能体(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 级的终端与编程智能体。
在 Terminal-Bench 4.0 上,FireFlash 的 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
图 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 前沿?
全参数 RL 的起点是 GLM-5.3-Flash(总参数 321B,每个 token 激活 17.4B),训练覆盖全部 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 惩罚和熵奖励也能稳住,被截断的 token 只占 1%–3%。
基础设施:
完全异步的 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,互不等待。推理引擎不停采样,每次尝试都运行在一个独立 microVM 里,这个 microVM 从它所属任务的父 VM 派生(fork,耗时不到 100 毫秒);跑完的组排队等训练器来取批。所有尝试得分相同的组会被丢弃,由落后 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 次时才对这些解出的尝试计算,否则 b 取 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;一旦熵回升,就是训练失稳的早期信号。
实验:三个基准全面提升,
站上成本—性能前沿
评测沿用训练时的同一套 harness,把 FireFlash 与起点 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。
图 5:三个基准上的 Pass@1。橙色为 FireFlash,蓝色为其起点 GLM-5.3-Flash 的官方成绩,其余为各模型的公开成绩。
成本与性能
Terminal-Bench 4.0 上,FireFlash 落在成本—性能 Pareto 前沿(图 1)。图中四十多个模型与推理强度设置里,单次试验成本比它低的只有 4 个,得分却都没超过 35.8%。按 GLM-5.3-Flash 的公开价格算,FireFlash 单次试验成本 0.72 美元;最高推理强度下的 Fable 5 则是 22.02 美元。前沿上的下一个点 GPT-6.1 Terra 得分 55.6%,成本 1.49 美元。得分高过 FireFlash 的模型,单次试验成本至少是它的两倍;满尺寸同门 GLM-5.3 在最高推理强度下每次试验要花 8.27 美元,得分只有 41.8%。
结语
这套结果说明,有针对性的后训练能把开源权重模型做成能力很强的领域专用智能体,推理成本只要前沿水平的一小部分。作者认为,把模型、训练环境、harness 与推理系统放在一起联合优化,是单纯扩大规模之外另一条构建强大高效智能体的路子。FireFlash 只是这个方向的第一步,团队接下来会把方法从编程和终端任务推向更复杂、更长程、需要反复执行的工作。
作者介绍
Wenbo Hu 是 UCLA 计算机科学博士生,导师为 Kai-Wei Chang 与 Nanyun Peng 教授,研究方向为智能体强化学习(Agentic RL),关注大语言模型、多模态与智能体,代表作有 Tev、MQT-LLaVA、3DLLM-Mem 等。本文其他作者为 Jesse Cai、Po-nien Kung、Yuxuan Lu、Di Wu、Huimin Zeng(按姓氏字母排序),以及 Nanyun Peng、Dakuo Wang、Kai-Wei Chang 教授。