AI Pulse

前沿实验室的共同做法:一次尝试,一台真机

前沿实验室的共同做法:一次尝试,一台真机

本文是Training Agents系列第4课的配套博客。在那节课上,我们现场演示了如何在真实环境中训练编码智能体,结合了TRL和OpenEnv。本文则聚焦前沿实验室为在自身规模上做同样事情而构建的基础设施。

这是前沿模型报告系列回顾的第三篇,也是最后一篇。我们首先梳理了前沿实验室如何使用蒸馏,然后梳理了它们如何基于结果训练。在写第二篇时,我们反复碰到同一个话题——所有这些训练实际发生的场所,于是我觉得它值得单独写一篇博客。

智能体需要跨多个回合运行代码、浏览网页、编辑文件,因此训练它需要一个能容纳这一切的场所,以及能在模型训练期间维持数千个此类场所运转的机制。为了准备课程和撰写本文,我在8月和9月初翻阅了13家实验室和模型构建方在2025年10月至2026年9月间发布的15份报告和发布帖,包括GLM-5和GLM-5.3、Kimi K3、MiniMax、Nemotron 3 Ultra、OLMo 3、DeepSeek、Qwen3.8、Inkling、LFM2.5、MAI-Thinking-1、GPT-5.6和GPT-6 Astra,以及Cursor的Composer和Meta的Code World Model。其中大多数都有一个关于此话题的章节,通常很短。我只统计各实验室明确声称用于训练的内容(可惜有时并不多),而非仅仅用于评估的内容。智谱在GLM-5.3的发布博客中直截了当地说:“随着智能体能力的提升,扩展后训练的难度在很大程度上从模型转移到了环境”。

关于“环境”一词需要提醒一点。这些报告在多个层面使用“环境”:有时指任务及其验证器,有时指智能体行动的契约,有时指底层的沙箱机器,有时指整个rollout系统。这是四个不同的层次,下文我们会尽量说明每次指的是哪一层。

每次尝试一台机器

变化始于训练的最小单元。在经典强化学习中,环境通常是训练进程内部的模拟器。你调用reset开始一次尝试,调用step执行动作,一切都在内存中发生,开启新尝试几乎不花费任何成本。这就是CartPole——小车平衡杆子,每一步只有四个数字,而那一对调用正是那个契约——我们在此前的博客中追溯过它的历史。经典RL通过在一个进程内运行同一模拟器的数千个副本来扩展规模,通常甚至是在单个GPU上。这其实是我大学时的典型作业,我记得运行CartPole时苦苦挣扎才让它收敛。

这种设置对智能体行不通。要让模型安装软件包、运行测试套件或编辑代码库,环境必须是真正的计算机,带有文件系统、shell以及在调用之间存活的进程。于是环境不再是训练器内存中的对象,而变成了一台状态归属于单次尝试的机器:启动、使用一次、然后销毁。

从提示到奖励的这一次完整尝试,在RL训练中被称为rollout。Liquid AI在描述其2.6B参数的LFM2.5时直白地写道:“训练期间,我们采样一个任务并随机选择对应的harness。每次rollout在带有自有运行时的专用沙箱中运行。”Liquid在流水线中给了沙箱一个独立的位置。动作在托管智能体的沙箱服务内部执行,底层RL框架是verl。

画面的另一半是规模。Cursor在训练自家编码模型Composer时写道:“在我们这个规模上,教模型有效调用这些工具需要在云端运行数十万个并发的沙箱化编码环境。”他们为训练运行的峰值和规模重写了虚拟机调度器,改造了此前为在隔离云VM中为用户运行编码智能体而构建的基础设施。

微软的MAI-Thinking-1报告说得最直白。其沙箱层“为每个智能体任务配置一个新容器,并在任务完成后销毁它”。

