AI DAILY / 2026-09-10
GPT-6 Astra、循环Transformer与被隐藏的推理链
GPT-6 Astra, looped transformers, and hidden reasoning
全文中文翻译 · AI 生成,仅供学习交流
GPT-6 Astra、循环 transformer 与隐藏推理
过去几周发生了不少事。OpenAI 的 GPT-6 Astra 应该是大家脑子里现在最热的话题了,尤其是它的性能、循环 transformer / 循环深度(recurrent depth)这个特性,以及 Astra 据传在「隐藏」自己的推理过程,也就是思维链(chain of thought)的传闻。
所以这篇文章,我想先聊聊对 Astra 的第一印象,以及这一切会往哪走。然后详细讲讲「循环 transformer(looped transformers)」到底是什么,以及它跟「隐藏思维链」这事儿到底有没有关系(更准确地说,有没有这层关联)。
最后,讲完循环 transformer 的基础之后,我想再拎几篇最近的相关论文,挑几个新观点出来聊一聊。
1. 对 GPT-6 Astra 的印象
先说几个重点。在聊架构传闻和相关论文之前,先把关于 GPT-6 Astra 的一些观察和小细节简单汇总一下。
上周,OpenAI 声势浩大地发布了全新的 GPT-6 Astra。我这两天上手用了用,确实是个非常强的模型,写这篇文章的时候大概率是我用过最好的一款。但它具体在哪些地方变强了,又是怎么做到的?
1.1 Astra 的基准测试
Astra 是我目前用过最顶的模型。它在 3D 渲染和动画任务上的表现尤其突出,比例上明显强过其他模型。我的意思是,虽然它在写作、数学、编码等几乎所有维度上都超过了前代 GPT-5.6,但尤其在图形演示这块,跨越幅度最大。
基准测试也能反映这一点。比如 GPT-6 Astra 在数学和编程方面非常强,见下图。

图 1 三个热门编程基准和一个高难度数学基准的精选。更多基准可以看 Astra 的发布博客 https://openai.com/index/gpt-6-astra/图里没画出来的一个亮点是,Astra 在 ARC-AGI-3 上也拿到了 99.9%,而 GPT-5.6 Sol 只有 7.8%。ARC-AGI-3 测的是逻辑谜题求解和泛化能力的综合表现。不过数学、编程和计算机使用这几块的基准更有意思,因为它们更贴近真实使用场景。
再看 Artificial Analysis 编码智能体指数 v1.4(前一张图的右下角),它综合了好几种智能体式(agentic)编码任务。GPT-6 Astra 确实站在前沿,但没有把对手甩开几条街。下面的 Artificial Analysis 综合智能指数也是类似情况,这个指数综合了各种类型的任务,不只是编码。

