一个让硅谷大佬集体失眠的中国模型
MiniMax M2.5,这玩意儿最近横空出世,速度快得像坐了火箭,价格便宜得像白送,代码能力居然能跟Claude Opus掰手腕——要知道Opus的价格是它的十倍啊!十倍!这就好比你在路边摊花十块钱买了碗牛肉面,结果吃起来跟米其林三星一个味儿,换谁谁不懵?
但问题来了:凭啥?凭啥一个名不见经传的中国团队能搞出这种妖孽?
先扔结论:MiniMax搞出了一个叫Forge的强化学习框架,这个框架牛就牛在同时解决了三个看似不可能同时满足的要求——既要处理海量数据(吞吐量),又要训练过程稳如老狗(稳定性),还要模型啥活儿都能干(灵活性)。这仨玩意儿在AI圈被称为"不可能三角",以前大家只能三选二,MiniMax说:我全都要。
好的,我现在重新翻译这篇关于MiniMax M2.5的文章,将"agent"统一翻译为"智能体",并保持之前所有的风格要求。
核心痛点:当AI想当智能体,却发现自己是书呆子
咱们先搞清楚一个问题:现在的AI大模型,比如ChatGPT,本质上是个"一问一答"的书呆子。你问它"天为什么是蓝的",它巴拉巴拉给你讲瑞利散射,完事儿。但真正的AI智能体(Agent)不是这样工作的。
想象你要让AI帮你订外卖。它得先打开外卖APP(调用工具),然后搜索你想吃的店(交互环境),发现这家店关门了(处理意外情况),再换一家(调整策略),最后下单成功(完成任务)。这个过程可能涉及十几个步骤,AI得记住自己刚才干了啥,根据反馈调整下一步动作,还要跟各种外部系统打交道。
这就是"智能体型AI"(Agentic AI)的核心挑战:模型不能只会生成文本,得学会"做事"。而训练这种能力,传统方法遇到了一个死结——MiniMax称之为"不可能三角"。
第一个角是系统吞吐量。要训练出厉害的智能体,需要让AI在成千上万种场景里试错,这意味着要处理天量的训练数据。如果处理速度太慢,训练一个模型得等到猴年马月,黄花菜都凉了。
第二个角是训练稳定性。强化学习这玩意儿出了名的难伺候,训练过程中奖励信号稍微设计得不合理,模型就会"崩溃"——要么开始胡言乱语,要么陷入某种奇怪的循环出不来。你辛辛苦苦训练半个月,一觉醒来发现模型智商归零,这种心碎AI研究员都懂。
第三个角是智能体灵活性。用户会在各种奇怪的场景里用AI:有的搞多智能体协作(一群AI互相配合),有的搞记忆智能体(AI得记住你上个月说过的话),有的搞代码沙盒(AI在隔离环境里写代码测试)。模型得在所有这些"脚手架"里都能干活,不能换个场景就傻眼。
以前的研究者只能在三者之间做取舍:要么追求速度但牺牲稳定性,要么追求灵活性但吞吐量感人。MiniMax的Forge框架说:小孩子才做选择,成年人全都要。
架构揭秘:Forge的三层套娃设计
Forge这个名字起得挺中二,直译是"锻造炉",意思是能把普通模型锻造成超级特工。
它的核心设计是三层架构,每层之间通过一个叫"中间件"(Middleware)的东西解耦。这个词听起来高大上,其实就是个"传话筒+记账本"。
第一层叫智能体层(Agent Side)。这一层负责跟外部环境打交道:管理上下文(记住对话历史)、调用工具(比如调用计算器或搜索引擎)、把复杂的任务拆成一步步推理、生成所谓的"轨迹"(Trajectory)。轨迹就是AI做事的完整记录:它想了啥、干了啥、结果如何、最后成功了还是搞砸了。
第二层叫中间件层(Middleware Side)。这是Forge最骚的设计。所有的LLM请求都要经过这一层,它像个沉默的旁观者,把每一次请求和响应都偷偷记在一个叫"数据池"(Data Pool)的地方。它不干涉AI的决策,只是忠实地记录一切。(上下文图)
第三层叫引擎层(Engine Side)。这里住着两个大佬:LLM引擎负责生成文本(也就是模型本身),训练引擎负责根据数据池里的记录更新模型权重(让模型变聪明)。
这三层怎么互动呢?流程是这样的:
- 智能体层想调用LLM,请求发给中间件;
- 中间件一边把请求转发给LLM引擎生成回答,一边把这次交互的完整记录扔进数据池;
- LLM引擎生成完回答,通过中间件返回给智能体;
- 训练引擎 同时 从数据池里捞数据,计算怎么更新模型参数。
这里的关键是"解耦"(Decoupling)。
智能体层不知道训练引擎的存在,它只管生成轨迹;训练引擎也不管智能体层在干啥,它只管从数据池里消费数据。
两者通过中间件和数据池间接连接,互不干扰。
这就好比餐厅里服务员(智能体)只管点菜上菜,厨师(LLM引擎)只管做饭,会计(训练引擎)只管看账本算账,三方通过菜单和账单(数据池)协作,谁也不用等谁。
中间件的魔法:为什么多一层反而更快?
你可能会问:加一层中间件不是多此一举吗?直接让智能体和LLM引擎对接不就行了?这就是MiniMax的聪明之处——中间件让"数据生成"和"模型训练"可以异步进行。
传统的强化学习框架里,AI生成一段轨迹,然后立刻用这段轨迹训练模型,训练完才能生成下一段。这就像你写作业,写一道题立刻对答案,对完再写下一道。如果答案复杂,你就得干等着。
Forge的做法是:AI只管生成轨迹,生成的数据先存到数据池里;训练引擎 同时从池子里捞已经存好的数据训练。这就像工厂里的流水线:前面的工序只管生产零件,后面的工序只管组装,中间有个仓库(数据池)缓冲,两边不用互相等。
这种设计带来了几个好处。首先,吞吐量爆炸式增长。智能体层可以24小时不间断地生成轨迹,不用等训练引擎;训练引擎也可以全速运转,不用等智能体层。其次,灵活性大增。你可以在数据池里存来自各种脚手架的轨迹——有的是简单问答,有的是复杂的多轮对话,有的是代码调试——训练引擎混着用,模型自然学会各种技能。
打了个特别形象的比方:Claude Opus 4.6是个训练好的大模型,Claude Code就是它的脚手架。
脚手架规定了规则、提示词、工具调用方式,然后向Opus发起API请求。
Forge框架训练出来的M2.5,既可以用在MiniMax自家的智能体产品里,也可以用在Claude Code这种第三方脚手架里,通吃。
训练秘诀:CISPO混合训练法
光有架构还不够,训练方法也得跟上。
MiniMax用了一种叫CISPO的技术,这名字听起来像某种外星科技,其实是"混合训练"的意思。
传统的训练方法是分阶段的:先练推理能力,再练问答能力,最后练智能体能力。问题是,模型学会新技能往往会"遗忘"旧技能——这叫灾难性遗忘。你让它学了怎么写代码,它可能就不太会聊天了;你让它学了怎么做智能体,它可能推理能力下降。
CISPO的做法是:三种任务同时练。训练数据池里混着推理题、QA对和智能体轨迹,模型今天做几道数学题,明天模拟订个外卖,后天回答几个常识问题,雨露均沾。这样学出来的模型不会偏科,啥都能干。
更绝的是奖励设计。强化学习靠奖励信号指导模型学习,但智能体任务的奖励往往很稀疏——只有最后任务成功了才给奖励,中间过程模型不知道自己做对了还是错了。MiniMax设计了三种奖励机制:
过程奖励(Process Rewards):在任务中间就给反馈。比如模型调用了工具,但参数格式写错了,立刻惩罚;格式写对了,即使最终结果还没出来,也给点鼓励。这让模型知道"我这一步走得对不对",而不是等到最后才懵懵懂懂地知道自己搞砸了。
完成时间奖励(Completion Time Reward):模型不仅要答对,还要答得快。如果它能并行调用多个工具而不是一个一个串行调用,就会得到额外奖励。这训练出了M2.5的"急性子"——能同时干的事儿绝不排队干,用户体验就是快。
未来奖励累加(Reward-to-go):传统的做法是把最终奖励平分给轨迹中的每一步。MiniMax改进为:每一步的奖励等于从这一步开始到结束的所有奖励之和。这样模型能清楚知道"哪个具体动作对最终结果贡献最大",减少学习过程中的噪音。
滑动窗口:处理长短任务的平衡术
在大规模任务中,有些任务完成很快,有些任务需要多轮交互。如果训练引擎随意读取数据,可能导致简单任务占比过高。
智能体任务有个讨厌的特点:有的简单任务一两轮对话就搞定,有的复杂任务需要几十轮交互。如果训练时一视同仁,简单任务的数据会淹没复杂任务的数据,模型就学不会处理复杂情况。
Forge 引入滑动窗口机制,窗口内任务可以乱序完成,但窗口不会越过未完成的早期任务。
Forge的"滑动窗口"(Sliding Window)机制:想象一个传送带,上面排着各种任务。训练引擎不是随机从传送带上抓任务,而是只看一个固定大小的窗口(比如同时处理4个任务)。窗口里的任务可以乱序完成——简单的先做完,复杂的慢慢做——但窗口不会往前滑动,直到最慢的那个"掉队者"(Straggler)完成。
这种设计保证复杂任务不会被简单任务淹没,也保证训练过程始终覆盖不同难度样本。
设计要点:控制样本进入训练的顺序 → 保持数据分布稳定 → 同时维持高吞吐量。
这种设计的妙处在于平衡了"吞吐量"和"分布一致性"。如果没有窗口,引擎会倾向于挑简单的任务做,复杂任务永远得不到训练;如果强制等所有任务都完成再训练,吞吐量又太低。滑动窗口让快慢任务都能在合理的时间内被训练到。
前缀树合并:重复计算一次就够
接下来这个优化特别 geek,但效果炸裂。
多轮对话样本往往共享长前缀。如果每条样本独立计算,重复前缀会被多次前向传播。前缀树结构把共享部分合并,计算一次即可复用。
在多轮对话中,很多训练样本共享长长的开头。比如三个不同的对话,开头都是"用户:你好,AI:你好,有什么可以帮您的?用户:我想订外卖...",只有后面的内容不同。
传统的处理方式是每个样本独立处理,这意味着同一段开头要被计算三次,浪费算力。MiniMax用了"前缀树合并"(Prefix Tree Merging):把共享的前缀合并成树结构,只计算一次,后面的分叉再分别处理。
设计顺序:共享前缀合并 → 前向传播次数减少 → 训练速度提升 → 资源利用率提高。
这带来四十倍训练加速:数据结构知识与系统工程结合,释放出巨大算力红利,说明基础算法从未过时。
多标记预测头MTP头:解决推测解码在强化学习中的同步问题
最后讲一个生成阶段的加速技巧。
大模型生成文本是一个字一个字蹦的,每蹦一个字都要过一遍整个模型,很慢。
传统投机解码(Speculative Decoding)的思路是:用一个小模型快速"猜测"接下来的几个字,然后让大模型一次性验证这些猜测。如果猜对了,就省了好几次前向传播;如果猜错了,再老老实实逐字生成。
但这种传统投机解码有个问题:小模型是固定的,而大模型在强化学习训练过程中一直在变。刚开始小模型还能猜对大模型的意图,训练几天后大模型"性格"变了,小模型还在用老眼光看人,猜测准确率直线下降,加速效果就没了。
推测解码原本使用小模型预测多个标记,再由大模型验证,但是在强化学习场景中,大模型参数不断更新,小模型保持固定,接受率逐渐下降。MiniMax 采用多标记预测头(MTP头),把预测能力嵌入主模型内部。
MiniMax的解决方案MTP头(Multi-Token Prediction heads)。这不是一个独立的小模型,而是直接挂在大模型身上的额外输出头。普通输出头预测下一个token,MTP头同时预测接下来的第2、3、4个token。因为这些头跟主模型共享参数,主模型一变,它们也跟着变,永远保持同步。
这招让生成阶段也能享受训练阶段的加速红利,整个系统从数据生成到模型更新形成闭环:
预测模块与主模型权重同步 → 接受率保持稳定 → 推理速度维持 → 训练效率持续。
他们还用了Top-K KL损失来微调这些预测头(MTP头),确保预测质量。
速度与精度同时保障。
智能体层角色:生成轨迹而不直接训练
智能体层本身不参与参数更新,它只是不断生成轨迹!轨迹包含提示、输出、工具调用、结果与奖励。
模型本身保持无状态,状态由智能体管理。
这形成一个清晰分工:智能体负责场景与数据生成,训练引擎负责策略优化。
职责清晰 → 系统扩展性提升 → 新环境可以直接接入。
一旦接入多种脚手架,模型在统一训练框架中成长,最终以一个模型对外发布。
整体收束:解耦、异步、多环境、细粒度奖励
当所有机制串联起来,完整因果链呈现出闭环结构。
复杂智能体任务提出三重张力
→Forge 三层架构实现解耦与异步
→ 数据池支持规模扩展
→ 滑动窗口维持分布一致性
→ 混合环境训练提升泛化
→ 奖励机制细化强化行为控制
→ 前缀树与多标记预测头提升效率
→ 最终形成高吞吐、稳定、灵活的智能体模型。
这一整套设计最终产出 MiniMax M2.5。
一个高性能模型背后并非单一算法突破,而是一系列工程机制协同。
技术的真正爆点往往藏在结构与流程里,而不是某个孤立公式。
总结:为什么M2.5能吊打贵十倍的对手?
看到这里,你应该明白了:M2.5的牛逼不是偶然的,是一整套系统工程的结果。Forge框架通过中间件解耦了数据生成和模型训练,让两者可以并行全速运转;滑动窗口机制平衡了简单任务和复杂任务的训练;前缀树合并把重复计算压缩到极致;MTP头让生成阶段也能自适应加速。
更重要的是训练理念:混合多种任务同时训练,设计精细的奖励信号,让模型既快又准还全面。这不是简单的"堆算力"或"调参数",而是对强化学习系统架构的重新思考。
解耦是好文明——把复杂系统拆成独立模块,各干各的,效率翻倍。
异步是好文明——别让CPU干等着,大家并行干活。
混合环境训练出全能模型——别偏科,啥场景都见过才是真牛逼。
中间件这玩意儿六十年代就有了,但至今仍是神级设计——经典永流传。
数据结构和算法没白学——前缀树这种基础数据结构,用对了地方就是40倍加速。