SafeHarness:让「不要碰到障碍」真正进入代码智能体的规划与接触
代码智能体正在成为机器人操作的一条新路径:语言模型把控制器写成程序,由此构建的智能体无需机器人专门训练即可驱动机器人。但这条路径是否安全,此前无人追问。作者为每个操作任务配一个「绝不能触碰」的障碍物,发现智能体在大多数情况下仍然撞上障碍;它在推理轨迹中明确讨论了障碍,提示词也早已禁止触碰,因此问题既不在感知也不在指令,而在规划——这条约束从未成为优先事项。作者把操作拆成「路径阶段」与「接触时刻」两段来定位失效来源,并据此提出 SafeHarness:以障碍感知的路径规划(把物体落成包围盒,在其上把候选路径画成路点序列,先规划、再校验、必要时重规划、最后执行)与障碍感知的接触执行(选择接触位置,使接触本身避开障碍)两副外挂,让模型把安全约束排到前面。结果是 71.9% 的任务成功率与 87.5% 的避障率,分别比此前 SOTA 高 6.5 与 27.0 个百分点,也是同一智能体不加外挂时的 2.3 倍与 1.5 倍。
原文 · arXiv:2609.20822让语言模型把机器人控制器写成程序、由代码智能体直接驱动机器人,已经不再是演示视频里的特例,而是一条正在成形的技术路线:智能体不需要针对具体机器人做训练,就能完成任务。但这条路是否安全,此前没有人认真问过。
作者问的就是这个问题。他们给每个操作任务配上一个障碍物:智能体要完成操作目标,同时绝不能碰到它。结果是智能体在大多数情况下撞了上去。更关键的是失效位置——智能体的推理轨迹里明确讨论了障碍物,提示词里也早已写明不得触碰。所以问题既不在它没看见,也不在它没被告知,而在于这条约束从未成为规划中的优先事项:任务完成是它唯一的目标,安全约束只是一句不会被真正执行的附加条款。
核心创新
作者没有停在「模型不安全」这个结论上,而是把操作过程拆成两段,用来定位失效究竟发生在哪里:
- 路径阶段:模型既没有「清空路径」的概念,也没有「选定路径走不通时重新规划」的机制,因而无法让安全约束主导路径选择。
- 接触时刻:模型没有意识到接触执行同样受这条约束限制,接触点本身就可能落在障碍物上。
据此提出 SafeHarness,为模型配上两副障碍感知外挂:
- 障碍感知的路径规划:把物体落成包围盒,在包围盒之上把候选路径画成一条路点序列。智能体因此可以先规划路径、再校验、必要时重规划、最后才执行——「避障」从一个软性提示,变成了一组可以被检查的中间产物。
- 障碍感知的接触执行:反过来选择接触位置,让接触这个动作本身避开障碍,而不是事后补救。
这一设计的取向很清楚:不指望模型「更懂事」,而是把约束变成结构,让模型在结构里工作。
实验结果
- 71.9% 的任务成功率与 87.5% 的避障率。
- 相比此前 SOTA,两项分别高出 6.5 与 27.0 个百分点。
- 相比同一个智能体不加外挂,两项分别是其 2.3 倍与 1.5 倍。
值得留意的是这两项指标是同时上升的。避障率提升 27 个百分点而成功率也在涨,说明作者解决的主要是碰撞问题,而不是用「不敢动」来换取「不碰撞」。
局限性
摘要没有说明实验在仿真还是真实机器人上完成,也没有交代所用的底层模型、任务数量与场景复杂度,读者无法判断结论在真实产线上的可迁移性。障碍物被简化为包围盒,这一表示对规整的凸几何体成立,但面对可变形物体、悬挂物或需要精细穿插的拥挤场景是否仍然有效,摘要未给出证据。外挂带来的额外开销与推理延迟同样未报告——如果每步都需要额外的规划与校验,实时性可能成为部署门槛。此外,摘要缺少失败案例分析:那 28.1% 未完成与 12.5% 仍然碰撞的情况分别源于什么,读者无从判断瓶颈在规划、感知还是执行。
行业影响
对于打算把「大模型写控制器」引入有人环境或产线的团队,这篇工作给出的最有价值的信息不是某个数字,而是一条工程结论:把安全约束写进提示词,不等于约束被执行。约束必须被降格为规划器可以操作的对象——包围盒、路点、候选路径、可校验的中间产物——才有机会真正生效。它还提供了一个可复用的拆分方式:长程自由空间运动交给「先规划、后校验、再执行」的路径层,风险最高的接触时刻交给专门的约束选择逻辑。在安全合规本身就是部署前置条件的场景里,这种「约束外挂」很可能比再训一个更大的模型更早可用,也更容易向监管方解释。