图 2 Artificial Analysis 综合智能指数,来源 https://artificialanalysis.ai/#intelligence Artificial Analysis 这套基准的好处是独立第三方做的,所以比起模型开发者自评的基准,可信度会高一些。
具体的评测配置因基准而异。比如 GDPval-AA 和 AA-Briefcase 在对比各家大语言模型(LLM)时,用的是它们开源的极简 Stirrup 评测框架(harness)。上面那张 Intelligence Index v4.2 里,Terminal-Bench v2.1 用的是 Terminus 2,τ³-Banking 用的是 τ-Bench 框架。独立的 Coding Agent Index 则会对比不同的编码智能体框架。
用同一套框架跑,横向对比会更公平。但与此同时,模型训练时一般都会针对一个主框架去调优,对其他框架的微调会少一些。而且这个主框架往往是为了契合并放大模型自身的优势而设计的。
所以有些智能体式评估可能低估了 Astra 在它自家主框架下的表现。这种低估对其 Intelligence Index 分数的影响到底有多大,得在相同任务下用不同框架各跑一遍 Astra 才能知道。
顺嘴提一句,前阵子有位同事跟我提了个建议(Claude Code 的负责人也建议过),现在不少 LLM 理解提示词和解决任务的效率都上来了,把一些老的 AGENTS.md 内容和 SKILL.md 文件删掉或归档掉其实挺合理。原来那些过于手把手的说明,对新一代模型反而可能是一种束缚,限制了它们给出更好的方案。
我当然不是说以后就别用 SKILL.md 了,有些工作流它确实能提升复用的效率,因为模型不用每次重新摸索一遍。但我的意思是,有些工作流本来就不需要专门描述,那些「老」描述也不一定还合适,LLM 自己可能就能想出更好的办法。所以,也许是时候更新一下或者重新生成这些说明文件了。
1.2 计算机使用能力
GPT-6 Astra 在图像和渲染任务上强得有点离谱。这类任务一旦涉及到跟图形用户界面(GUI)打交道,也就展示了它的计算机使用(computer-use)能力,模型通过 Codex / ChatGPT 应用直接操作你电脑上的软件。
计算机使用是模型真正能甩开其他人的地方,所有跟图形沾边的内容,在社交媒体上都能做出又炫又好懂的演示。网上这类惊艳演示一大堆,从在 Blender 里建模渲染纽约市,到虚拟看房,应有尽有。
挑一个例子,下面这张对比图,是让 GPT-6 Astra Medium 和 High 用我电脑上的鼠标,在浏览器版的 MS Paint 里重新画了一张我的照片(没用 Extra High 和 Max,因为不想把 token 全浪费掉 :))。
这不光展示了模型的艺术能力,更重要的是它能操作你电脑上的工具(这里就是 Paint)。你能看到模型通过鼠标光标在使用界面。
这并不是第一个在框架内具备通用计算机使用能力的模型。比如从今年早些时候开始,我就已经拿 GPT 模型做过一些 UI 任务了,像 Excel 里跟报销相关的那些活儿。但计算机使用整体还是个新能力,框架赋予的,现在通常还不太成熟。这倒也说得通,LLM 本来就是文本模型,最容易摘到的低垂果实自然是写作、编码、调用 API 和命令行(CLI)。
但与此同时,很多工具和软件(目前)还没暴露 CLI。与其等别人设计出这种接口,不如直接让模型学会用图形用户界面,反正前面也说了,这种演示又漂亮又有冲击力。这跟人形机器人的发展有点像。人形机器人并不是最高效的机器人,比如在已经有专用机器的装配线上它就不行。但它胜在通用。
所以我预计未来几个月甚至几年,会是大语言模型层面和智能体框架层面共同打磨计算机使用能力的阶段。除了已有的能力,除了继续扩展数学和编码,模型训练也会越来越多地把计算机使用纳入考量。这也会让 LLM 更接地气,更容易在科技圈之外的日常电脑任务里用起来(「嘿 ChatGPT,帮我报个税」:))。
1.3 计算机使用的训练
这股计算机使用的风潮,跟最近 OpenAI 买了数万台 Mac Mini 和 Mac Studio 拿来做强化学习(Reinforcement Learning)的报道也对得上。这里的 Mac 不是真的用来跑训练(训练用 GPU 更合适),而是在训练过程中把 macOS 当环境暴露给模型,让它学会用这个操作系统以及里面的工具。
那在这些 Mac 上,计算机使用的训练到底是怎么做的?简单说,Mac(准确说是它的 macOS 操作系统)就是一个环境,模型在训练的时候可以跟它交互。
基本流程大概是这样。
1. 给模型派一个任务提示,比如「打开 xxx 应用,做 xxx 操作」。
2. 给它 macOS 界面的截图(一般由框架完成)。
3. 模型预测鼠标键盘动作(点击、按键、滚动等)。
4. 在 Mac 上执行这些动作(也是框架来做)。
5. 把执行完动作后最新的界面截图再喂回去。
6. 重复步骤 2-5,直到任务成功或失败。
7. 用成功 / 失败信号加上验证器(或评分器)作为训练反馈,包括在后训练阶段使用强化学习。这跟常规的可验证奖励强化学习(RLVR, Reinforcement Learning with Verifiable Rewards)是一个套路。

图 3 计算机使用训练流程概览。
再强调一下,Mac 在这里主要是当环境,不是训练时跑模型或更新模型的机器。模型大概率还是跑在 NVIDIA GPU 上,通过 API 接进这些 Mac。顺便一提,NVIDIA 的 CEO 说过 GPT-6 Astra 大概是用十万块 Grace Blackwell GPU 训练出来的。
1.4 GPT-6 Astra 仍然是个推理模型
上一节聊的计算机使用训练重点,并不是训练流程上的根本性范式转变。GPT-6 Astra(以及在可预见的未来里几乎所有 LLM)仍然是个推理模型(reasoning model)。也就是说,LLM 是用可验证奖励强化学习(RLVR)训练的,训练和推理过程中会产出中间的推理过程,也就是思维链。
但关于 GPT-6 Astra 作为推理模型的一些细节,特别是「隐藏思维链」这块,我放到文章后面再聊。
2. 循环 transformer(Looped Transformers)
话虽如此,就在 GPT-6 Astra 正式发布前大概两天,新闻杂志 The Information 发了一篇报道,引用了一些内部消息,说 Astra 用了一个叫「循环深度(recurrent depth)」或「循环 transformer(looped transformers)」的概念。

