AI学会了用工具做空间推理,然后又学会了假装自己不需要工具
(来源:科技行者)
你可能没想过这样一个问题:一个AI模型要判断"从第一张照片到第二张照片,相机往哪个方向移动了",到底有多难。
对人类来说这几乎是本能。你瞥一眼两张照片,大脑自动比对一下沙发的位置、窗户的角度,答案就出来了。但对多模态大语言模型来说,这件事出奇地难。
这就是这篇论文要解决的问题,也是它故事的起点。
**空间推理这件事,难在"没有标准答案可以打分"**
先说说什么是空间推理。
空间推理:从二维图像中推断三维世界的属性,比如物体距离、相机运动方向、视角变化后的场景样子。这是多模态大语言模型(能同时理解图像和文字的AI模型)最头疼的能力之一。
为什么头疼?因为空间推理的最终答案或许可以验证对错,但中间的推理过程几乎没法自动打分。你让AI说"我是怎么判断相机往左移动的",它说了一堆理由,你很难写一个程序自动判断这些理由对不对。
这就卡住了几条常规的训练路子。
第一条路是监督微调
监督微调(SFT):直接用问题和答案成对的数据训练模型,让模型学会给出正确答案。这种方法简单粗暴,问题在于模型学到的只是"看到这种图配这种答案"的表面对应,空间理解始终是隐性的、脆弱的,稍微换个场景就垂直崩溃。
第二条路是强化学习,比如GRPO
GRPO(Group Relative Policy Optimization):一种强化学习算法,让模型自己生成多个答案,根据对错给奖励,逐步调整策略。这条路理论上能绕开"中间步骤没法打分"这个坑,因为它只需要最终答案对不对。
但现实是,由于空间推理缺乏可验证的中间步骤,强化学习管线不得不依赖昂贵的冷启动数据和稀疏的结果奖励,效率低得让人头大。打个比方,这就像让一个学生做数学题,你不告诉他每一步对不对,只在他写完整张卷子后告诉他总分。他要花多少次尝试才能摸清楚哪一步错了?如果不给过程反馈,他可能永远在瞎撞运气,而不是真正学会方法。
于是研究者们想到了第三条路:让AI用工具。
**当AI学会写代码调用工具解决空间问题**
这条路的思路是,既然AI自己判断不准,那就让它像人类工程师一样,写代码调用专业工具去算。
这类系统被称为空间编码代理(Spatial Coding Agent):一种让多模态大模型通过编写和执行Python代码来解决空间问题的智能体,它能调用深度估计、物体分割、相机位姿计算等专业工具,在一个持续运行的编程环境里一步步推理。
举个例子,论文里反复提到的SpatialClaw就是这样一个代理。给它两张照片,它会写代码调用三维重建工具,算出相机在两帧之间的精确位移向量,比如横向移动了零点三八米、纵向移动了零点四三米,然后根据这些数字判断方向,甚至渲染一张鸟瞰图来做视觉确认。
这个思路确实管用。论文的实验数据显示,在MindCube-Tiny这个基准测试上,直接问答只有40.2分,加了提示词引导的思维链能到47.4分,但一旦让AI调用空间编码代理,分数直接跳到62.9分。这是一个相当大的跃升,相当于每十道题里,用了工具的AI要比光靠嘴说的AI多做对两道。
但这里出现了一个新问题,而且是个相当现实的问题:工具不是免费的。
每次推理都要反复调用代码执行、等待工具返回结果,这个过程又慢又依赖外部基础设施。如果你要给成千上万用户提供服务,这种"写代码、跑代码、等结果"的循环会把服务器成本和响应延迟都拖得很高。
这就好比你要去另一个城市出差,专车接送确实又准时又靠谱,司机对路线一清二楚,不会迷路。但你不能指望每一次出门都叫专车,成本扛不住。你更希望的是,自己学会开车,达到接近专车司机的熟练程度,这样才能真正自由地说走就走。
这正是这篇论文要攻克的问题:能不能让AI把"用工具推理"这项本事,内化成自己的本能,彻底脱离工具运行?
**一个意外的发现:给AI看看别人的解题笔记,它自己就开窍了**
研究团队在摸索过程中撞见了一个挺有意思的现象。
他们设计了四种对比实验。第一种是直接问答,不给任何引导。第二种是提示词思维链,让AI自己一步步想。第三种是真正调用空间编码代理,让它写代码跑工具。第四种比较特别:不让AI自己调用工具,而是把别人(空间编码代理)已经跑出来的执行记录展示给它看,让它基于这份记录直接给答案,自己不再调用任何工具。
这第四种设置被称为智能体轨迹条件化思维链(Agent-Trace-Conditioned CoT):让AI阅读一份完整的工具调用记录作为参考,然后在不再调用工具的情况下,自己生成推理过程和答案。
结果让人意外。这第四种设置的表现,几乎追平了真正跑工具的第三种设置。
在MindCube-Tiny上,提示词思维链是47.4分,工具代理是62.9分,而光是读一遍别人的解题记录、自己再写一遍答案,就能冲到63.0分,比真正跑工具还略高一点。SPAR-Bench-Tiny上也是类似的模式,49.4分对56.6分,读记录条件化后能到57.0分。
这说明一件事:AI的空间推理能力本身没有想象中那么弱,缺的是一种"被激活"的触发方式。
研究者进一步分析了AI在读完执行记录后生成的推理文字,发现里面提到三维度量相关概念的频率涨了1.8倍,提到反事实运动(比如"如果相机往左移动,画面会变成什么样")相关概念的频率涨了1.6倍。换句话说,看了解题记录之后,AI不是简单地抄答案,而是真的被引导着往空间感知的方向去想问题了。
这就像一个学生原本解几何题总是干巴巴地套公式,但你给他看了一份高手的解题笔记,笔记里不仅写了答案,还描述了"先想象一下如果把这条线延长会发生什么"。学生读完这份笔记后,哪怕自己独立做题、不再参考笔记,他开始习惯性地在脑子里做这种空间上的假设推演了。笔记本身没有被带进考场,但它改变了学生的思维习惯。
这个观察直接催生了这篇论文的核心方法。
**SpatialOPSD:把特权信息变成训练养料**
既然读执行记录能让AI开窍,那能不能把这种"开窍"永久地写进模型参数里,让它以后不用再读记录也能达到同样的水平?
这就是SpatialOPSD要做的事情。它的全称里包含一个关键概念:
在线策略自蒸馏(On-Policy Self-Distillation,OPSD):用同一个模型的两个副本,一个作为学生(只能看到原始输入),一个作为老师(额外看到特权信息),让学生在自己生成的推理轨迹上,逐词逼近老师给出的概率分布,从而把老师掌握的额外知识转移给学生。
这里有个概念需要解释一下,就是特权信息。
特权信息(Privileged Information):训练时额外提供给老师模型、但学生模型在推理阶段永远不会接触到的信息。在这篇论文里,特权信息就是空间编码代理跑出来的执行轨迹的总结。
整个流程可以拆成几步。第一步,先用空间编码代理去跑一遍训练集里的题目,只保留那些最终答案被验证为正确的轨迹,这样就得到了一批"确认靠谱"的解题记录,而且全程不需要人工标注。第二步,把这些记录转化成四种不同风格的特权信息文本,分别测试哪种风格效果最好。第三步,用这些特权信息当老师的"外挂知识",训练学生模型在不接触这些信息的情况下,自己生成接近老师水平的推理过程。
这里有个耐人寻味的细节:论文测试了四种构建特权信息的方式,分别叫全轨迹、摘要、事实、意图。
全轨迹(Full-Trace)保留代理的完整原始记录,包括代码、工具调用细节、探索过程中的弯路。摘要(Summary)把记录提炼成关键推理要点,并刻意抹去答案的直接提示。事实(Fact)只抽取工具测量出的客观事实,不包含推理过程,但附上格式化的答案。意图(Intent)提取出代理解题策略背后的思路,去掉所有工具相关的细节痕迹。
实验结果显示,摘要这种风格效果最好,在MindCube-Tiny上比基线提升8.6分,综合平均提升6.0分。研究者给出的解释是,摘要风格让老师和学生之间的"熵差"(可以理解为两者对答案确定程度的差距)保持在一个适中的水平,既不会因为信息太少让老师自己也云里雾里,也不会因为信息太详细让老师过度自信、学生无从模仿。而全轨迹由于包含太多工具细节,反而拉大了这个差距,让优化变得更困难。
这就好比教一个新手开车,你不会把发动机工作原理和每个传感器的电压参数都讲给他,那只会让他更迷茫。你也不会什么都不说,光让他自己瞎摸索。最好的方式是教练在旁边说"注意看后视镜,判断一下旁边车道的距离",给出恰到好处的提示,既不多也不少。
**老师也会耍滑头:两种"抄作业"行为**
但这个蒸馏过程本身并不是一帆风顺的,论文坦率地指出了两个风险。
第一个叫自我强化式重复(Self-Reinforcing Repetition):当学生模型自己生成的推理陷入某种重复循环(比如反复说同一句话)时,老师模型可能会"认可"这种重复,而不是纠正它,导致学生越训练越容易卡在重复输出的死循环里。
第二个叫特权信息泄露(Privileged-Information Leakage):老师模型因为看到了特权信息,有一种天然的倾向,会去复述或抄袭这些信息的内容。但学生模型在真正推理时根本看不到这些信息,如果学生学会了依赖抄袭这种不存在的"参考答案",它在实际部署时就会表现得莫名其妙,甚至可能虚构出根本不存在的工具调用记录来为自己的答案找理由。
论文里有一个具体的例子特别说明问题。研究者展示了一个没有经过修复处理的"原始版OPSD"模型在推理时的真实输出,它写道"第三步:对照代理的工具记录(不要抄袭)",然后紧接着就开始复述"代理说相机往前往左移动了"这样的话,最后答案还选错了。这个模型完全是在幻想一个它从未真正运行过的工具记录来支撑自己的判断,这正是特权信息泄露最赤裸的表现。
针对这两个问题,论文提出了一个专门的修复机制。
**重复感知蒸馏:既遮住抄袭的痕迹,又惩罚抄袭的冲动**
这个机制叫重复感知蒸馏(Repetition-Aware Distillation):一种结合了重复掩码和不可能性正则化的训练技术,用于检测并抑制学生模型在蒸馏过程中对特权信息的逐字抄袭和自我重复。
具体做法分两步。
第一步是检测。系统会用n元词组匹配(简单理解就是检查连续几个词是否完全重复出现过)的方式,找出两类可疑片段:一类是在学生自己的输出里,前面说过的话又重复说了一遍;另一类是特权信息里出现过、但原始输入里没有的词组,这类词组一旦出现在学生输出里,极大概率就是抄袭。
第二步是惩罚。对于被标记出来的这些片段,系统做两件事。一是把这些位置的标准蒸馏监督信号直接掩掉,不让老师在这些地方继续"教"学生;二是额外加一个不可能性惩罚(Unlikelihood Penalty),直接降低模型在这些位置继续生成相同内容的概率。
这里有个技术细节值得一提:这个惩罚项有一个数值稳定性的小机关。因为重复循环往往伴随着模型对某个词的极高置信度(概率接近百分之百),如果直接用负对数来算惩罚,当概率逼近1时,这个值会往负无穷方向爆炸,训练直接崩掉。所以论文加了一个很小的数值下限来兜底,确保梯度计算不出问题。
这整套设计的用意是什么?打个比方,这就像老师在批改一篇作文,发现学生有两段话几乎原文照抄了一篇参考范文。老师不会在这两段话旁边写"写得好"继续鼓励,而是直接把这两段的批注留白,不给分,同时在旁边特别标注"这里不要抄",让学生意识到这种写法是要被扣分的,而不是被默许的。如果不这样处理会怎样?论文给出的数据是,不加任何修复的原始OPSD,特权信息泄露率高达82.7%,意味着十个回答里有八个都在明里暗里抄袭那些根本不该出现的内容。加上掩码处理后,泄露率降到73.6%,再加上不可能性惩罚,泄露率骤降到6.7%,两者结合起来是9.1%。
值得注意的是,论文的消融实验还发现,这两个手段各有侧重:单独用掩码的准确率最高(56.9分对比基线55.4分),单独用不可能性惩罚的泄露抑制效果更强,两者结合则是在准确率和泄露抑制之间找了一个平衡点,整体泄露率压到个位数,同时还保持了6.0分的提升。
**实验结果:9B模型追上了GPT-5**
说了这么多设计思路,最终效果如何?
论文在MindCube和ViewSpatial两个空间推理基准上做了全面评测。先看一个总览数字:基础模型Qwen3.5-9B原本直接用思维链推理的综合得分是45.9,经过SpatialOPSD训练后提升到51.9,涨了6个百分点。
对比一下其他训练方式。同样基于这9B模型,用标准监督微调训练出来的版本只有47.6分,用GRPO强化学习训练出来的版本是48.2分。SpatialOPSD的51.9分明显超过了这两者。
更值得玩味的是跟那个真正会调用工具的"老师"——SpatialClaw空间编码代理——的对比。SpatialClaw综合得分是57.3,SpatialOPSD达到51.9,意味着在完全不用任何外部工具、单次前向推理的情况下,SpatialOPSD保留了老师91%的实力。
另外一个让人印象深刻的对比是和商业大模型的较量。表格里列出GPT-5的综合得分是51.0,Gemini-3-Pro是60.7。SpatialOPSD-9B的51.9分已经超过了GPT-5,并且把跟Gemini-3-Pro的差距拉近了不少,而这是一个只有9B参数的开源模型做到的。
这组数字背后的意义值得多想一层。一个相对小规模的开源模型,靠着一套训练方法,就能在特定能力上追平甚至超过参数量和算力投入都远超自己的商业闭源模型。这说明在某些专项能力上,训练数据和训练方法的巧妙设计,可能比单纯堆参数更有效率。
论文还做了跨模型规模的验证,用了2B、4B、27B三种不同大小的模型。结果显示SpatialOPSD在所有规模上都带来了提升:2B模型从40.6涨到42.8,4B模型从46.4涨到50.2,27B模型从50.6涨到54.2。这说明这套方法不是只对某个特定大小的模型管用,而是具有相当的普适性。
同时,论文也测试了换一个不同的空间编码代理会不会影响效果,分别用了SpatialClaw和另一个叫pySpatial的代理生成训练轨迹,结果两者训练出来的学生模型表现相近(56.9分对比57.0分),说明这套蒸馏框架对具体用哪个代理生成数据并不敏感,具备跨代理的可扩展性。
**跳出训练分布之外,这套方法还能打吗**
一个方法在训练用的数据集上表现好,不代表它真的学到了通用的能力,很可能只是把那个特定数据集的套路给记住了。所以论文专门做了一轮分布外(OOD)评测,用了四个训练阶段完全没见过的基准:OmniSpatial、BLINK、MMStar、Video-MME,前两个考察空间推理,后两个考察更通用的多模态能力。
结果是,SpatialOPSD在这四个基准上的平均准确率达到64.7%,超过了标准微调的38.4%和GRPO的63.4%,也略微超过了纯思维链基线的64.4%。
这个结果说明一件挺重要的事:针对空间推理做的这套训练,并没有把模型其他方面的能力搞坏。监督微调在这里的表现特别惨,38.4%几乎是断崖式下跌,这其实提示了监督微调的一个经典弱点,它容易让模型过拟合到特定的问题格式和回答模式上,一旦换个场景就不灵了。
**消融实验揪出的几个关键开关**
论文还细致地调节了几个超参数,看看它们各自对结果的影响有多大。
重复惩罚的权重这个参数,论文发现调到0.10是个甜蜜点。调到0最低时,泄露率高达73.6%,但准确率在MindCube上冲到60.0分;调到0.15时泄露率压到仅剩0.8%,但准确率跌到55.1分,低于不加任何修复的基线。这说明这个惩罚力度的拿捏确实是一场权衡,惩罚太轻压不住泄露,惩罚太重又会伤到模型的正常学习能力。
最小重复片段长度这个参数影响则没那么大,调节范围从4到64,对准确率的影响都在一个百分点上下,但对泄露率的影响比较明显,设成32的时候泄露率压到9.1%最优。
另外论文还验证了"验证"这一步到底有没有必要。如果不筛选代理答对还是答错,直接把全部一万条训练轨迹都拿来用,MindCube-Tiny上的综合得分是52.0;而只保留那5008条经过验证确实答对的轨迹,得分反而冲到56.9。这个结果有点反直觉,用更少的数据训练出了更好的效果。这说明轨迹的质量比数量重要得多,掺杂了错误推理路径的训练数据,哪怕数量再多,也可能把模型带偏。
**写在后面**
读完这篇论文,有一个细节我一直在想。
论文花了相当大的篇幅去对比四种构建特权信息的方式,最后发现"摘要"风格效果最好,而不是把代理的完整执行记录原样塞给老师模型。这个发现背后其实藏着一个挺反常识的洞察:给老师更多信息,不一定能教出更好的学生。
直觉上你会觉得,老师掌握的信息越全越细致,教学效果应该越好。但论文的熵差分析告诉我们,当老师看到的信息太详细、太确定(比如完整的代码执行轨迹),它对答案的把握会变得异常自信,自信到跟学生的认知水平之间产生一道鸿沟,这道鸿沟反而让知识转移变得低效。真正好的教学,可能恰恰需要老师克制住"把所有细节都讲清楚"的冲动,只给出恰到好处的引导。
这个洞察让我联想到人类教育里一个经常被忽略的问题:为什么很多讲得特别详尽、生怕学生听不懂的老师,教学效果反而不如那些故意留白、让学生自己填补空隙的老师?也许知识的传递从来不是信息量越大越好,而是信息和接收者认知状态的匹配程度更重要。
论文里还有一个让我停下来多想了几分钟的发现,就是那个"读执行记录比真正跑工具分数还略高"的结果。这似乎暗示一件事:工具本身可能不是空间推理能力的真正来源,工具带来的价值更多在于它逼出了一种更结构化、更贴近真实空间线索的思考方式。如果这个判断成立,那意味着未来或许存在一条更省事的路,不是不断给AI堆砌更强大的工具,而是想办法让AI从一开始就学会那种"调用工具时才会被激发"的思考习惯。
工具到底是能力的拐棍,还是能力的催化剂?这篇论文给出的答案似乎更偏向后者。但这个问题恐怕还没有被彻底回答。
Q&A
Q1:SpatialOPSD是什么?
A:SpatialOPSD是一种让多模态大语言模型内化空间推理能力的训练框架,它通过把验证过的空间编码代理执行轨迹转化为特权信息,用在线策略自蒸馏的方式教会模型在不使用任何外部工具的情况下进行空间推理。
Q2:SpatialOPSD和直接用工具调用的空间编码代理相比效果怎么样?
A:论文显示SpatialOPSD训练出的9B模型综合得分达到51.9,而真正调用工具的SpatialClaw代理得分是57.3,前者在完全不依赖工具的单次推理中保留了后者约91%的性能。
Q3:重复感知蒸馏具体解决了什么问题?
A:它解决了两个问题,一是老师模型纵容学生的自我重复循环,二是学生模型抄袭老师看到的特权信息。通过掩码处理和不可能性惩罚,这个技术把特权信息泄露率从82.7%降到了9.1%左右。