Agentic 扩散模型#
一直以来GPT、Claude、Qwen这些主流大模型,底层全都是自回归架构,仿佛大模型天生就该一个字接一个字地生成内容。但最近蚂蚁inclusionAI团队发布的LLaDA2.2,直接把扩散模型做成了能支撑长程智能体(Agent)任务的版本。
技术报告:LLaDA2.2 Tech Report
一、什么是自回归模型?#
要理解扩散模型的特别,得先搞懂最熟悉的自回归(Autoregressive,简称AR)模型是怎么生成文本的。
自回归的逻辑非常符合人的直觉:就像手写作文一样,从左到右一个字一个字地写,写下一个字的时候,完全依赖前面已经写好的所有内容。
大模型处理文本的最小单位叫token(中文里大致对应1-2个字,或者半个词语),自回归模型的生成规则就是: 基于已经生成的全部token,预测下一个概率最高的token;每次只生成1个(或少数几个)token,生成后立刻把它加入上下文,再预测下一个,循环直到生成完整内容。
比如让模型生成“人工智能很有趣”,过程就是:
- 接收提示词后,先预测第一个输出token:「人工」
- 把「人工」加入上下文,基于全部前文预测下一个:「智能」
- 再基于「人工智能」预测下一个:「很」
- 以此类推,逐token串行生成,直到句子结束。
这种机制的优点很明显:天生带有严格的前后序列依赖,逻辑链条连贯,生成代码、JSON这类结构化内容不容易出错。也正因如此,自回归是当前绝对主流的大模型方案。 但它的短板也同样天生:串行生成决定了它必须等前一个token生成完,才能生成下一个,长文本生成速度慢、延迟高,高并发场景下推理成本会非常高。
二、扩散语言模型的原理#
扩散模型最早是在AI画图领域爆火的,后来才被研究者迁移到了文本生成领域。它的生成逻辑和自回归完全不同,核心思路是:先打空白草稿,再多轮逐步细化修改。
核心逻辑:加噪-去噪的完形填空#
扩散模型的训练和生成,围绕“掩码-还原”展开:
- 训练阶段:拿海量通顺的人类文本,随机把一部分词替换成占位符
[MASK](相当于给文本“打码”),训练模型学习“把掩码还原成正确的词”。练得多了,模型就学到了人类语言的统计规律,知道某个上下文里哪个位置该填什么词。 - 生成阶段:从一整行全是
[MASK]的“空白草稿”出发,分多轮“去噪步”,逐步把[MASK]替换成真实的词。每一轮都修正一部分内容,轮次越多,文本越通顺准确,直到所有掩码都被替换完成。
打个比方:自回归生成是提笔从第一个字写到最后一个字,一气呵成;扩散生成则是先写全文的模糊框架,再一遍一遍修改润色,最终改出通顺的成品。
块并行#
如果一次性预测所有位置的掩码,计算量太大效果也差;如果一个位置一个位置预测,就和自回归一样慢了。因此主流的扩散语言模型都采用**块并行(block-parallel)**方案: 把一整段文本切分成多个大小固定的“块(block)”,比如每个块包含32或64个token;每一轮去噪,只更新其中一个块的内容,同一个块里的所有token,是在同一轮里同时被预测出来的。
之前有个困惑:如果一个块一开始全是[MASK] [MASK] [MASK] [MASK],模型怎么知道第一个位置填“今”,第二个填“天”?
原因如下:
- 有干净的前文做锚点:文本是按块从左到右处理的,处理当前块的时候,前面所有块的内容都是已经确定的“干净上下文”,模型能完整看到。比如要生成“出门记得看今天天气”,处理“今天天气”这个块时,前面的“出门记得看”是已经确定的内容,模型能根据前文语义推断这里该填什么。
- 每个位置有唯一编号:表面看都是
[MASK],但每个位置都附带了唯一的位置编码,模型能清晰区分哪个位置在前、哪个位置在后,不会把四个空混为一谈。
而所谓“同一块内没有严格序列依赖”,指的是:同一轮去噪里,4个位置的预测是同时计算的。预测第一个位置时,看不到第二个位置的本轮预测结果,反之亦然。这就导致第一轮预测很容易出现重复、搭配不当的问题——这也是为什么扩散模型需要多轮去噪迭代:上一轮的结果会作为下一轮的输入,模型在后续轮次里看到同块的其他内容,再逐步修正错误,最终得到通顺的句子。
三、为什么传统扩散模型做不好Agent?#
既然扩散模型速度更快,为什么之前一直没在智能体场景火起来?核心是两个解决不了的痛点。
第一个痛点是结构刚性。 早期的扩散模型只能做“token对token”的替换,输出长度是固定的。生成完一个块,里面的token就被钉死了,错了只能整段重来,多了删不掉,少了补不上。 放在普通文本生成里,有点重复、不通顺还能凑合看;但Agent场景不一样——输出的JSON格式错了、工具调用的参数缺了、代码的括号不匹配,都会直接导致任务失败,而固定长度的替换根本修不了这些结构性错误。
第二个痛点是错误累积。 Agent任务是多轮闭环交互的:模型生成内容→调用工具→拿到返回结果→再生成下一步,一环扣一环。 自回归模型逻辑连贯,出错概率相对低;但扩散模型同块内的小错误,会随着交互轮次增加被不断放大——早期生成的错误结果会作为上下文硬约束,让后面的推理越走越偏,最终导致目标漂移、任务彻底失败,这也是常说的“推理路径坍缩”。
正因如此,扩散模型之前一直停留在“普通文本生成”的场景,进不了对准确性、连贯性要求更高的Agent领域。
四、Agentic扩散模型装上“纠错大脑”#
而以LLaDA2.2为代表的Agentic扩散模型,本质上就是针对上面两个痛点,给扩散模型补上了动态纠错、环境感知的强化学习能力,让它能胜任长程智能体任务。核心的技术创新有三块。
1. Levenshtein编辑#
最核心的改动,是把Levenshtein编辑集成到了扩散的去噪过程里。
传统扩散只有保留(Keep)、替换(Substitution)两种操作,现在新增了删除(Delete)和插入(Insert):看到冗余重复的内容可以直接删掉,发现缺了关键信息可以在对应位置插入新的空位,留给后续去噪轮次填充内容。
训练的时候,模型通过**最长公共子序列(LCS)**把中间草稿和目标序列对齐,自动生成编辑标签,学习什么时候该删、什么时候该插。
根据技术报告里的实验,仅仅加上这一个机制,代码Agent基准SWE-bench Verified的分辨率就从35.8提升到了44.4,涨了8.6个百分点,效果非常明显。