图 4 The Information 的引文(来源 https://www.theinformation.com/articles/secret-technique-behind-openais-astra-model-sparks-security-concerns)
LLM 架构正好是我擅长又感兴趣的领域,所以我专门做了一段简短的讲解视频,把循环 transformer 的一般机制讲了一下,也回应了关于「隐藏推理链」的那个说法,视频放在下面。
接下来几节,我先讲讲循环 transformer 是什么,「隐藏思维链」那个说法,留到文章后面再回过头聊。
(循环 transformer 这部分讲得可能有点长,但我真的觉得先把基础打扎实了,回头判断它到底有没有模糊推理过程 / 思维链才更容易。)
2.1 复用 transformer 块
那么,到底什么是循环 transformer?
循环 transformer(Looped Transformer)简单说就是一种架构上的小改动,主要思路是让中间表示(intermediate representations)多次流过同一组 transformer 块,而不是只过一次。比起直接堆更多块,这里的「戏法」在于,多次流过时权重保持不变。
术语与说明下面这些术语后文都会用到。
- transformer 块(transformer block),包含注意力机制、前馈模块(feedforward module)、归一化和捷径连接(shortcut connections)的单元。论文里这些块一般叫「transformer 层(transformer layers)」。
- 堆叠(stack),指 transformer 块的序列。
- 块应用(block application),把一个输入跑过一遍 transformer 块。
循环 transformer 不是新东西,基本思路最早在 2018 年的 Universal Transformers 论文里就出现了。但讲 Universal Transformer 之前,先看一个更简单的例子,Nanbeige4.2-3B,今年 7 月刚发的开源权重 LLM,我今年夏天早些时候在 Substack Notes 和 LLM 架构图鉴里都聊过。
下图这个 Nanbeige 架构,整体看跟普通 transformer 差不多。但注意它多了一根橙色箭头,从 transformer 堆叠的末端回环到开头。
图 5 Nanbeige4.2-3B 对同一组 22 个 transformer 块跑两遍。橙色箭头表示中间表示被送回堆叠的入口。
下面自下而上走一遍流程。首先,跟其他所有基于 transformer 的 LLM 一样,输入文本先分词再转成嵌入向量(embedding vectors)。这些向量接着过 22 个 transformer 块,每个块都有自己的独立权重。
循环 transformer 的特别之处在于,第一遍过完之后,隐藏状态(hidden states)会被再次送进同样这 22 个块。所以块 1 会再被用一次,然后是块 2,一直到块 22。
如果把整个计算过程展开,相当于做了 44 次 transformer 块应用。但跟一个有 44 个独立块的常规 transformer 相比,第二组的 22 次块应用复用了第一组的权重。比如块应用 23 用的是块 1 的权重,块应用 24 用的是块 2 的权重,以此类推。
图 6 Nanbeige4.2-3B 展开成两遍过同一组 22 个 transformer 块,共 44 次块应用。
所以核心思路就是,不用额外再加一套 transformer 权重,就把有效深度从 22 提到了 44 次块应用。
顺便问一句,为什么是 2 轮,而不是 3、4、更多?Nanbeige 论文里没给太多细节,只说这个配置效率最高。把循环数从 2 提到 3,建模性能确实会提升一点,但额外的计算开销不划算。
2.2 循环的成本
那一般为什么要做这种循环呢?这是对「单纯靠堆 transformer 块把模型撑大」这种做法的另一种替代。
比如,一个用 22 个 transformer 块跑两遍的模型,跟一个有 44 个常规块的模型相比,transformer 块的参数量差不多只有后者的一半。
这样一来,存权重所需的内存就降下来了。补充一句,嵌入层(embedding layer)和输出层(output layer)通常都很大,占总参数的相当一部分,这两块不参与上面的对比。(对 Nanbeige 4.2 3B 来说,嵌入层和输出层加起来大概占 3B 总参数的 25%;如果让这两层共享权重(weight sharing),可以压到 12.5%。)
图 7 传统方案与循环方案所需参数量的并排对比。
当然,循环复用同一组块,计算还是要算的。更准确地说,前向传播过程中要把中间输入跑过 44 次块应用。训练的时候,梯度也得通过共享堆叠的两遍往回传。所以比起只用 22 个块一次,这多了不少活儿。实际上算下来跟直接有 44 个独立块差不多贵(只是优化器要更新的独立参数少一些,反向传播还是得跑完所有 44 次块应用)。
还有一个 KV 缓存(KV cache)的事。常规 transformer 和循环 transformer 在每一步生成下一个 token 时,都要存之前 token 的注意力键和值方便复用。顺便说一句,KV 缓存这块我写过一篇独立文章,需要可以看看:Understanding and Coding the KV Cache in LLMs from Scratch Sebastian Raschka, PhD June 17, 2025 KV caches are one of the most critical techniques for efficient inference in LLMs in production. KV caches are an important component for compute-efficient LLM inference in production. This article explains how they work conceptually and in code with a from-scratch, human-readable implementation.
Read full story回到主题。虽然循环 transformer 是权重共享的,但进到块里的中间状态在第二遍跟第一遍是不同的。所以 KV 缓存里,这两遍 transformer 堆叠产生的键和值也不一样(跟没有循环的情况一样)。KV 缓存这块也没省到什么。
举个更具体的例子,块应用 1 和 23,在循环 transformer 里用的是同一个块 1。但每次应用还是得有自己独立的 KV 缓存条目。既然两遍都得各存一份,那这 22 个块重复堆叠的 KV 缓存需求,跟一个有 44 个独立块的常规 transformer 是一样的。
有意思的是,Nanbeige 的研究人员论文里说他们试过两遍之间共享 KV 缓存。这样确实能把 KV 缓存大小砍半,但模型表现比用独立缓存的版本要差(最后他们发布的还是独立缓存那个版本)。
Nanbeige 这块就讲到这,下面看看其他几个循环 transformer 的设计。Nanbeige 的技术报告里还讨论了另外两个选择 / 权衡。
- 从头训练循环架构的效果,比通过 upcycling(升级改造)把已经预训练好的 transformer 转成循环架构要好。
- 前面也提过,两遍是他们的偏好权衡。更多遍只能带来很小的额外提升,同时拖慢训练,让优化变得更不稳定。
所以循环遍数是又一个要做的架构选择。前面提过,Nanbeige 里这个数固定是 2。但我们也可以让每个 token 自己决定用多少遍,下面就来看看这种做法。
2.3 Universal Transformers 与灵活的循环次数
现在回过头聊 Universal Transformer。在 Nanbeige 里,22 个 transformer 块整体跑两遍。在 2018 年的 Universal Transformer 论文里,反复应用的是同一个 transformer 块,而不是整个堆叠跑多遍。主要思路是类似的。
循环次数可以是固定的,但论文里也探索了自适应停止(adaptive halting)。比如某个位置的 token 可能只过一两遍,另一个可能过三四遍,等等。这样模型就能灵活地把算力分配给那些真正能从额外计算里受益的 token。
循环次数怎么决定?模型用一个小的、可训练的函数,对每个位置在每一步输出一个所谓的停止概率(halting probability)。它把连续循环中的这些概率累加起来,一旦总和超过某个阈值,就在这个位置停下来。另外还有一个最大循环次数作为兜底,防止无限算下去。
图 8 Universal Transformer 里的自适应停止。
另一个循环 transformer 的例子是字节跳动的 Ouro,我也在 LLM 架构图鉴里讲过。比如 Ouro-Thinking 2.6B 把同一组 48 个 transformer 块跑 4 遍。算下来是 192 次块应用,但只存 48 个独立块的权重。基本上比 Nanbeige 更极端。另外,它有一个可学习的出口门(exit gate),给不同出口分配概率,累积概率达到阈值就决定哪一遍输出。所以它也借用了 Universal Transformer 的自适应停止思路,Nanbeige 没用这个。(不过有个实际的注意点。已发布的 Hugging Face 实现会把所有配置的遍数都跑完才选一个输出,所以循环次数实际上等于被硬编码成了 4。)
2.4 路由式的灵活循环次数
还有一种思路叫 Mixture-of-Recursions,是 2025 年的一篇论文,可以理解为前面讲过的 Universal Transformer 的一个更复杂的版本。跟 Universal Transformer 类似,各个 token 会一次或多次通过 transformer 块,见下图。不过它的创新点在于,怎么针对每个 token 决定循环次数。
下面这张论文里的图里,这个循环(重复)的堆叠在这里被叫做递归块(recursion block)。它包含多个 transformer 块,放在独立的第一个和最后一个 transformer 块(标记为 Layer 0 和 Layer L-1)之间。
图 9 Mixture-of-Recursions 对一个共享堆叠在不同 token 位置上跑不同遍数。高亮文本展示了 1 遍、2 遍、3 遍的示例。改自 Mixture-of-Recursions 论文。
那模型是怎么决定一个 token 该在递归块里跑多少遍的呢?在之前讨论过的 Universal Trans