【论文阅读】GLM-5:from Vibe Coding to Agentic Engineering

GLM-5 是智谱与清华推出的新一代基础模型,之前其匿名以Pony Alpha的名字引起了不小的震动,其论文发表在arxiv上:https://arxiv.org/abs/2602.15763。该模型主打从“vibe coding”走向“agentic engineering”,而这也正切合目前Agent大行其道的趋势。故而查看此论文想了解最新模型的Agent能力是如何训练出来的。

其整体训练流程图如下所示,主要还是经典的预训练到中训练再到后训练。

预训练

模型架构

  • 采用经典MoE架构,最多可拓展到256位专家,并且将层数减少到了80层。总参数可达到 744B激活参数达 40B

  • 多注意力架构采用改进版的MLA,其应用了矩阵正交化、优化了注意力头维度和数量。

  • 注意力模块采用了DSA架构(DeepSeek提出的稀疏注意力机制,其可以基于Token的重要性动态分配注意力资源,从而降低计算量并提高保持上下文的质量。但是其并不是从头重新训练,而是从原本训好的密集基础模型慢慢过渡过去。

  • 训练过程中采用MTP方法,即不再是预测单个Token,而是预测出多个Token,这里采用3个Token的设置,并且在训练过程中共享3个MTP层参数

预训练数据

  • 总训练token规模达到了28.5T tokens

  • Web数据:在 GLM-4.5 管线基础上加强筛选,引入基于句向量的 DCLM 分类器,并用“世界知识”分类器从原本质量中等偏低的数据中提取有价值的信息。

  • 代码数据:扩大代码语料、修元数据对齐问题、做更准的语言分类,并覆盖更多低资源编程语言,提升采样质量。

  • 数学与科学:从网页/书籍/论文收集高质量数据,改进了提取流程以及论文PDF解析机制,并利用LLM对文档评分以筛选高质量内容。

中训练能力增强

  • 上下文窗口拓展:分为32K(1T Token)、128K(500B Token)和 200K(500B Token)3个阶段。

  • 软件工程能力增强:其将仓库级代码文件、提交差异、GitHub 问题、拉取请求和相关源文件连接成统一训练序列的范式,并且为每个问题对添加了更多上下文,收集了约 1000 万个问题-拉取请求对。

  • 长上下文能力增强:长上下文训练集包含自然数据和合成数据。自然数据来自书籍、学术论文和通用预训练语料库中的文档;合成数据的重点是造长程依赖,让模型必须跨很远距离才能把信息用上,并且使用了交错拼接的方式来避免模型只关注首尾内容,还加入了少量MRCR-like 数据,强化多轮对话的长程召回。

预训练Infra

  • 内存效率:

    • 流水线中模块放置调整:因为采用了交错式流水线并行,而MTP模块的内存占用高,所以进行了MTP模块的放置调整,以平衡内存。

    • Zero2 梯度划分:将梯度分片到数据并行的进程中,使得每个阶段仅存储完整梯度的 1/dp。

    • 流水线激活卸载:在前向执行后将激活卸载到主机内存,并在反向执行之前重新加载它们。

    • 序列分块输出投影方法:有效降低了峰值内存占用。

  • 并行效率:通过序列重排、注意力计算的动态分配、可变大小的 context-parallel 分组与分层 all-to-all 降通信延迟。

  • INT4 QAT:在 SFT 阶段做 INT4 量化感知训练,并提供训练/离线量化一致的 kernel。

后训练

SFT

  • 三类 SFT 数据:General Chat / Reasoning / Coding & Agent(前端和后端工程代码、工具调用、编码代理、搜索代理和通用代理。),并把最大上下文拉到 202,752 tokens。

  • 三种“thinking”形态:SFT过程中引入了3种思考模式,Interleaved(每次响应/工具调用前思考)、Preserved(多轮保留思考块,偏 coding agent)、Turn-level(各回合按需开关思考降成本)。

强化学习

推理优化

  • 算法骨架:基于 GRPO,并引入 IcePop 思路处理“训练策略 vs 推理策略”的分布不一致;同时去掉 KL 正则加速提升。

  • DSA 的 RL 稳定性关键:DSA indexer 的 top-k 选择若不一致会导致 RL 不稳;他们用 torch.topk 的确定性 top-k,并默认冻结 indexer 参数以稳训练。

  • 混合领域推理 RL:数学/科学/代码/工具集成推理 四域混训,并保持四个领域之间的整体混合比例大致平衡,按域配置评估系统给出二值奖励。

Agent能力优化

  • 详见下面Agent能力增强部分,主要是采取了异步解耦的RL训练,以及针对异步RL训练下的稳定性提升。

通用RL

  • 三维目标:基础正确性(事实/逻辑/遵循指令等)、情绪智能(更自然有同理心)、任务质量(写作/翻译/角色扮演等细分任务)。

  • 混合奖励:为了实现上述三个训练目标,其采用三种互补的奖励:基于规则的奖励函数、结果奖励模型(ORM)和生成式奖励模型(GRM)

  • 人类风格锚点:引入高质量人工回复,避免模型越训越模板化。

跨阶段蒸馏

  • 动机:多阶段 RL 容易遗忘前面阶段能力。

  • 做法:把前面各阶段的最终 checkpoint 当 teacher,用 teacher 与当前策略的 gap 来构造 advantage。

强化学习Infra

  • slime 框架:借助slime灵活的接口,实现了包括多轮交互循环、工具调用、环境反馈处理和验证器引导相关内容,从而实现强化学习训练。还通过设置HTTP API使用户能够以与传统推理引擎相同的方式与 slime 的服务层进行交互。

  • 面向尾延迟优化:对于强化学习部署而言,优化目标并非总吞吐量,而是端到端延迟,而端到端延迟主要取决于每个步骤中最慢(长尾)的样本。其通过基于DP-Attention的多节点推理实现无队列服务,并且利用FP8展开和MTP来降低推理延迟

  • 部署鲁棒性:利用 slime 的心跳驱动容错机制来确保服务器崩溃等故障事件下的训练连续性。

Agent能力增强

异步强化学习设计

  • 异步强化学习:

    • 异步原因:长轨迹 rollout 会产生长尾,导致同步 RL 训练中GPU 大量空转;

    • 异步训练流程:把 inference 与 training 分到不同 GPU,滚动生成到阈值就训练,并让训练引擎周期同步权重;

    • 异构任务编排:此外为了解决不同任务的异构性,其将各个任务一独立微服务的形式实现自身的部署和奖励逻辑,并注册到中央编排器进行管理和调度,在部署阶段,中央编排器控制每个任务的部署比例和生成速度,以实现跨任务的均衡数据采集,并且将所有智能体任务的轨迹标准化为统一的消息列表表示,从而使得多种复杂任务可以联合训练。该编排器支持超过 1000 个并发任务部署,并可自动、动态地调整任务采样率,以及对任务进度进行精细监控。

  • 异步强化学习稳定性优化:

    • token-in-token-out网关:text-in-text-out中会将推理引擎的结果以文本的形式传递给训练引擎并由训练引擎重新分词转化为Token,这可能导致两者Token出现差异,所以采用token-in-token-out机制来保证两边完全相同。具体实现时是构建了一个token-in-token-out网关来接收并记录各任务的生成请求,在传递时保证token一致。

    • 基于双边重要性采样:重要性采样需要旧模型的输出结果,但是在长轨迹生成过程中模型可能迭代多次,难以一直保存多份检查点。所以其提出可以复用 rollout 生成时就已经算出来的 token log-probabilities来当做旧策略的概率,并且当重要性采样得到的比率不再trust region范围内时直接丢弃这一个轨迹。

    • DP感知加速:在多轮代理工作负载中,来自同一轮次的顺序请求共享相同的前缀。为了最大化键值复用,我们强制执行轮次级亲和性:属于给定代理实例的所有请求都被路由到同一个 DP rank。

Agent训练环境设计

  • 软件工程环境:基于真实 issue-PR 对,用 RepoLaunch 风格流水线自动搭建可执行环境、生成测试命令与日志解析,最终构建1万+可验证环境,覆盖 9 种语言。

  • Terminal 环境:两条合成路线

    • 基于Seed任务:从一组收集自真实软件工程和基于终端的计算机使用场景的Seed任务出发,利用 LLM 进行头脑风暴,生成了大量可验证的终端任务草稿。然后,这些草稿由构造代理在 Harbor 中实例化为具体任务。

    • 基于网络语料库合成:收集网络中与代码相关的高质量网页内容,并识别出适合构建终端式任务的网页。然后基于此构建Harbor任务,并选出确实被Agent实现的任务。

  • Search 任务:用早期 search agent 轨迹收集 URL,构建 Web 知识图谱,再从子图生成“多跳”高难问答,并多阶段过滤确保既难又对。

  • 搜索智能体的“上下文管理:由于其评测对prompt敏感,所以统一用 OpenAI 官方评测 prompt + o3-mini 作为 judge 来保证可复现、与人工标注更一致。并且提出两种上下文管理策略,一种是超长直接丢弃,一种是超长只保留最近k轮交换。

  • 幻灯片生成强化:首先使用SFT初始化模型使其拥有基本幻灯片生成能力,然后基于演示幻灯片的常见美学和结构特征,采用多级奖励机制进行强化学习。在强化学习中引入了拒绝采样微调和掩码微调。在拒绝采样阶段,强化学习中使用的奖励函数被转移到数据过滤流程中,以构建高质量的训练子集。而对于掩码微调当一条轨迹里只有少数页面有缺陷时,不直接丢整条数据,而是用 masking-based correction 自动定位坏页面并 mask 掉,保留同一轨迹里高质量页面,从而提升数据利用率、降低重复生成成本。

评测

ARC榜单评测

  • 在 HLE、BrowseComp、SWE-bench Verified、Terminal-Bench 2.0、τ²-Bench、MCP-Atlas 等多项 agentic/推理/代码基准上,GLM-5 相对 GLM-4.7 明显提升,并总体达到开源权重领先水平,部分项目接近/对齐顶级闭源模型。

CC-Bench-V2真实智能体工程评测

  • 提出内部更贴近工程的评测:frontend 用“Agent-as-a-Judge + Playwright”做交互式验收;backend 用真实项目+单测;long-horizon 用 repo exploration 与 chained tasks 测长程一致性。整体上 GLM-5 比 GLM-4.7 强,但在端到端完成整任务(ISR、chained tasks)上与 Claude Opus 仍有差距。

真实通用能力评测

  • 其还按真实用户高频场景做五类通用能力评估:翻译、多语对话、指令遵循、世界知识、工具调用,GLM-5 相对 GLM-4.7 全面提升。

总结

  • 整体看来模型的架构并没有做大的调整,不过引入了MLA、DSA、MTP等最新的方法来做到了进一步的优化。

  • 预训练的优化主要还是围绕数据增强与效率优化。

  • 后训练的花样确实更多了,特别是目前看重的Agent能力都来源于后训练。其提出的异步强化学习的设计以及异步训练下的稳定性提升的方法也很值得学习。

  • 在Agent训练方面,对于各色任务的生成、运行环境搭建、任务编排也显得愈发重要。这也是对我而言比较新奇的地方,通过Issue、PR来组成工程任务,通过网页资料组成terminal任务都是一些很巧妙的设计。并且总体看来Agent的能力在训练时还是更偏向于增强代码相关的能力,所以可以预见在实际使用Agent的时候利用代码来完成任务是更有效的。


【论文阅读】GLM-5:from Vibe Coding to Agentic Engineering
http://example.com/2026/03/02/GLM-5-Paper-Note/
作者
滑滑蛋
发布于
2026年3月2日
许可协议