Nia: So, let’s talk about that randomness. If I ask a model the same math problem five times, it might give me the right answer four times and get lost in the weeds once. That "random component" is another source of noise that can mess up our eval scores.
Eli: It really is. Anthropic breaks the score for any single question into two parts. First, there is the "mean score"—which is the average you’d get if you asked that same question an infinite number of times. That represents the model's "true" ability on that specific question. Then, there is the "random component"—the difference between a single answer and that true average.
Nia: It’s like if I’m a 70% free-throw shooter. My "mean score" is 0.7. But on any single shot, I either make it or I miss. The "random component" is the gap between my actual shot—1 or 0—and my 0.7 average.
Eli: That is a perfect way to put it. And because of the "law of total variance," if we can shrink that random component, we automatically shrink the standard error of the whole eval. We get a clearer picture of the model's actual skill.
Nia: So how do we do that? Do we just ask the model the same question over and over again?
Eli: Well, it depends on the "path" the model takes. If the eval uses "Chain of Thought" reasoning—where the model writes out its logic before giving a final answer—Anthropic recommends exactly that: resampling. You ask the question multiple times, maybe five or ten, and then you take the average of those attempts as the score for that question.
Nia: That makes sense. It smooths out those "oops" moments where the model just took a wrong turn in its reasoning. I noticed they mentioned that the "Inspect" framework—which is an open-source tool for evals—already handles this through something called an "epochs" parameter. It’s nice to see these theoretical recommendations already being baked into the tools people use.
Eli: It really helps with the "path dependency" problem. But what if the model isn't doing Chain of Thought? What if it’s just a multiple-choice question where the model just outputs "A", "B", or "C"?
Nia: Do you still need to resample then? That seems like it would be a lot of extra compute for the same result.
Eli: You actually don't! And this is one of my favorite "pro tips" from the paper. If the model is giving a direct answer, you can often eliminate the random component entirely by looking at the "next-token probabilities."
Nia: Wait, explain that. How does looking at the probability replace the need for multiple runs?
Eli: Think about it this way: instead of making the model pick one answer and seeing if it’s right, you look under the hood at how "confident" the model was in each choice. If the correct answer is "B," and the model’s internal probability for "B" was 0.85, you just record 0.85 as the score for that question. You don't need to actually "roll the dice" and let the model generate a token. You are directly measuring its internal state.
Nia: Oh, that’s brilliant! It’s like instead of asking the 70% free-throw shooter to actually shoot, you just look at their "skill stat" and write down 0.7. You get the perfect average instantly without any of the "luck" of the actual shot.
Eli: Exactly! It’s way more efficient and it totally removes that layer of noise. Interestingly, Anthropic noted that they aren't aware of any major open-source eval frameworks that actually implement this technique yet. It’s a huge opportunity for the community to get much more precise data with less work.
Nia: It’s funny how we often treat these models like humans—we want to see them "take the test"—when they are actually these probabilistic engines that we can probe directly. Using the probabilities feels like using the model’s "true" voice.
Eli: It really does. But even if we do all this—if we cluster our errors and we use probabilities to reduce noise—we still have the problem of comparing two models. And that’s where things get really interesting, because models tend to have some "hidden" similarities that we can use to our advantage.