ScatterAI
Issue #3 · 2026年3月13日

将代码作为中间表示可将 VLM 空间推理能力提高 68.8%

Research

背景

像 GPT-4o 或 Claude 3.5 Sonnet 这样的视觉语言模型 (VLM) 经常在精确的空间推理任务中挣扎——例如“杯子相对于盘子在哪里?”或“椅子左侧有多少个物体?”。虽然它们可以流利地描述图像,但内部坐标系通常是模糊的,导致在处理复杂场景时出现布局错误。

他们发现了什么

“CoCo”(代码调节)研究表明,在回答空间问题之前,要求 VLM 生成代码(如 SVG 或 Python 坐标映射)作为中间“草稿本”步骤,可将性能提高惊人的 68.8%。通过强制模型用正式语言表达关系,减轻了自然语言固有的空间模糊性。

如何运作

CoCo 提示词不再直接问“球在箱子里吗?”,而是指令模型首先“编写一个 Python 字典,将所有物体映射到其估计的边界框”,然后“检查球的坐标是否在箱子的坐标范围内”。这个两步过程利用了模型强大的代码生成能力来创建场景的显式心理模型,进约束并指导最终的自然语言答案。

为什么重要

这揭示了 VLM 中的“推理”对所使用的表示格式高度敏感。代码起到了脚手架的作用,强制执行逻辑和几何一致性。对于构建机器人或 UI 自动化 Agent 的开发者来说,这提供了一个实用的“提示词原语”:永远不要让 VLM 直接推理空间;始终让它先对场景进行编码。