OpenVLHarness gives vision models tools and a memory, and seven models each gain about 10 points

1 hour ago

OpenVLHarness is a training-free harness for vision-language models: nine tools for finding objects, reading text, depth, camera motion, web search and Python code, with a memory that keeps every image, mask, depth map and link reusable for the whole question. Seven models score 9.7 to 12.6 points higher on the average over 22 benchmarks, and GPT-6 Luna at medium effort beats itself, Codex and Visual Sketchpad at maximum effort for at most 37% of their model-token cost. Crowded scenes with more than 25 objects remain hard, and tool costs are not counted. Paper (arXiv 2610.26860v1, 19 Oct 2026, UCLA and Apple): https://arxiv.org/abs/2610.26860 Code (MIT): https://github.com/uclanlp/OpenVLHarness

Ask

Ask about this presentation

Answers are generated from this presentation.

Chapters

  1. 0:00OpenVLHarness
  2. 0:18Gains on every model family
  3. 0:33Nine tools behind one interface
  4. 0:50Codex scored below the bare model
  5. 1:07Memory keeps every result usable
  6. 1:27More reasoning did not close the gap
  7. 1:44Where it still fails
  8. 2:02What running it takes
  9. 2:23Which model would you put inside it?
Show transcript

OpenVLHarness

AI Papers

OpenVLHarness gives vision models tools and a memory, and seven models each gain about 10 points

Yu Zhou, Cheng-Fu Yang, Rui Sun, Di Wu and colleagues · University of California, Los Angeles and Apple

Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · submitted 19 Oct 2026

OpenVLHarness wraps a vision model in tools for finding objects, reading text, measuring depth, searching the web and running code, and keeps every result on hand. With no retraining, seven models scored ten to thirteen points higher. It comes from UCLA and Apple.

Gains on every model family

010203The result

A small open model goes from a third of the answers right to nearly half

Average over 22 benchmarks, base model versus OpenVLHarness: Qwen3-VL 8B 34.2 to 45.4, Qwen3-VL 32B 38.3 to 50.9, Kimi K3 56.4 to 66.1, GPT-6 Luna 45.8 to 56.5, GPT-6 Sol 52.7 to 64.3, GPT-6 Astra 60.3 to 70.2
Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · Table 1, Table 7, Figure 1a · GPT-6 results are single runs

On Qwen3-VL-8B, the smallest model, the average across 22 benchmarks rises from about 34 to 45 out of 100. GPT-6 Astra goes from 60 to 70, and improves on all 22.

Nine tools behind one interface

010203How it works

Nine tools sit behind one interface, and each answers with a picture

Perceptionzoom, object finding, text reading, depth, camera motion
Searchweb text, reverse image search, page visits
Codea Python agent that computes over earlier results

Object finding returns an overlay, a count and the box coordinates.

Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · Section 2.1, Appendix C

Every tool is called the same way, so a backend such as SAM 3 can be swapped without changing the prompts. The tools cover perception, search and code. Results come back as something the model can look at, like a labelled overlay with box coordinates.

Codex scored below the bare model

010203How it works

Inside Codex, GPT-6 Luna scored lower than on its own

Luna alone
45.8
Luna in Codex
43.8
Luna in OpenVLHarness
56.5

22-benchmark average · medium reasoning effort

Codex ran with web search off, and ran code on 0.4% of questions.

Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · Table 2, Table 15, Appendix B.6

Codex is OpenAI's coding agent. With GPT-6 Luna at medium effort, Codex averaged two points below the bare model, and OpenVLHarness added about eleven. Codex ran with web search off, and ran code on fewer than one question in two hundred.

Memory keeps every result usable

010203How it works

Masks, depth maps and web links stay usable for the whole question

+3.1 and +4.5 points from keeping the images in memory, on Qwen3-VL 8B and 32B

Counting pills: grounding finds 134 pills and 72 round pills, code merges them, final output 139
Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · Figure 3c, Table 3

Every result is stored under a name that later steps can reuse. To count pills, the model searched for pills and for round pills, then merged the two sets of masks in code and got the exact count, 139. Keeping the images in memory, instead of text about them, added three to four and a half points.

More reasoning did not close the gap

010203How it works

Turning up the reasoning effort didn’t close the gap

GPT-6 Luna average score against cost per 1,000 questions across five reasoning efforts, alone and with Codex, Visual Sketchpad and OpenVLHarness
Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · Table 2, Figure 1c · model tokens only, tools not priced

More reasoning helps the bare model far less. At medium effort, OpenVLHarness beats Luna alone, Codex and Visual Sketchpad at their maximum effort by about eight points, for at most 37 percent of their token spend. Tool costs aren't included.

Where it still fails

010203The limits

Crowded scenes are still where it fails

More than 25 objectsmissed or merged detections; wrong tool output causes 75% of grounding failures
Low reasoning efforttrails bare GPT-6 Luna on general and spatial questions
A weaker model in chargeQwen2.5-VL-7B scores far below Qwen3-VL in the same harness
Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · Sections 3.3, 3.5, Appendix B.3

Past about 25 objects, the detector misses or merges them, and three quarters of the grounding failures are wrong tool results. At low effort, the harness trails the bare model on general and spatial questions. And an older, smaller Qwen gains much less.

What running it takes

010203The limits

Running it takes GPU services, a paid search key and an isolated machine

SAM 3, PaddleOCR-VL, Depth Anything 3each runs as its own GPU service
Serpera paid Google search API, with a free starter quota
Python agentruns generated code with your permissions and network access
github.com/uclanlp/OpenVLHarness · README, MIT license

The code is MIT licensed, with presets for the seven models tested. Object finding, text reading and depth each need their own GPU service, and search runs through Serper, a paid API. The Python agent runs generated code with your permissions, so give it an isolated machine.

Which model would you put inside it?

Which vision model would you put inside OpenVLHarness?

Paperarxiv.org/abs/2610.26860
Codegithub.com/uclanlp/OpenVLHarness
Zhou et al. · OpenVLHarness · arXiv 2610.26860v1 · github.com/uclanlp/OpenVLHarness

The harness, its tools and the evaluation scripts are on GitHub. Which vision model would you put inside it?