你有没有想过,为什么家里的扫地机器人换了个家具摆放位置就开始到处乱撞,而一个刚学会走路的孩子,你把家里的椅子挪个地方,他照样能找到自己的玩具箱?
这个问题在机器人研究领域已经困扰了很多年。2026年,一群来自HexaFuture公司的研究者发表了一篇论文,里面提到一个让人挺意外的实验结果:一个训练好的机器人操作模型,你把它的任务指令完全遮住,它照样能完成92.3%的任务,几乎和给它正确指令时的96.2%成功率差不多。
这意味着什么?意味着这个机器人根本没在"听你说话",它只是在"看图做题"。你给它看一个场景,它就凭记忆做出一套固定动作,你说什么指令其实无关紧要。这就像一个学生做题从来不看题目,只看题目旁边配的图,图长什么样他就写哪套答案。平时考试或许能蒙对大半,可题目稍微换个说法、图片换个角度,他立刻抓瞎。
**机器人在实验室里表现得像个天才,一到真实环境就变成个傻子,问题的根源不在于它"动作学得不够好",而在于它压根没有一个可以被检查、被修改的"状态记录"。**
这篇论文要讲的,就是怎么给机器人补上这个东西。
当一切都藏在动作里,你没法找到问题在哪
现在主流的机器人智能方案,叫做VLA和WAM。
视觉语言动作模型(VLA):一种把摄像头看到的画面和人类下达的语言指令,直接翻译成机器人动作指令的神经网络模型。
世界动作模型(WAM):在VLA基础上加了一层"预测下一帧画面会是什么样"的能力,理论上应该更懂物理规律。
这两种模型都有一个共同的结构问题:输入是图像和文字,输出是一串动作,中间发生了什么,完全是个黑箱。
论文里举了个很生动的例子。有个任务叫"把三明治食材放进烤箱",需要先放培根卷,再放面包,两样东西都放进去了才能关烤箱门。研究者测试了目前最先进的VLA模型之一,叫XR-1,结果发现它经常犯一个错误:放了一片面包进去,就直接把烤箱门关上了,培根卷还留在外面的盘子里,而且关上门之后,这个培根卷就再也放不进去了。
这不是偶然失误,是必然会发生的结构性问题。因为这个模型压根没有"检查两样东西是不是都在里面"这个环节,它只是完成一个"关门"的动作,至于门里面装没装对,它不知道,也没法知道。
如果你去问它"为什么关门的时候东西没放齐",它没法回答,因为它根本没有一个存储"当前烤箱里有什么"的地方。所有的状态信息,全都揉进了那一长串数字组成的动作序列里,你没法把它拆出来看,更别说改。
这就好比让一个厨师做菜,但不允许他看灶台,不允许他尝味道,只能凭当初学徒时记下的一套固定手法,机械地重复。手法练得再熟,只要食材换了、火候变了,做出来的菜必然出问题,而且你根本没法告诉他哪一步错了,因为他从头到尾都没有一个"检查"的动作,一切都是闭着眼睛做完的。
论文还提到一个更扎心的数据:发布的VLA模型,只要相机角度或者机器人初始姿态稍微变一下,成功率就直接腰斩,如果物体摆放顺序被打乱,成功率几乎归零。加大训练数据、加大模型规模,都没法可靠地解决这个问题。
这说明问题不是"模型还不够聪明",而是这套输入输出的结构本身就有缺陷。
给机器人一套可以检查的"账本"
那怎么解决?研究者们从一个完全不同的领域找到了灵感:软件编程智能体。
编程智能体:一种能自主写代码、调用外部工具、检查运行结果、根据报错信息修改代码的AI系统。
你去看现在的AI写代码,它跟人类程序员的工作方式很像:写一段代码,跑一下测试,测试失败了就去看报错信息,针对性地改代码,再跑一次。整个过程里,代码本身就是"状态",测试结果就是"反馈",这些东西全都是可以被读取、被检查、被保存下来的。
这篇论文提出的核心方案,叫物理编码(Physical Coding)。
物理编码:把物理世界的任务状态和执行过程,都用可以运行、可以检查的程序代码来表示,而不是藏在一个黑箱模型里。
具体来说,这套方案分成两个部分,分别叫"世界即代码"和"策略即代码"。
世界即代码(Code as World):用代码记录任务相关的物体、物体之间的关系、观察到的信息、约束条件,以及任务完成到什么程度这些内容,每一条记录都能单独拿出来核实真假。
比如前面提到的烤箱任务,世界代码里会写着一句类似"inside(培根卷, 烤箱) = False"这样的判断,这句话是真是假,系统随时可以去检查,不需要依赖模型自己嘴上说"我做完了"。
策略即代码(Code as Policy):用代码组织整个执行流程,包括先做什么、调用什么工具、做完怎么验证、出错了怎么补救,这些逻辑全部写成可以分支、可以循环、可以中断的程序,而不是一锤子买卖的动作序列。
有了这两样东西,机器人执行任务的方式彻底变了。以前是"看一眼,做一串动作,结束",现在变成"看一眼,记录状态,做一步,再看一眼,核对状态有没有变对,不对就补救,对了才继续"。
这就好比你去银行存钱,以前的方式是柜员把钱塞进抽屉,嘴上说一句"存好了",你也没法查;现在的方式是每一笔存取都记在账本上,余额多少一目了然,出了差错也能顺着账本查到是哪一笔出了问题。账本本身或许多花了几秒钟去记录,但换来的是整个系统可以被追溯、被信任、被修正。如果没有账本,银行系统迟早会因为无法对账而彻底失控,机器人系统也是一样,没有可检查的状态记录,一旦出错就永远不知道错在哪一步。
一个真正会干活的机器人管家:HexaAnything
光有理论不够,研究者们真的做出了一套系统,取名叫HexaAnything。
它扮演的角色,更像是一个项目经理,而不是一个执行者本身。真正干活的,还是那些成熟的VLA模型、感知工具、运动规划工具,HexaAnything负责的是拆解任务、分配工作、检查每一步成果、出错了想办法补救。
这套系统有几个关键的组成部分。
验证器(Verifier):一个独立于执行模型之外的检查机制,专门核对每一步动作有没有真的达成预期效果,它返回的结果不是简单的"成功"或"失败",而是"通过"、"失败"、"证据不足"、"被阻塞"、"安全停止"这几种更细致的状态。
这一点其实很关键。如果让做动作的模型自己判断自己做得对不对,那就相当于让学生自己批改自己的卷子,很容易出现"我觉得我做对了"这种自我确认的偏差。所以验证器必须是独立的第三方,专门跟执行者对着干,专门挑毛病。
执行记录(Trace):机器人在执行任务过程中留下的完整档案,包括看到了什么画面、调用了哪个工具、工具返回了什么结果、验证器给出了什么判定,这些内容全都以代码形式保存下来,可以随时回放查看。
这个记录的价值在于,它不只是给人看的日志,后面还能直接拿去训练新的模型。
真实的实验数据:换个大脑,机器人真的变聪明了
理论讲得再漂亮,还得看实测效果。研究者在一个叫RoboCasa365的厨房任务模拟基准上做了测试。
在最难的"没见过的组合任务"这个考核项目上,原生的XR-1模型成功率是34.3%,套上HexaAnything这套管理系统之后,同样的XR-1模型,成功率提升到了38.3%,涨了4个百分点。整体任务成功率从56.6%提高到61.1%。
请注意,这里干活的模型完全没变,只是给它配了个更会管事的"项目经理"。
更有意思的是后续实验。研究者把HexaAnything积累下来的执行记录,拿去训练了一个新的规划模型,叫HexaModel。这个新模型在同样的系统里跑一遍,成绩比它自己的老版本(也就是训练它用的那个基础模型)在每一个测试类别上都有提升,尤其是在最难的"没见过的组合任务"上,提升了2.2个百分点,达到39.5%,甚至超过了付费的商业大模型GPT-5.6-Sol在同一测试里跑出的38.3%。
这说明什么?说明执行过程中留下的那些代码记录,不只是一次性的日志,它真的能变成有效的训练材料,让下一代模型比上一代更聪明。这就是论文标题里说的"自我进化"。
如果没有这套记录机制会怎样?那机器人每失败一次,这次失败的经验就彻底丢了,下一次遇到类似情况还得从头再犯一次同样的错。这就好比一个厨师每次炒糊了菜,都直接把锅刷了重新买菜,从不总结这次到底是火太大还是时间太长,那他这辈子都学不会掌握火候。
工具本身也能进化。研究者在另一个叫RoboDojo的基准测试里做了个实验,让一个编程智能体去读机器人失败的记录,分析原因,然后直接修改抓取工具的代码,而不是去改模型参数。三个任务里,叠衣服、倒花瓶、按数字键,成功率分别从0%、40%、0%,经过两轮工具修改,提升到80%、100%、100%。
这中间还有个小插曲,第一轮修改倒花瓶的工具时,成功率反而从40%跌到了0%,第二轮吸取了失败的教训才修复到满分。这个过程很真实地说明了改进从来不是一条直线,有时候会先退一步。
从厨房到实验室:机器人自己做物理实验
这篇论文最让人意外的部分,是它没有止步于叠衣服、放东西这类操作任务,而是让机器人真的去做科学实验。
研究者搭建了一个叫PhyBench的模拟实验室,里面有三个经典物理实验:测弹簧劲度系数、测重力加速度、测耦合振荡器的频率。
这三个实验的共同点是,机器人拿到的只是一个目标,比如"告诉我这根弹簧的劲度系数是多少",具体怎么做实验,压根没人告诉它。它得自己想办法:往弹簧上挂多少重量、读几次刻度、怎么拟合数据、误差怎么估计,全靠自己规划。
这跟之前的操作任务完全是两码事。操作任务成功的标准是"物体放对位置了没有",科学实验成功的标准是"这个数字算得准不准"。一堆抓取放置的动作本身没有意义,重要的是背后那个数据分析和推理的过程。
论文里详细记录了一次弹簧实验的完整过程。机器人先制定计划:记录不挂重物时的刻度作为零点,依次挂上四个砝码,每次读数前都要把机械臂移开,确保两次相隔两秒的照片读数一致,最后用带截距的线性拟合来算劲度系数。
执行时,它给每个砝码找抓取点,放到托盘的空位上,挪开机械臂,通过识别指针位置和相邻两厘米刻度线,插值算出精确读数,精确到大约每像素0.11厘米,误差控制在0.10厘米以内。
最后算出来的劲度系数是24.82±0.40牛顿每米,真实参考值是25.16牛顿每米,相对误差只有1.36%。整个推导过程,从五张照片到最后的数字,全都可以顺着代码记录追溯回去,每一步都摆在明面上。
用不同的大模型跑这三个物理实验,表现差异很大。用GPT-6-Astra和Opus 5.5这两个模型,十次实验全部成功,误差都控制在5%以内;换成一个开源模型Qwen3.8-Max,十次里只有五次能拿到有效结果,而且误差高达12.4%。这说明这套系统的上限,很大程度上还是取决于背后那个负责决策的大脑够不够聪明。
走出实验室,真机器人手臂也能自己练习扔积木
理论和模拟实验都做完了,研究者还把这套东西搬到了真实的机器人硬件上,用的是一台AgileX的双臂机器人。
他们在真实机器人上跑了七个桌面任务,拧瓶盖、玩井字棋、把积木放进碗里、摆热狗、倒积木、把积木扔进碗里、叠衣服。每个任务跑三次。
其中五个任务三次全部成功。跟已经发表的同类研究结果对比,同样用GPT这类模型,HexaAnything玩一局井字棋只用5分钟,而之前发表的方案要13.6分钟,快了2.7倍;拧瓶盖用了5.1分钟,之前的方案要17.9分钟,快了3.5倍。
真正做不到满分的两个任务,是扔积木进碗和叠衣服,原因也很明确,不是工具或策略的问题,而是摄像头没能可靠地识别出物体的深度信息,比如最后一块积木刚好靠在机械臂底座旁边,系统没法准确判断它离多远。
扔积木这个任务有个特别值得说的细节。一开始,智能体写的抛投工具只会绕着机械臂底座转一圈,定时松开夹爪,结果实测发现机械臂的实际速度总是比参考轨迹慢四分之一秒,导致抛投总是差点意思。发现这个问题后,操作人员录了一段人类扔东西的视频给智能体参考,智能体照着视频写出了一套新的"过肩投掷"动作,先在身前蓄力,再让三个关节同时向前发力。这个新版本第一次试跑就撞到了关节的运动极限,后续版本又把这个问题修复了。整个过程发生在一天之内,反复试错、反复修改,跟一个新手程序员调试代码没什么两样。
这个细节挺打动人的地方在于,它说明这套系统真的能在真实的、有摩擦力、有关节限位、有各种意外的物理世界里,通过一次次的失败去逼近一个更好的解决方案,而不是纸面上算得很漂亮实际根本用不了。
写在后面
读完这篇论文,有个念头一直在脑子里转:我们过去总说AI要"理解"世界,可"理解"这个词太模糊了,模糊到没法验证。这篇论文其实给了一个挺朴实的答案,理解不是玄学,理解就是能把状态写成一行可以被检查真假的代码。你说你理解了"两个食材都在烤箱里",那就把它写成一句谁都能去核实的判断语句,写不出来,那就是没理解。
论文里那个"遮住指令,机器人照样完成92.3%任务"的实验,其实是全文最扎心的一笔。它相当于当众揭穿了一个长期被默认的假设,大家一直以为VLA模型是在"听懂指令然后执行",实际上很可能只是在"看图蒙答案"。这种揭穿式的实验设计,比堆一堆漂亮的成功率数字更有价值,因为它逼着整个领域重新审视自己引以为傲的方法到底是不是真的在做它宣称做的事。
还有一处细节我印象很深,叠衣服工具进化的那个记录图,七个版本,成功次数从0一路涨到4,中间还有一次不升反降。研究者没有把这段回退藏起来,反而老老实实画出了这条起起伏伏的曲线。这种诚实挺难得的,因为大部分论文只会展示最终成功的那个版本,好像进步是一条从来不回头的直线,可任何真正做过工程的人都知道,进步从来不是这样的。
这套系统目前还只是个开始,四个可以进化的方向里,论文只走通了工具、数据、模型这三个,机器人的硬件本体和感知算力这一块还完全没碰。也就是说,机器人现在会写日记了,会看日记反思了,但它身体的极限,还是出厂设置那样。什么时候机器人能自己提出"我这双手不够灵活,得换个更好的爪子",那可能才是下一个值得写的故事。
Q&A
Q1:HexaAnything是什么?
A:HexaAnything是HexaFuture团队开发的物理编码智能体,它不直接操控机器人动作,而是负责拆解任务、调用感知和控制工具、验证每一步是否真的达成目标、出错时想办法补救,相当于给VLA这类动作模型配了一个会检查工作的项目经理。
Q2:物理编码和普通的机器人控制方法有什么不一样?
A:普通方法把观察和指令直接映射成一串动作,中间过程是黑箱,没法检查也没法修改。物理编码则把任务状态和执行步骤都写成可运行、可核实的代码,每一步做没做对都能单独查证,出错了能定位到具体哪个环节。
Q3:机器人真的能自己做物理实验吗?
A:论文里的PhyBench基准显示,机器人在只知道实验目标、不知道具体步骤的情况下,能自己规划怎么挂砝码、怎么读刻度、怎么拟合数据,最终测出的弹簧劲度系数误差只有1.36%,重力加速度误差低至0.004%,说明这套系统确实能独立完成有一定复杂度的科学实验流程。







