模型“看见”却无法“精确处理”的短板
过去一年,多模态大模型在代码任务上的表现突飞猛进,已能媲美资深开发者。然而,在基础视觉理解任务上,其可靠性远未达到同等水平。
UniPat AI 此前发布的多模态基准测试 BabyVision 揭示了这一现象:模型常能给出长篇推理,却在最基础的计量、计数和空间关系判断上出错。该基准已被多个重要模型的技术报告引用,凸显了社区对此问题的关注。
深入分析错误案例,核心问题在于 “模型感知了,却无法精确处理”:
* 阅读柱状图时,能感知“大约75%”,但无法精确计算比值。
* 在复杂场景中计数时,可能识别了所有物体,却在逐一清点时出错。
* 描述空间位置时,能给出定性判断,但难以稳定进行距离计算和几何推理。
面对类似问题,人类会自然地借助工具:画辅助线、做标记、用尺测量、用笔计算。这引出了一个关键设想:既然模型极其擅长编程,能否让它用代码——这个它最熟悉的工具——来弥补视觉处理中的精度短板?
SWE-Vision 正是对这一设想的系统性实践。
五大视觉基准测试结果
SWE-Vision 在涵盖基础感知、图表推理、数学问题解决、空间理解和复杂多步骤视觉挑战的五个不同基准测试中,均显著改进了如 GPT-5.2-xhigh 和 Seed-2.0-Pro 等前沿大模型,取得了最先进的结果:
- BabyVision: 64.4
- MathVision: 94.0
- Zero-Bench-Sub: 50.1
- OmniSpatial: 69.0
- CharXiv-RQ: 82.5
SWE-Vision 是什么:一个“极简视觉智能体”框架
SWE-Vision 的核心思想并非堆砌专用视觉工具,而是将能力压缩至极简,让模型使用其最熟悉的编程语言来处理视觉不确定性。
工具层:仅保留两个核心工具
在 config.py 中,只定义了 execute_code 和 finish 两个工具:
* execute_code:允许模型在一个状态持久化的 Jupyter 环境中执行 Python 代码。
* finish:当模型确信答案正确时,输出最终结果。
关键在于工具接口的极简与通用。SWE-Vision 没有提供大量专用视觉 API,只暴露一个模型本就精通的指令:写 Python 代码。
控制层:标准的智能体循环
agent.py 中的 VLMToolCallAgent 实现了完整的工作循环:
1. 将用户问题和图像组织成消息。
2. 调用支持工具使用的模型接口。
3. 若模型调用 execute_code,则将代码发送至 Notebook 内核执行。
4. 将执行结果(数值、错误信息或可视化图像)作为工具消息返回给模型。
5. 模型据此决定继续调用工具还是通过 finish 结束。
框架默认 tool_choice="auto",并支持推理模式。在该模式下,会将推理强度设为高档,并允许最多 100 轮迭代。
执行层:Docker 容器中的持久化 Jupyter 内核
kernel.py 并非简单地执行一段代码,而是启动一个 Docker 容器,并在其中拉起一个 ipykernel。主机通过 jupyter_client.BlockingKernelClient 连接此内核,并从 IOPub/shell 通道收集执行结果。
内核是持久化的,变量、导入的库、图像对象和中间结果都能在多次 execute_code 调用间保留。同时,代码运行在隔离的 Docker 环境中,主机与容器通过挂载目录交换文件。kernel.py 还会在启动后进行健康检查,并将 matplotlib 后端配置为 inline,以便捕获生成的图像。
简而言之,SWE-Vision 不强迫模型对每个问题都写代码,但为它提供了一个随时可用且状态连贯的“视觉计算实验室”。
工作流程:从看图推理到带图循环验证
SWE-Vision 的工作流如同一个会看图的数据科学家:
1. 输入:用户提供问题与图像。
2. 思考:模型先判断能否直接回答,是否需要计算或验证。
3. 执行:若需要,则调用 execute_code,在 Notebook 中使用 PIL、NumPy、matplotlib 等库进行分析。
4. 反馈:代码执行结果(数值、报错或可视化图)回流给模型。
5. 迭代:模型基于反馈继续分析,直至调用 finish 给出最终答案。
关键设计
- 有状态的执行环境:变量、导入、加载的图像均可跨多次调用保留,支持复杂的分步分析。
- Docker 沙箱:确保安全可控的执行环境与结果可复现性。
- 图像输入与输出:模型不仅能读取输入图像,还能将自己生成的可视化结果(如绘制的辅助线)回传给自己进行验证,这是实现自我纠错的关键。
- 标准工具调用接口:采用 OpenAI Function Calling 标准,保证了与主流模型的开箱即用兼容性。
这套设计的核心价值在于:允许模型像真正的科学家一样,先做实验,再下结论。
为何持久化内核比一次性代码执行器更关键?
初看 SWE-Vision,可能认为它只是在视觉语言模型外加了一个 Python 工具。真正的区别在于 “状态持久化”。
在 SWE-Vision 中,内核状态在多次工具调用间得以保留。这使得模型可以像人类分析师一样进行分步、迭代式工作:
1. 第一轮:读取图像,检查尺寸。
2. 第二轮:裁剪局部区域,观察边缘。
3. 第三轮:统计颜色或测量距离。
4. 第四轮:绘制辅助线进行确认。
5. 最后:综合所有分析结果生成答案。
如果每次代码执行都是无状态的,这种多步分析会变得异常笨重:每一步都需要重新导入库、加载图像、重建变量,模型也更难维护和迭代中间假设。
SWE-Vision 通过持久化内核,将“多轮工具调用”转变为了“同一个 Notebook 会话中的连续实验”。从工程实现上看,这也是它能有效处理图表测量、空间关系和复杂多步骤视觉任务,而不仅仅是进行一次性 OCR 或物体检测的原因。
核心突破:让 AI 学会“验证自己的视觉判断”
SWE-Vision 在“观察科学图表并总结规律”的任务中,展现了一种全新的行为模式。以下图为例,任务要求判断在 Quarters=15 时,哪张子图中红色虚线与黑色实线的差距最大。
SWE-Vision 智能体给出了一套严谨且可验证的解决方案:
1. 筛选:首先排除不含红色虚线的子图 (d)。
2. 定位:在每张候选子图的 Quarters=15 处精确绘制垂直辅助线,定位红、黑两条曲线的交点。
3. 计算:通过执行代码,精确计算两条曲线在该位置的数值差。
4. 决策:基于计算结果,给出最终答案。
这种方法的核心在于,模型不再仅仅依赖“直觉”或“粗略估计”进行视觉判断,而是能够主动掏出“Python 尺子”进行自我验证,将模糊的感知转化为精确的、可复现的计算过程。这正是 SWE-Vision 攻克多模态模型视觉短板的关键所在。
这种“先结构化分析、再程序化测量、最后数值验证”的思维与行动闭环,与传统视觉语言模型依赖直觉式“观察”直接给出答案的方式形成鲜明对比。它不仅显著提升了结果的可靠性与可解释性,也展示出更高的能力上限与更强的泛化潜力。

