26年9月来自港大MMlab的网页介绍“PhysicalRSI 1.0: Recursive Self-Harness for Scaling Embodied Skills”: https://mmlab.hk/research/PhysicalRSI。
1.方法的核心
可以用一个循环理解:
执行任务 → 记录失败 → 提出程序修改 → 在环境中测试 → 保留有效版本 → 继续迭代。
这里需要区分两类能力:
完成任务的能力:感知、规划、调用动作技能、控制机器人。
改进系统的能力:分析失败原因,修改工具、记忆、技能及其调用方式。
如果底层模型权重保持不变,改进主要发生在 harness,即连接模型、工具、记忆和执行流程的驾驭运行框架。那么,系统是在通过积累和修改可执行程序学习,而不一定通过重新训练神经网络学习。
它的实际吸引力在于:把一次推理得到的经验保存为以后能够直接执行的规则。例如,“抓取失败后重定位再尝试”,可以从临时建议变成带触发条件和结果检查的恢复程序。
它的核心是两层循环:双系统负责“当前任务如何完成”,Embodied Self-Harness 负责“下一版系统如何做得更好”。两者连接起来,使大模型的反思能够变成后续实际运行的控制代码。
如图所示其双-系统共-演化框架:
2.创新点
具身学习落实到四个具体层面:
这使其研究对象比“优化一个提示词”更丰富:它试图在可执行程序空间中积累具身能力。 一个失败可以引发新的状态变量、子任务、控制分支或技能组合。
贡献的重心在可修改的智能体结构,以及经验如何进入下一版结构。 双系统提供分工,self-harness 提供持久更新的载体。
叠衣服示例中,系统保留“记录下降轨迹并反向撤回”的程序,但每回合重新测量轨迹和关节姿态。
这比保存一段固定动作序列更有意义:继承的是一种操作方法,执行时再绑定当前场景的数据。其潜在泛化来源可以明确解释为:
保留可复用的程序结构,重新估计本次执行的状态。
网页还展示了跨任务复用坐标转换模块,以及将识别、求解、抓取、移动、放置组合起来。这些都是具体的软件层能力复用。
不过,仍需区分三件事:
程序能够适应输入变化;
已有模块能够被复用;
系统能自主发现新任务所需的抽象与组合。
前两项有展示;第三项需要完整生成记录和迁移实验才能确认。
大模型生成机器人策略代码,已有 Code as Policies;依据执行反馈修改运行框架,已有 Self-Harness;冻结基础策略并演化具身检查与恢复机制,也有 Zetta。
所以 PhysicalRSI 更有说服力的创新主张应当是:
将表征、状态、规划和控制都纳入可继承的具身程序改进过程,并在多类机器人任务中验证这种组织方式。
这可以是一项有价值的系统贡献。但仅凭“双系统+反思+环境选择”的框架,还不能确认存在新的核心优化算法,也不能确认相对已有工作的独特增量有多大。
尤其是“原生双-系统协同进化”这个表述,需要进一步证明:联合修改两者的协作机制,确实优于只改执行技能或只改高层规划。否则,观察到的主要收益仍可能来自自动改进控制程序。
叠衣服图中的记录为:
网页附带的数据说明明确指出:
展示的是选出的节点,不是全部搜索历史;
完整开发历史中存在退化,也存在更高的开发集成绩;
正式评估端点没有提供对应场景组与策略版本身份;
不能将其视为同一评估群体上的正式学习曲线;
这组记录不主张证明泛化、模型调用减少或实际运行加速。
这应当同时得到两种评价:
积极的一面是作者披露了比较边界;限制的一面是图中向上的节点连接,不能证明每一轮改进都有效、性能持续单调增长,或后代越来越善于自我改进。
它支持“某些程序版本取得了更好的开发集结果”,距离“稳定的递归改进规律”还有明显证据差距。
如图所示其实现框架:
3.可能的问题与不足
1)视频和技能图谱更适合解释机制,不能替代因果验证。
网页注明视频是选取的执行回合,部分对比视频来自独立运行。叠衣服演化视频中的版本,也不与图表节点逐一对应;播放说明还包含部分阶段加速及静止片段省略。
因此,视频能够帮助判断:
某个版本确实展现了相应动作;
程序修改对应怎样的行为变化;
成功或失败发生在哪个阶段。
但它无法单独判断:
该修改是否显著提高总体成功率;
改进是否由系统自主提出;
两个对比是否控制了相同初始条件;
新程序是否在未见场景中更可靠。
同样,网页的技能图谱包含 212 个提取的视频片段、覆盖 40 个任务,其位置是示意布局。不能将它解读为“自动发现了 212 个独立可迁移技能”,也不能把图中的空间关系当作学得的技能表示。
2)其泛化问题已经有具体迹象,但不能过度归因。
网页任务表中,有些标准场景与随机场景差距很大。例如:
叠碗:标准场景成功率约 75%,随机场景为 0%;
向杯中倒液体:标准场景约 94%,标为估计值;随机场景为 9%。
这些结果说明:成功的程序结构尚未消除场景变化带来的脆弱性。
但仅凭分数,无法断言原因就是硬编码。问题也可能来自感知、定位、抓取技能、控制鲁棒性或不同场景的难度。
后续最值得研究的是:系统能否判断一个技能的适用条件;条件不满足时,能否重新估计状态、切换策略,或触发新的改进过程。否则,技能积累可能逐渐变成大量局部有效的程序。
3)目前最大的缺口:自主改进过程尚不够可审计
网页已经比纯演示项目更具体,但要确认其“自进化”贡献,还需要把完整因果链连接起来:
哪个失败触发了修改 → 模型看到了什么 → 自动产生了哪些候选 → 人是否介入 → 如何评估淘汰 → 最终版本在未见任务上怎样。
当前最关键的缺失证据,不是更多成功视频,而是:
固定基础模型、工具和预算,只改变是否允许自改进的对照;
完整候选与失败历史,而不只是选出的版本;
人工编写、人工筛选与自动修改的贡献划分;
隔离的最终测试集和跨任务迁移;
将搜索、仿真、失败验证都计入的总成本;
新一代是否更善于改进自身的专门实验。
可以说,它是一个有具体机制、有一定行为与评估证据的具身程序自改进原型。 它最有价值的启发,是将机器人学习扩展到表征、状态、规划和控制程序的持久修改;现有网页还不足以确认开放世界持续学习、双-系统协同进化的独立收益,以及改进能力本身的递归增强。
4 关于Dual-system / 双-系统的工作
网页中的 System 1 和 System 2 是一种功能分工,不宜直接等同于人类认知机制,也不必理解成两个独立训练的神经网络。
一个容易忽视的细节是:System 1 也包含决策逻辑。 它不只是被动执行一串固定动作,还可以根据观察和当前状态选择技能、检查条件、更新状态。网页给出的表达是:
(a_t, m_t+1) = H_k(o_t, g, m_t; S, T)
这里:
o_t:当前观察;
g:任务目标;
m_t:当前回合的状态;
(S, T):技能与工具;
(a_t):输出动作;
k:当前运行框架的版本。
因此,System 2 可以把一部分原本需要每次重新推理的判断,写入 System 1 的程序。例如“物体仍被夹持时继续搬运,否则重新抓取”,可以成为运行时的条件分支。
网页展示的技能类型也不只有 VLA,还包括代码策略、π₀.₅,以及带稀疏记忆的 π₀.₅。
双系统的直接价值,是将较慢的任务推理与较快的动作执行分开。网页标注了约 0.1–1 Hz 的规划与约 20–50 Hz 的动作控制,但明确说明这些只是示意估计,而且控制频率不同于模型推理频率,不能拿来证明实际部署的实时性。
5 这个双-系统比普通“规划器+执行器”多了什么?
普通分层系统中,规划器决定“调用哪个已有技能”。PhysicalRSI 还允许 System 2 修改“技能本身以及技能如何被组织”。
以插钥匙为例,网页将控制结构拆成:
接近 → 对齐 → 插入
三个阶段可以采用不同的目标与终止条件。我的理解是,这种结构使系统能够分别处理“接近路径不合适”“姿态没对齐”“插入动作失败”等问题,避免把整个任务看成一个无法定位错误的动作黑箱。
进一步,修改对象可以位于不同层次。网页列出四类例子:
这说明它搜索的空间不只是动作参数,而是从感知表征到控制流程的一整段程序结构。
不过,“协同进化”的含义需要谨慎界定:网页允许基础模型 F 保持不变,所以不能据此说 System 2 的模型权重也在学习。更准确的理解是:System 1 的执行程序,以及 System 2 使用信息和调度执行的方式,可以随运行框架一起改变。
6 关于Embodied Self-Harness 框架的运行
这里的 harness 可以理解为智能体的“运行与控制的驾驭框架”。“具身自-驾驭”,强调的是智能体修改自己的工作方式。
网页把第 k 代智能体定义为:
A_k = Agent(F, H_k)
并写成:
H_{k+1} = Improve_A_k(H_k, tau_k)
其中 tau_k 包含具身交互中的观察、动作、成功与失败。网页的主循环可以整理为:
- 用当前框架 Hₖ 组成智能体 Aₖ
- System 2 理解任务并产生计划
- System 1 执行,得到交互轨迹 τₖ
- Aₖ 根据 Hₖ 和 τₖ 生成多个候选框架
- 将父代与候选子代放入评估
- 选择一个存活版本
- 继承它的框架,进入下一轮
其核心是:
提出变体–〉评估–〉选择–〉继承
网页称之为 Darwinian Self-Harness。它是由模型引导的程序变异与环境选择,而不是完全随机的程序搜索。
这里有三个关键点。
第一,反思产生的是候选修改,不是已经被证明的改进。
“我认为这样更好”只负责提出假设。改动是否保留,要靠后续环境表现决定。这个区分非常重要,因为语言模型可以给出很有说服力、却在物理执行中无效的解释。
第二,父代也参与选择。
这使算法能够拒绝较差的子代。但它只能在有限的评估样本上比较优劣;保留父代并不自动保证真实泛化性能单调提升。噪声、偶然成功与评估过拟合仍可能导致错误选择。
第三,网页中的简化公式不是完整实现规范。
网页另写了:
H_{k+1} = F(H_k, E_k+, E_k-)
其中 E_k+与 E_k-是成功和失败证据。结合主算法,应把它理解为对“依据证据修订程序”的简写;实际保留下来的下一代还经过候选评估与选择。
网页尚未详细说明候选数量、变异约束、选择统计标准、停止条件等,所以目前能够确认的是算法框架,不能据此还原完整实现。
7 主要价值点:继承技能,刷新状态
网页中的叠衣服例子很好地解释了“它到底记住什么”。
程序大意是:
在本回合记录机械臂接近时的关节姿态;
放下衣物的过程中记录下降轨迹;
松开夹爪;
沿记录的下降轨迹反向撤回;
返回本回合记录的接近姿态。
跨回合保留的是:
“记录当前轨迹,并利用它撤回”的技能程序。
每个回合重新产生的是:
本次实际测得的姿态与轨迹。
这是程序性知识与回合状态的分离。它避免把某一次执行的绝对坐标直接当成永久经验。
这种抽象只提供了泛化的可能性,并不保证泛化。反向路径是否合适,还取决于环境有没有变化、衣物是否缠绕、释放是否成功等。真正可靠的技能仍需要执行中的观察和条件检查。
网页还展示了另一种继承:插充电器任务复用抓取任务的像素到世界坐标转换模块。这证明了模块复用的具体形式,但尚不能独立证明系统会自动发现任意任务之间可迁移的技能。
8 其算法的价值和难点
可以从五个方面评价。
1).它将推理结果转化为持久的执行能力。
如果每回合都让大模型重新推导相同的步骤,成本高,也容易产生不一致。将有效规则写成代码,能够减少重复推理,并使中间状态和执行条件更加明确。
这可以理解为一种把经验转化为程序的过程。不过,只有当程序保留了适当的输入、反馈和适用条件时,经验才可能复用;否则只是将一次成功固化成脆弱脚本。
2).它用环境筛选程序,缓解了语言反思不可靠的问题。
环境评估比“模型自行打分”更接近任务的真实要求。但难题转移到了评估设计:
怎样判断一个修改优于父代?
要重复多少次才能排除偶然成功?
局部成功是否牺牲了其他任务?
筛选所用任务与最终测试是否分离?
因此,这套方法的可靠性很大程度上由 select_on_eval 决定,而网页对这一环节的描述仍然较抽象。
3).程序结构提供可解释性,也带来搜索复杂度。
程序修改能够定位到具体模块:表征、记忆、规划或控制。但一次失败可能由多个环节共同导致。
例如插入失败,可能来自视觉定位误差、抓取后物体滑动、标定偏差、对齐阈值不合理,或控制器不适合接触过程。只看最终失败视频,未必能够准确归因。
如果一次修改多个模块,即使性能变好,也难以判断真正原因。小步修改、单独验证与必要的回归测试,会直接影响搜索效率。
4).双-系统协作需要解决“什么时候接管”的问题。
高层规划正确,并不意味着执行过程中不会发生意外。需要明确:
System 1 遇到什么情况应继续局部恢复?
什么情况应请求 System 2 重新规划?
什么情况应停止当前技能?
System 2 正在推理时,System 1 如何处理新的变化?
网页描述了观察反馈与反思循环,但没有充分给出这些调度规则。因而,它目前展示的“双系统”更像清楚的架构原则,实时协作机制仍需要实现和实验细节支持。
5).“程序越来越好”与“越来越善于改进程序”仍需分别验证。
公式中的Improve_A_k 暗示当前智能体参与产生自己的下一代,具有递归结构。
但要支持更强的递归自我改进主张,应证明新一代不仅任务执行更好,也更善于提出有效修改、筛掉无效候选,或用更少预算解决新任务。
最关键的对照是:固定同一个改进器持续优化任务程序,与允许改进器的工作方式一起变化,比较二者在未见任务上的改进效率。
9 总结
首先,让机器人把执行经验转化成可验证、可复用的程序,具有明确的工程价值;“递归自我改进”这一更强主张,则需要独立测试、严格对照和改进效率的证据。
其次, 其关键贡献是:它把双系统分工、可执行技能、状态管理和环境选择组织成一个可以继承的闭环。 更强的“协同进化”“开放世界泛化”和“递归改进能力提升”,则还需要更完整的实现披露与针对性实验来支撑。