2. L-EBPO强化学习:跟着环境反馈学纠错#
光会改语法还不够,Agent任务里的错误往往要执行完才知道对不对。
Agentic扩散模型把多轮交互里的编辑决策建模成了强化学习问题,提出了L-EBPO算法。简单说就是:模型生成内容、执行工具后,环境会返回奖励信号(比如工具调用对不对、格式合不合法、任务有没有完成),模型根据这些反馈调整自己的编辑策略,学会什么时候该修正、改哪里收益最大。

3. 长上下文+块路由#
要支撑长程Agent任务,光有算法还不够,工程能力也得跟上。
一方面,Agentic扩散模型通过渐进式训练,把原生上下文窗口从8K一步步扩展到了128K,能装下整个代码库、长交互历史,满足复杂任务的需求。
另一方面,针对MoE大模型推理成本高的问题,提出了**块路由(Block Routing)**机制:先在块的维度筛选出固定数量的专家形成专家池,再在池内做token级路由。这样每块激活的专家数量是固定的,大幅降低了显存流量和通信开销,让大模型的部署成本变得可控。

五、意义#
目前的LLaDA2.2在7项主流Agent基准上的平均得分,和同级别的自回归模型Ling-2.6-flash只差不到2分,在部分交互式工具任务上还实现了超越;但在复杂代码生成、严格结构化输出这些场景里,自回归模型依然有明显优势。
它真正的价值,是给大模型领域打开了第二条路线。
之前普遍认为Agent的大脑只能是自回归模型,但Agent落地从来不是只看“智商”——工厂里的智能体要低延迟,端侧设备要低成本,高并发场景要高吞吐量,这些恰恰是扩散架构的强项。
或许未来的Agent系统不会只有一种架构:需要严格执行因果流程、生成高精度结构化内容时,用自回归稳步推进;需要快速探索、并行生成、高并发响应时,用扩散模型提速。两条路线互补,双轨并行,才是Agent时代更合理的形态。