为什么极简设计反而更强
SWE-Vision的一个重要结论是:为视觉任务引入通用代码工具,是提升前沿多模态模型视觉能力的一个有效的测试时扩展方向。
其有效性恰恰源于设计的极简性:
- 工具数量少:决策边界清晰。
- 语义一致:工具语义与模型已有能力高度一致。
- 支持迭代:支持多轮交互和状态积累。
- 结果可观察:中间结果可被再次审视,而非一次性返回文本。
- 通用性强:不绑定特定基准测试的专用手工策略。
这与许多“为某类视觉任务单独设计一套工具接口”的方法不同。后者往往在特定窄任务上有效,但泛化性不足。而SWE-Vision的目标,是提供一个尽可能通用的视觉增强框架,让模型自主决定何时调用代码、如何组织分析步骤。
五大基准全线提升:更通用的“视觉能力增强器”
SWE-Vision在五个覆盖面广泛的视觉基准(基础感知、图表理解、数学推理、空间关系、综合多步推理)上进行了评测,核心发现高度一致:引入代码执行能力,能系统性地提升前沿模型的视觉表现上限。
对比实验显示,SWE-Vision为两个前沿视觉语言模型均带来了显著提升:


一个“反直觉”的发现是:提升幅度最大的,往往并非最复杂的高阶推理任务,而是最基础的感知和精确处理能力——例如计数、颜色识别和空间关系判断。这类任务人类可凭直觉与简单工具稳定完成,而模型仅依赖“语言化视觉”则极易忽略细节、出现计数错误且缺乏验证手段。
SWE-Vision的结果揭示了另一种可能:对于视觉任务,测试时扩展不一定只能依赖“多进行几步文本推理”,也可以通过“多写几行代码”来实现更精细的观察与分析。
未来展望:“代码增强视觉”成为智能体原生能力
与传统多模态大模型训练所使用的“问题-图片-答案”三元组数据不同,训练视觉智能体模型需要多模态交错的智能体行为轨迹。它还需要一个支持强化学习、工具使用与评估的交互式环境,使模型不仅能学习回答问题,更能学习感知、行动与反思。
要彻底释放“工具增强视觉”的潜力,模型需要更多深度交织的视觉-编程监督微调/强化学习数据与环境,以学会感知、行动和反思。具体而言,下一步的关键方向包括:
- 时机判断:学会识别何时需要代码辅助进行视觉推理,何时可直接回答。
- 中间验证:在多步推理过程中主动检验中间结果的正确性。
- 失败恢复:在代码方案无效时及时跳出,并切换到替代策略。
- 原生融合:让“观察”与“计算”深度融合,成为一体两面的统一过程。
SWE-Vision的开源代码已在GitHub发布。编程辅助的精确视觉理解是一个值得社区共同探索的方向——一个五百行代码的极简框架,或许是这段旅程一个不错的起点。
关注“鲸栖”小程序,掌握最新AI资讯
本文来自网络搜集,不代表鲸林向海立场,如有侵权,联系删除。转载请注明出处:https://www.itsolotime.com/archives/25886