另一方面,Kimi K3将“百万token智能体RL,带持久化rollout和沙箱状态”列为核心能力之一。如果一个智能体在单一任务上工作百万token,环境就必须在全程中持有文件、进程和历史,因此训练系统不仅要检查点和恢复模型,还要检查点和恢复这些世界。报告称之为“可恢复的microVM沙箱,以保留长生命周期模型和环境状态”。

所以单元是一台机器:短尝试后丢弃,长任务中检查点并恢复,高端场景下同时运行数十万个。2.6B参数的LFM2.5也遵循同样的模式——每个rollout一个沙箱,与本文其他所有案例一致。

实验室在沙箱里放什么

报告还说明了这些机器包含什么内容,有三种类型反复出现,其中编码任务居首(正如你们今年可能注意到的,各种编码harness的发布以及人们用它们完成的成果)。

GLM-5给出了最清晰的规模图景:“我们构建了超过10k个可验证环境,覆盖数千个代码库、9种编程语言”。MiniMax则构建了一条流水线,将“真实世界的编程场景转化为多样化的可验证终端任务语料库”。搜索类任务出现的频率几乎一样高。

Kimi K3训练于“多步复杂信息搜索,模型规划研究路径、逐步从网络收集证据、并产出可验证答案”。第三种类型是普通办公工作。MiniMax还围绕“深度搜索与开放网络研究、知识工作者办公任务、财务分析和电子表格操作、幻灯片生成”组织其环境。Kimi甚至为其智能体提供了“广泛使用的应用的逼真模拟实现,如Gmail、Notion、Slack和Canvas”供其练习。

Cursor和Meta只描述了编码任务,没有其他。Kimi的报告几乎提到了上述所有类型,然后补充了一个本文其他报告都没有的类型——一组GPU内核任务,“从单算子内核到融合超级内核”,我觉得这既新奇又非常有用。

harness本身正在成为环境。Kimi的报告称“环境可以实例化主流harness,如Kimi Code、Claude Code、Codex、OpenClaw和Hermes”,这意味着模型在人们实际运行的同一编码智能体的重建版本内部进行训练——这些重建版本由工具接口和系统提示等模块组装而成——也就是它所说的白盒环境。

Liquid从另一个方向到达了同样的位置,它用一个代理“让我们无需修改即可将智能体harness视为黑盒,同时透明地捕获重建和验证RL训练样本所需的token级轨迹”。要么重建harness,让训练器驱动每一步——这是白盒;要么让已发布的智能体原封不动,在流量经过时记录它——这是黑盒(两种方法我们在直播课上都讲解过)。微软研究院的Agent Lightning——一个框架及其背后的论文——将这种模式命名为“harnessed agentic RL”,其中“由harness而非训练引擎拥有环境交互循环”。Polar在规模上描述了同样的机制,将harness视为黑盒,同时重建token保真的轨迹用于训练。

Inkling是Thinking Machines的首个开放权重模型,它被训练在各种编码和智能体harness内运行,训练期间工具集和模式(schema)被随机化,以使其对任何特定harness不那么敏感。

最新的模式是由智能体构建环境。GLM-5.3描述了端到端合成环境的流水线:研究智能体将真实工作中的模式转化为可运行的长期(long-horizon)环境,一个裁判智能体尝试每个任务以验证其确实可解,验证器只有通过“oracle、no-op和未解状态检查”后才会发布。智谱对局限性也很坦诚:这些流水线“仍然需要相当数量的人类参与(human-in-the-loop)工作”。

开放权重实验室(Kimi、GLM、MiniMax、NVIDIA)详细描述了它们的环境,Ai2的OLMo 3走得最远,公开记录了其RL评分基础设施,精确到具体数字——开发期间在并行隔离环境中检查的“1720万个生成的代码样本”(我们喜欢这种透明程度🫶)。OpenAI、Anthropic和Google则几乎不发布任何关于其训练环境的信息。

