UCLA 与 Apple 开源 OpenVLHarness:不改一权重,把任意多模态模型变成会看证据的视觉推理器

10 月下旬,UCLA NLP 团队联合 Apple 研究人员开源了 OpenVLHarness——一个"训练无关"(training-free)的多模态推理框架。它的口号很直接:把任意多模态大语言模型(MLLM)变成"基于证据的视觉推理器,能在视觉空间里思考并写代码"。论文《OpenVLHarness: Real World Visual Agentic Tool-Use with Multimodal Memory》已于 10 月 19 日提交 arXiv(编号 2610.26860),代码以 MIT 协议在 GitHub(uclanlp/OpenVLHarness)公开,目前约 250 星,同时提供了 Hugging Face 演示与评测数据集,项目主页为 openvlharness.github.io。

痛点:MLLM 不擅长"精确看"

传统多模态模型在开放问答上表现不错,但一旦涉及精确的视觉推理——数清楚画面里有几个物体、判断空间关系、做网络取证、对照真实世界验证答案——往往力不从心。问题不在于模型"不够大",而在于它缺一套把"看"和"算"连起来的机制。

OpenVLHarness 的解法是:不微调、不训新权重,直接借助骨干模型原生的工具调用能力,给它配上一套可寻址的视觉工具与记忆。论文强调:"通过原生工具调用复用骨干模型已有权重,没有任何东西被微调。"

核心循环:选工具、看证据、再决策

整个推理是一个闭环:模型自己选择工具 → 查看工具返回的证据 → 继续推理,直到能回答为止。框架由三大组件构成:

  1. 能力层(Capability layer):九个任务级接口把工具输出转成可读观察(标注图、摘要、紧凑数值);
  2. 多模态记忆(Multimodal Memory):图像、结构化数据、网络引用在整个问题过程中保持可寻址,每个新问题从空白记忆开始;
  3. Python 编码代理(Python Coding Agent):骨干模型在独立上下文里写代码,对存下来的边界框、掩码、深度图等工具结果做计算——也就是"在视觉空间里思考并编码"。

九种工具,覆盖"看—搜—算"

默认后端已经接好一整套工具链:

  • Visual Grounding(定位物体):SAM 3,返回框、掩码、标注图;
  • OCR(读图中文字):PaddleOCR-VL;
  • Depth Estimation(逐像素深度):Depth Anything 3;
  • Camera Trajectory(相机位姿):Depth Anything 3;
  • Zoom-in(裁剪细看):内置图像处理;
  • Text Search(网页/新闻检索):Serper + Qwen;
  • Image Search(反向图搜):Serper Lens + Qwen;
  • Webpage Visit(网页取证):Serper scrape + Qwen;
  • Python Coding Agent(计算):骨干模型 + 本地 Python。

辅助模型统一用 Qwen3-VL-8B-Instruct 来做多模态搜索的摘要与网页提取,和主模型解耦。一个典型流程是:先定位物体 → 估计深度 → 计算空间关系;或者裁剪陌生物体 → 反向图搜 → 网页验证答案。

实测:22 个基准平均涨 10 分上下

在覆盖"计数与定位、多模态搜索、通用 VQA 与幻觉、空间理解"四大领域的 22 个基准上,7 个骨干模型平均提升 9.7 到 12.6 分。论文 Table 1 的具体数字:

  • Qwen3-VL-8B:34.24 → 45.41(+11.17)
  • Qwen3-VL-32B:38.30 → 50.92(+12.62)
  • Kimi K3(max effort):56.43 → 66.09(+9.66)
  • GPT-5(medium):44.37 → 55.65(+11.28)
  • GPT-6 Luna(medium):45.76 → 56.52(+10.76)
  • GPT-6 Sol(medium):52.67 → 64.31(+11.64)
  • GPT-6 Astra(medium):60.27 → 70.17(+9.90)

值得注意的是,提升是"普惠"的:从 8B 小模型到 GPT-6 Astra 这样的顶级闭源模型,都能白嫖一截。框架已内置 7 个论文预设,并支持从 Qwen3-VL 2B 到 235B-A22B、OpenAI GPT-5 到 GPT-6.1、Kimi K3 等一整条模型矩阵。

怎么用 & 注意事项

安装只需 pip install -e '.[qwen,server]' 并配好一组环境变量(模型地址、SAM3/OCR/Depth 服务、Serper Key 等),既可用 Python API 一句 agent.generate(...) 拿到预测与完整推理轨迹,也能起一个本地服务做批量评测。

需要提醒的是:编码工具会在代理主机子进程里直接执行生成的 Python,没有沙箱,务必在隔离环境里跑。

意义

OpenVLHarness 的价值不在于又训了一个更大的模型,而是给出了一套"即插即用"的视觉推理增强范式:你的模型不用动,套上这套 harness 就能从"凭感觉看图"升级成"拿证据说话"。对落地来说,这意味着更低的改造成本和更可控的推理过程——尤其适合需要可解释、可追溯视觉决策的场景。