2026年初,如果你去问OpenAI、Anthropic这些公司,他们家的旗舰模型到底是怎么"思考"的,你多半只能得到一句话:这是商业机密。
这些公司的推理模型内部会生成大段的思维链,一步步推导出答案,但这段过程通常被锁在黑箱里,用户只能看到最终答案,或者一份被精心打磨过的摘要。这就好比你去看一场魔术表演,主持人只告诉你"兔子出来了",却绝口不提兔子是怎么从帽子里跳出来的。
(资料图)
这件事本身没什么好抱怨的,商业公司保护核心技术天经地义。但对研究者来说,这造成了一个挺尴尬的局面:我们只能看到模型考试考了多少分,却完全看不到它是怎么答题的。一个模型答对了一道奥数题,到底是真的推理出来的,还是蒙对的,还是走了什么捷径,没人知道。
这篇来自奥尔堡大学的论文,就是想撬开这个黑箱的一条缝。他们没有用什么高深的攻击手段,反而找到了一个几乎所有API都会提供的普通功能:工具调用。
思维链*:大语言模型在给出最终答案前,生成的一系列中间推理步骤,通常表现为"首先...然后...所以..."这样的文字,是让模型解决复杂问题能力大幅提升的关键技术。
一个registered的工具,撬开了一条缝
研究团队的思路其实很朴素。既然模型的原生思考过程被隐藏了,那能不能给它准备一个"备用草稿纸",然后想办法逼它把中间过程写在这张纸上?
具体做法是这样的:他们通过标准的API功能,注册了一个自定义工具,这个工具唯一的参数就是一段自由文本,专门用来放"推理内容"。然后利用API里的tool_choice功能,强制模型在第一次调用时必须选择这个工具。模型写完一段推理后,系统会回复一个固定的"已收到"确认,然后把工具选择权还给模型,让它自己决定是继续调用工具接着想,还是直接给出最终答案。
工具调用*:现代大语言模型API普遍支持的功能,允许模型在对话中调用开发者预先定义好的函数,比如查天气、算数学题,模型会生成调用参数,系统执行后把结果返回给模型。
这个工具本身什么都不做,它不进行任何真实计算,它唯一的作用是给中间文字提供一个"可见的容器",并且把这些文字保留在对话历史里。整个过程里唯一被"强制"的环节,只有第一次工具选择,后面模型写了什么、写多长,完全是它自己生成的。
这就好比你请一位老师傅来修一台精密仪器,你不能直接打开外壳看零件,但你可以递给他一支笔和一张纸,跟他说"麻烦你先把诊断思路写在这张纸上再动手"。如果没有这张纸,他修完之后你只能看到仪器好了,完全不知道他是先检查了电路还是先检查了机械结构。如果强迫他必须先拿起这支笔,哪怕只写一行字,往往就能打开话匣子,让他把后续的诊断过程也一并写下来。
这个方法研究者称之为"强制推理协议",听起来有点技术感,但核心思想就是这么简单:给模型一个说话的地方,然后先逼它张嘴说第一句。
验证这段"独白"到底靠不靠谱
一个显而易见的问题是:模型被逼着往这个工具里写东西,写出来的内容真的是它解决问题的真实过程吗,还是它写完答案之后,倒回去编了一段看似合理的解释来"交差"?
这种事后编造的解释,学术上有个说法。
事后合理化*:指模型(或人)先得出结论,再编造一套看似合理的推导过程来解释这个结论,这套解释未必反映真实的决策路径。
要验证这一点,最直接的办法是找一个"能对答案"的模型。研究团队选了两个开源模型,DeepSeek-V4-Flash和GLM-5.2,这两家的原生思维链是公开可见的,所以可以直接拿"被逼出来的推理"和"模型自己主动生成的原生推理"做对比。
对比分为三个层次。第一层是看最终表现:如果被逼出来的推理是真材实料,那用它解题的正确率应该接近原生推理的水平,远高于完全不给推理机会的情况。数据确实支持这一点,DeepSeek-V4-Flash在完全不推理时正确率只有30.5%,用了强制推理协议后飙升到73.3%,而它自己原生推理的水平是70.0%,几乎打平甚至反超。GLM-5.2更明显,不推理时只有21.4%,强制推理后达到84.3%,原生推理是89.9%,差距很小。
第二层是看文字本身像不像:研究者用ROUGE和词语重叠度这些指标,比较"被逼出来的推理文本"和"模型自己主动写的推理文本",发现两者的用词、句式重叠度相当可观,尤其是DeepSeek-V4-Flash,重叠程度已经接近两段独立生成的原生推理彼此之间的重叠度。
第三层是看结构像不像:研究者借助一套叫做"情节理论"的框架,把每一段推理拆成一个个小单元,再判断每个单元到底在干什么,是在读题、分析、还是在验证结果。
情节理论*:源自数学教育研究者Schoenfeld的一套分析框架,把解题过程切分成读题、分析、计划、执行、探索、验证、监控七种功能性片段,用来描述解题者的思维如何在不同阶段之间切换。
结果显示,无论是原生推理还是被逼出来的推理,这七种功能片段都齐全,比例也大体相近,说明这不是一段临时拼凑的说辞,而是确实在完成读题、分析、验证这一整套完整的解题动作。
三层证据叠在一起,就像你要判断一个学生的解题步骤是不是真实想出来的,不能只看他最后答案对不对(第一层),还要看他写的草稿纸上的字迹和平时写作业是不是一个风格(第二层),更要看草稿纸上有没有该有的检验、验算这些环节(第三层)。三者都对上了,才有理由相信这份草稿纸记录的是真实的思考过程,而不是考完试之后补写的。
在开源模型身上验证过后,研究者才把这套方法用到真正拿不到答案的闭源前沿模型上,包括Claude Opus 4.8、Claude Sonnet 5、GPT-5.6-Sol,以及本文的主角,GPT-6-Astra。
在竞赛数学、多学科考试HLE、代码生成基准LiveCodeBench上,强制推理协议普遍能让这些闭源模型达到接近原生高强度推理的水平,而且远超完全不给推理机会的基线。比如GPT-6-Astra在数学基准上,原生推理是97.5%,强制推理协议下能做到93.8%,差距不算大。这个结果给了研究者足够的底气,去用这些"挖出来"的推理文本,进一步分析不同模型到底是怎么想问题的。
四个模型解同一道题,画风完全不一样
拿到了这些推理痕迹之后,真正有意思的部分才开始。
研究者挑了一道HMMT(哈佛麻省理工数学竞赛)的几何题,让四个模型都做一遍。结果四个模型全部做对了,但它们留下的推理痕迹,长得完全不一样。
GPT-6-Astra的推理只有757个字符,走的几乎是一条直线,几步之内直奔答案。而其他三个模型,尤其是Claude Sonnet 5,写了11455个字符,推理路径上布满了分叉、回头检查、推翻重来。
这就好比让四个人各自去解一道逻辑谜题。三个人会一边想一边喃喃自语,"等等,这样不对,我重新来一下","让我验证一遍这个数对不对",写满整整三页草稿纸,划掉重写好几次。而第四个人几乎不出声,安安静静写了半页纸就报出了答案。旁观者可能会怀疑第四个人是不是跳过了什么步骤,蒙对了答案,但如果检查他那半页纸,会发现关键的推导逻辑其实一步都没少,只是他把很多确认性的碎碎念全部省掉了。
这个现象和OpenAI自己对GPT-6-Astra的官方说明是吻合的:这个模型被设计得倾向于用更少的推理token达到强表现,官方原话是说它"减少了对推理过程进行言语化的倾向和必要性"。研究者的发现,相当于用第三方的实验数据,把这句官方描述具体量化和可视化了出来。
省略号背后:Astra到底"偷懒"在哪儿
Astra的推理这么短,第一反应可能是它在偷工减料,跳过了必要的计算步骤。但研究者仔细比对了几个具体案例后发现,事情没那么简单。
比如一道验证除法运算是否整除的题,GPT-5.6-Sol写的是"验证除法:420261/101:101×4161=416100+4161=420261,恰好整除",把每一步乘法拆解得清清楚楚。而Astra写的是"verify 420261/1014161 yes",短短几个字,直接给出结论。
再比如一道涉及化学分子价电子计算的题,Sol和Opus都会先明确写出"碳、氢、氧分别贡献4、1、6个价电子",然后再相加。Astra则直接写"valence 48+18+36=102",把碳氢氧各自贡献多少电子这个中间事实,直接内化进了最后的加法算式里,压根没有把这个前提单独摆出来。
研究者进一步统计发现,这种简洁并不是因为Astra说话的单句特别短。事实上,把每种推理片段拆开单独测量,Astra单个片段的平均字符数和Sol、Opus差不多,只有Sonnet明显更啰嗦。真正的差别在于总量:Astra在"分析"这个片段类别上总共写的字数,远远少于其他模型,因为它压根就没有写那么多次"分析"类型的片段。
这就好比两个人心算一道两位数乘法,一个人会在心里默念"个位乘个位是多少,进位是多少,十位乘个位再加上……",另一个人则直接报出答案,跳过了所有中间口算的自言自语。旁观者听不到第二个人脑子里到底转了几圈,但只要答案对了,你很难说他是没算,只能说他把那部分计算做得足够熟练,不需要再用语言把每一步都念出来。如果强行要求他把每一步都念出来,反而会拖慢他,甚至打断他原本流畅的思路。
这带来一个挺有意思的推论:Astra省下来的,很可能不是推理这件事本身,而是把推理转成文字这个"翻译"的开销。它把一些基础运算和常识性知识内化处理掉了,只把真正需要外部确认、真正关键的判断节点写出来。
推理树:从字数差异到结构差异
字数是一回事,结构又是另一回事。为了更系统地刻画这种差异,研究者借用了一种叫LCoT2Tree的方法,把每一段推理文本转换成一棵"推理树"。
推理树*:把一段冗长的思维链,按照它对应的解题步骤重新组织成一棵树状结构。树的宽度表示模型在某个阶段同时探索了多少种可能性,深度表示解题步骤推进了多远,节点总数表示整个推理过程包含了多少个具体的推理片段。
这棵树能同时呈现三个数字:宽度、深度、节点总数。宽度衡量的是模型在某个阶段"脚踏几条船",同时尝试了多少种思路,深度衡量的是解题推进到了第几步,节点数衡量的是整棵树上一共留下了多少推理片段。
在数学基准上,Astra的推理树宽度中位数只有5.0,而Claude Sonnet 5达到28.5,是Astra的近六倍。节点总数上,Astra是27个,Sonnet 5是136个,相差超过五倍。但深度上,两者差距很小,Astra是11.0,Sonnet 5是13.0,几乎在同一水平线上。
这个数据组合特别关键。深度接近,说明两个模型解题所需要经过的"阶段"数量差不多,谁都没有跳过必要的解题环节。宽度和节点数差距巨大,说明Astra几乎是选定一条路就一路走到底,很少分叉、很少回头验证、很少推翻重来,而其他模型会在同一个阶段反复横跳,尝试多种可能性再收敛。
这就像两支登山队去爬同一座山。两支队伍最终都爬到了同样的海拔高度(深度相近),但一支队伍几乎是笔直沿着一条路线上山,另一支队伍则不断分岔探路,走错了退回来,换一条路再试,最后虽然也到了山顶,但走过的岔路总里程要长得多。如果不允许探路队伍走岔路,他们可能压根找不到上山的路,因为这种试错本身就是他们解决问题的方式。但对于那支直线登山的队伍,如果强迫它也要按套路探索几条岔路,反而会拖慢它原本高效的行进节奏。
活动构成上的相似与结构上的分野
有一个细节值得单独拎出来说。研究者按照前面提到的七种功能片段(读题、分析、计划、执行、探索、验证、监控),统计了每个模型在这七类活动上分配的比例。
结果是,四个模型的活动构成整体上非常相似,都是"分析"和"执行"占比最大,其余五类各占一定比重,没有哪个模型表现出质的不同。也就是说,Astra并没有"砍掉"某一整类推理活动,它照样会计划、会探索、会验证,只是每一类活动被外化出来的绝对数量少得多。
这个发现和推理树的结果拼在一起,勾勒出一幅相当清晰的画面:Astra不是换了一套解题方法,而是用同一套解题方法,只是把"说给自己听"的部分砍掉了大半,只保留了"必须说给外部看"的关键节点。
紧凑的推理,换到别人手里会怎样
如果说前面这些发现停留在"描述现象"的层面,那么接下来这个实验才真正触及了一个更根本的问题:这种被压缩的推理,能不能被别的模型拿去用?
研究者做了一个"移植实验":把某个模型(供体)生成的推理过程,不带最终答案,直接塞进另一个模型(接收体)的对话上下文里,让接收体在关闭自身推理的情况下,只凭这段外来的推理文本,给出最终答案。
结果相当耐人寻味。来自Sol和Opus的推理,无论换给哪个接收体,几乎都能被原样利用,正确率损失很小。但Astra的推理表现完全不同:给到强模型(比如GLM-5.2、Kimi-K3)身上,几乎不损失正确率;给到弱模型(比如Claude Haiku 4.5、GPT-5.4-Nano)身上,正确率明显下滑。
更让人吃惊的是,研究者发现有些案例里,Astra的推理文本里其实已经白纸黑字写出了正确答案,接收模型却依然给出了一个不同的错误答案。研究者统计发现,Claude Haiku 4.5的错误答案里,有高达83.33%的情况,正确答案其实就摆在它读到的那段推理文本里,它却没能"看懂"或者没能正确提取出来。
这说明什么?说明一段被压缩得很紧的推理文本,省略的那些中间步骤,恰恰是弱模型自己没有能力补全的部分。对强模型来说,看到一句"48+18+36=102",它能立刻反推出这是碳氢氧价电子数相加得出的,即便Astra没有明说碳贡献4个电子这件事。但对能力不够的模型来说,这个隐含的前提可能它压根想不起来去补,于是即便看到了正确的中间结果,也接不上后面的推理链条,最终答错。
这就好比一位数学功底极其扎实的老师,写板书时喜欢直接跳过几步显而易见的代数变形,因为对他而言那几步是不言自明的。班里成绩好的学生看着板书能立刻脑补出跳过的那几步,照样学得很顺畅。但基础薄弱的学生一旦看不懂板书上跳过的那一步,整堂课就跟丢了,哪怕老师最后把正确答案写在黑板最上面,这名学生依然可能因为没跟上中间逻辑,抄错了最终结果。如果老师不管学生水平强行给所有人跳步讲课,好学生受益,差学生可能反而学得更差。
这个发现对于人工智能训练里一个长期存在的谜题,提供了一种新的解释思路。
模型蒸馏*:一种训练方法,用一个能力更强的"教师模型"生成的推理数据,去训练一个能力较弱的"学生模型",希望学生模型能学到教师模型的部分能力。
业内一直观察到一个现象:教师模型越强,并不总能训出更强的学生模型,这个现象有时被称为"能力落差"。这篇论文给出的解释是,最强的教师往往也是推理表达最简洁的教师,它省略的恰恰是能力较弱的学生自己补不上的那些步骤。换句话说,一份推理数据到底有没有教学价值,可能不完全取决于教师有多强,而要看这份数据的"详略程度"和学习者能力是否匹配。
这也带来了一个略显尴尬的张力:如果未来的前沿模型继续朝着"用更少token做更强推理"这个方向优化,它们生成的推理数据反而可能变得越来越不适合拿去教那些能力较弱、最需要被教的小模型。
写在后面
读完这篇论文,最让我意外的不是Astra推理更短这件事本身,OpenAI官方早就这么说过,而是研究者用一套相对朴素的工具调用把这件事变成了可以量化、可以复现、可以跨模型对比的实证数据。这提醒我一个容易被忽略的事实:很多"官方声明"其实只是一句定性的话,真正把它变成可验证的科学发现,中间还差着一整套实验设计。
另一个让我反复琢磨的细节,是那个"答案就在眼前却依然看不懂"的现象。我们平时习惯用"模型有没有把答案说出来"来判断它是不是在糊弄,但这个实验说明,即便答案清清楚楚写在输入里,接收模型也可能因为缺失了某些隐含的推理台阶而读不懂、用不上。这某种程度上颠覆了我对"上下文学习"的一个朴素假设,以为只要把正确信息放进上下文,模型就一定能用上,事实是模型的理解能力本身设了一道门槛,信息摆在那儿不代表能被跨过这道门槛。
论文里提到研究团队在发现这个漏洞之后,第一时间给OpenAI和Anthropic的安全团队发了邮件报告,这个细节我觉得值得单独说一句。技术上撬开一道缝和负责任地披露,是两件不同的事,后者往往更容易被忽略。
至于这套方法未来会不会被厂商堵死,我猜大概率会。但堵死一个具体的工具调用漏洞,和真正在设计层面统一"推理披露"这件事的边界,恐怕不是一回事。当一个模型可以在原生思考通道之外,随便找一个API字段把想法悄悄写出来的时候,你要怎么定义"隐藏推理"这四个字,本身可能就是个还没有标准答案的问题。
Q&A
Q1:GPT-6-Astra的推理方式和其他模型有什么不同?
A:GPT-6-Astra生成的推理痕迹最短、压缩率最低,走的推理路径几乎是直线,很少分叉和反复验证,但它照样完成了读题、分析、验证等各类推理活动,只是把大部分基础计算和常识内化处理,没有写出来。
Q2:强制推理协议是怎么让模型说出隐藏推理的?
A:研究者注册了一个自定义工具,利用API的工具选择功能强制模型第一次调用必须选中它,把中间推理内容写进这个工具的参数里,之后再放开选择权,让模型自主决定继续写还是给出最终答案,这个工具本身不做任何计算,只负责保留中间文字。
Q3:为什么Astra的推理文本换给弱模型用会出问题?
A:Astra的推理省略了很多隐含的中间步骤,强模型能自己补全这些跳过的逻辑,但弱模型经常补不上,导致即便正确答案已经写在推理文本里,弱模型依然可能因为接不上前后逻辑而给出错误答案。
精彩推荐
-
1怎么打开电脑路由器设置?初次设置无线路由器方法是什么?
-
2路由器如何设置提升网速?学校寝室路由器无线怎么设置的?
-
3电脑没连路由器却能进入路由器界面?电脑无法进入路由器?
-
4把电脑变成无线路由器怎么弄?台式电脑如何变成无线路由器?
-
5重新启用U盘的技巧有什么?U盘提速的技巧有哪些?
-
6如何安全的使用U盘?U盘日常使用的技巧有哪些?
-
7曲面显示器怎么选择?曲面显示器和平面显示器的区别有什么?
-
8安卓设备型号和名称可以改吗?安卓手机如何修改手机IMEI串号?
-
9地址和域名是什么关系?互联网域名是商标的一个组成部分对错?
-
10Linux获取文件名称和文件路径并写入txt?linux下exports文件是什么?