OpenAI的GPT-5.6系统卡提到了大量环境,但每一个都是评估环境;它关于RL训练的完整陈述只有一个泛泛的段落。9月的GPT-6 Astra系统卡用一句话重复了这一模式:“OpenAI推理模型通过强化学习训练推理能力”。DeepSeek和Qwen介于两者之间。DeepSeek以异乎寻常的深度记录了其沙箱平台,细致到容纳“每个集群数十万个沙箱”;Qwen3.8声称“强化学习扩展至百万智能体环境”——两者都没有说明内部运行的是什么。

所有谈及此事的实验室都组装了自己的技术栈

实验室在蒸馏和RL算法上大多收敛于共享的配方,但在环境基础设施方面,每个描述了它的实验室都组装了自己的技术栈,其中许多组件是内部构建的(我觉得这很合理:这是最新的一块,标准仍在建立中)。

GLM-5训练于slime——它的后训练基础设施,并强调了一种异步设计,该设计“通过将生成与训练解耦,大幅提升后训练效率”。生成在自己的引擎上按自己的节奏运行,训练消费其结果,两者互不等待。当一个rollout是一个需要启动、运行测试套件、耗时不定(该多久就多久)的容器时,同步循环会让训练器等待批次中最慢的那次尝试。解耦以陈旧性为代价换取了利用率提升,因为部分rollout来自已经落后一两个版本的模型。

六个月后,GLM-5.3展示了这一设计带来的收益。环境接入slime的方式是“作为数据生成而非对训练循环的改动”,这“让我们在GLM-5.2和GLM-5.3期间持续添加环境,而无需每次重建训练栈”。智谱创始人Jie Tang将GLM-5.3框定为在那个旋钮上的一次受控实验:“与GLM-5.2相同的基座、相同的架构、相同的总参数量和激活参数量。一个月的长期环境扩展和RL。收益绝非微不足道。”我喜欢一位创始人(同时也是清华教授)用描述消融实验的方式来描述他的旗舰发布——变量全部固定,只改变一个因素。

MiniMax构建了Forge——面向长期智能体轨迹的RL系统,它“在统一训练循环内无缝接纳白盒和黑盒(仅API)智能体”,即上面一节的两种接入方式。NVIDIA的Nemotron 3 Ultra将“多环境RLVR”列为其关键技术之一——在一次训练运行中跨多个环境同时计算可验证奖励。Inkling在合成环境和人工环境上进行了大规模RL后训练,使用了超过3000万次rollout。就连Meta——尚未为其最新旗舰模型发布报告——也通过其2025年Code World Model论文披露了这一层:一个在隔离容器中每秒运行“数万段代码”的内部执行服务。

无论每个实验室怎么称呼它,这些报告描述的都是同样的四个组件:一个内置验证器的任务、一个智能体据以行动的契约(越来越是harness本身)、一个用于运行的沙箱,以及一个消费rollout而不等待最慢者的训练器。每个描述了它的实验室都是自己组装了这套技术栈。

SemiAnalysis剖析了这一层背后的工程细节,深入到了沙箱启动延迟和故障鲁棒性层面。他们的结论与报告所显示的一致:“RL训练既是算法问题,同样是基础设施问题”。Nathan Lambert认为,环境是前沿训练中最容易隐藏的部分(“最重要的部分是复杂的RL环境和将智能体放入其中的提示词。这些要容易隐藏得多”),这解释了部分保密动机。他还报告顶级实验室“单个环境的投入达1000万美元以上”,与我们历史博客中提到的十亿美元预算相吻合。在评论GLM-5.3时,他的总结很难被超越:“你不能简单地“蒸馏”出RL环境、大规模运行它们的基础设施、或有效混合它们的算法”。

同一套技术栈,在公开中构建

这套技术栈的一部分已经公开。例如,上面提到的两个框架slime和verl都是开源的。实验室保留的是环境、任务数据,以及同时运行数十万个沙箱的计算资源(GPU匮乏者哭泣中)。前两者正作为公开工件被逐层重建,而那正是你实际可以下载的部分。我们用TRL和OpenEnv构建和教学,所以这是我们可以第一手讲述的角落,但下面这四层比任何单一技术栈都更宽广。

