NVIDIA AI 推出 SpatialClaw:一种免训练代理,将代码作为空间推理的动作接口
SpatialClaw 是 NVIDIA 研究团队推出的一种免训练框架,通过将代码作为动作接口,让视觉语言模型在 20 个空间基准测试中平均准确率达到 59.9%,比现有方法 SpaceTools 高出 11.2 个百分点。
NVIDIA 研究团队近日发布了 SpatialClaw,一种无需训练的空间推理框架,旨在解决视觉语言模型在三维空间理解上的固有弱点。这些模型在判断物体位置、空间关系以及运动方式方面仍然存在困难。
SpatialClaw 不对模型进行微调,而是通过改变代理调用感知工具的动作接口来提升性能。研究团队认为,接口是瓶颈所在,而他们的解决方案是将代码作为动作接口。在 20 个基准测试中,SpatialClaw 的平均准确率达到 59.9%,比最近的智能体 SpaceTools 高出 11.2 个百分点。
SpatialClaw 是一个围绕有状态 Python 内核构建的代理循环。内核预加载了输入帧和一组原语,感知工具作为普通的 Python 可调用对象,其输出(包括掩码、深度图、相机几何和轨迹)都是普通的 Python 变量。该框架提供六个公共入口点:InputImages 保存采样帧,Metadata 包含帧率、时长和帧索引,tools 暴露感知和几何原语,show() 将图像嵌入代理的下一个上下文,vlm 将查询分派到独立的 VLM 会话,ReturnAnswer() 提交最终答案。
两个核心感知工具是 tools.Reconstruct(基于 Depth Anything 3 提供逐帧深度、相机内参、外参和密集点图)和 tools.SAM3(基于 SAM 3 通过文本、点或框提示生成图像或视频掩码)。此外,框架还包含轻量级工具:tools.Geometry、tools.Mask、tools.Time、tools.Graph 和 tools.Draw。
研究团队对比了三种动作接口:单次代码生成(一次性编写完整程序并运行,在中途无法修正)、结构化工具调用(通过固定 JSON 模式调用命名工具,无法自由组合输出)以及 SpatialClaw 的代码接口(逐步编写代码、检查结果、修正策略)。例如,在测量加热器与门最近距离时,单次代码可能错误使用质心距离,而 SpatialClaw 通过 scipy.spatial.KDTree 正确计算出 0.9439 米,接近真实值 0.9 米。
在基准测试中,SpatialClaw 在 6 种不同骨干模型(参数量从 26B 到 397B)上都取得了提升。在 Gemma4-31B 骨干上,无工具基线为 53.4%,单次代码为 55.2%,结构化工具调用为 56.7%,而 SpatialClaw 达到 59.9%。与 prior 方法相比,SpatialClaw 远超 VADAR(40.5%)、pySpatial(47.8%)和 SpaceTools-Toolshed(48.7%)。
动态任务上的提升最为显著:在 DSI-Bench 上提升 17.6 点,在 MindCube 上提升 15.3 点。通过 LLM 作为裁判的分析显示,代码组合贡献了 52.2% 的胜因,控制流贡献 19.5%,其余 28.3% 与接口无关。
每个样本运行一个五阶段循环:规划、代码生成、代码执行、反馈组装和答案提交。规划器在不看到图像的情况下起草策略,主代理每步编写一个 Python 单元格,静态 AST 检查器在执行前拒绝不安全代码。循环重复直至调用 ReturnAnswer() 或达到 30 步。项目代码已在 GitHub 开源,支持通过 vLLM 部署骨干模型,通过 FastAPI GPU 服务运行感知模块。
SpatialClaw 适用于需要逐步几何推理的任务,包括机器人技术、多视角检测、视频和 4D 分析以及室内场景问答。由于无需训练,团队可以直接在已部署的 VLM 上扩展功能,无需新数据或微调。研究团队指出,感知质量仍是进一步提升的瓶颈,且许可证为非商业用途。