I benchmarked a vision-language model and scored it at 0.31.

The real number was 0.70. Same model, same weights, same hardware, same 100 questions. The only thing that changed was how I read its output.

I had already written up the 0.31 as a capability finding and concluded the model was unsuitable. That conclusion was wrong, and the failure was entirely in my harness. Here is the mistake, because I doubt I am the only one making it.

The setup

I was evaluating a batch of open-weight and frontier models on a multiple-choice benchmark: multi-view driving scenes, four options per question, one correct answer. Standard stuff. The prompt asked for reasoning followed by a final line, Answer: X.