任务层。Prime Intellect的Environments Hub将环境视为社区工件,构建在verifiers——Will Brown创建的库——之上。Harbor将任务、harness和沙箱解耦,使它们可以自由组合,并通过OpenEnv提供TRL集成(即将推出)。Repo2RLEnv可以将任意GitHub仓库转换为该格式的可验证任务。

环境层。OpenEnv是插座,将Gymnasium风格的契约(reset、step、state)标准化到HTTP之上,使环境可以作为工件在Hub上分发。其技术委员会如今也纳入了商业环境供应商本身:Prime Intellect、Mercor和Fleet AI与Meta-PyTorch、Hugging Face、Nvidia和微软同席。在本文发布时,Hub上已有超过4000个Spaces带有openenv标签。伯克利Sky Computing Lab的SkyRL发布了它自己的LLM环境库,BrowserGym和TextArena等包装器则通过同类API服务整个任务家族。

沙箱层。底层的机器本身就是一个市场,Modal和E2B就是专门售卖这类服务的公司。Moonshot开源了AgentENV——Kimi K3底下的沙箱层,一个“大规模运行智能体环境的分布式系统”,支持快速快照、恢复和分支。Hugging Face Sandboxes是我们的版本,仍处于实验阶段,是基于HF Jobs的隔离云机器。SandboxPool将许多轻量级CPU沙箱打包到共享宿主机中,以合理成本实现“每个rollout一个沙箱”模式。与上面提到的选项相比,它是一个小工具,但我们在课程中用它运行了演示。

训练器层。TRL是训练侧:GRPOTrainer用一个参数连接到环境——白盒路径;实验性的AsyncGRPOTrainer将rollout生成与训练解耦——与GLM-5归功于slime的设计相同(异步领域有一篇专门的综述,Keep the Tokens Flowing)。这两者正是课程中实际运行的工具:GRPOTrainer用于白盒演示,异步worker用于黑盒演示。第二条路径也有一篇专门的介绍文章——通过真实harness训练编码智能体,在线路上捕获每一个token。这一层每周都在变化。8月,OpenEnv技术委员会成员组织之一的RadixArk发布了Miles v0.1——slime的一个分支,带有OpenEnv、Harbor和verifiers的连接器。其发布说明称它已在“Kimi K3、DeepSeek V4、Qwen 3.8、GLM 5.2、Inkling、MiniMax H3等前沿开放模型”上经过实战检验——其中好几个就在本文开头列表中。

你不需要实验室规模的团队就能开始尝试。在早先的一篇博客中,我把Simon Willison的“极不科学”的pelican基准封装成了一个OpenEnv环境,并独自用它训练。教模型用代码画水彩画也是同样的配方,只是奖励更模糊——一个裁判将每幅画与精选画作池进行比较,再加上美学评分。本月GPT-6 Astra的Blender场景走红之后,我的同事Merve用9B的Qwen3.5在OpenEnv Blender环境中测试了同样的做法,结果喜忧参半。要想全面了解这个领域的这一侧,我的同事Adithya的RL环境指南从契约一直讲到前沿。

这让我们身处何处

纵观这三篇博客:蒸馏在模型之间传递知识,RL将模型推向结果,而这最后一层正是那些结果变得足够真实、可以用于训练的地方。公开技术栈如今以我们其他人负担得起的规模覆盖了这四个层次。在第4课中,我们用它在直播中训练了编码智能体——从环境到训练好的模型,一切公开。

至此,Training Agents系列告一段落。四节课全部开放:SFT、蒸馏、RL和RL环境,每节都有配套博客(蒸馏史、2026年的蒸馏、2026年的RL、RL环境史)。关注Ben和我,看看我们接下来会训练什么。秋天还会有更多内容,以某种形式呈现😉

阅读原文
📚 相关主题 大语言模型强化学习

订阅 AI Pulse

每天 08:00 · 12:30 · 18:30 · 23:50 更新