AnyLearn
All lessons
AIintermediate

What This Teaches About Measuring Anything

The exchange is a case study with transferable rules. A conclusion resting on failures needs a failure taxonomy. Every instance must be verified solvable before anyone is scored against it. Output format is a confound whenever answers get long. And when two explanations fit the same data, the productive move is to find the prediction on which they differ, then test it.

Updated · AI-authored, review-gated · how lessons are made

Not signed in: your progress and quiz score won't be saved.
Progress1 / 8

The asymmetry between passes and failures

The first rule from this exchange applies to every evaluation, and it is about which direction a result points.

A pass is fairly informative. A model produced a correct answer, and although it may have got there by memorisation, the output was right.

A failure is barely informative on its own, because everything that is not a pass lands in the same bucket. The model reasoned wrongly. It reasoned correctly and was cut off. It refused. It answered in a format the parser rejected. It timed out. It correctly identified the problem as unsolvable. The task was impossible.

All of those produce a zero. The evaluation records one number for seven situations.

That asymmetry decides how much scrutiny a result needs. An evaluation whose headline is a high pass rate can survive a crude failure bucket. An evaluation whose headline is a collapse to zero cannot, because the entire claim rests on which of those seven situations occurred.

So the rule is simple. If your conclusion is about failures, you need a failure taxonomy. If you do not have one, you do not have the result.

Full lesson text

All 8 steps on one page, for reading, reference, and search.

Show

1. The asymmetry between passes and failures

The first rule from this exchange applies to every evaluation, and it is about which direction a result points.

A pass is fairly informative. A model produced a correct answer, and although it may have got there by memorisation, the output was right.

A failure is barely informative on its own, because everything that is not a pass lands in the same bucket. The model reasoned wrongly. It reasoned correctly and was cut off. It refused. It answered in a format the parser rejected. It timed out. It correctly identified the problem as unsolvable. The task was impossible.

All of those produce a zero. The evaluation records one number for seven situations.

That asymmetry decides how much scrutiny a result needs. An evaluation whose headline is a high pass rate can survive a crude failure bucket. An evaluation whose headline is a collapse to zero cannot, because the entire claim rests on which of those seven situations occurred.

So the rule is simple. If your conclusion is about failures, you need a failure taxonomy. If you do not have one, you do not have the result.

2. Building the taxonomy

A failure taxonomy is not elaborate. It is a handful of categories recorded alongside each zero, and the categories are mostly the same across domains.

Refused or declined. The model said it would not or could not, which is a different thing from getting it wrong.

Truncated. The response hit a length limit. Detectable from the finish reason and from whether the output ends mid-structure.

Malformed. The answer may be correct and the parser could not read it. Detectable by having a human read a sample of these.

Wrong. The model produced a complete, parseable answer that was incorrect. This is the only category that supports a claim about capability.

Invalid task. The instance had no correct answer, or the correct answer was not what the key said.

Recording these costs almost nothing at evaluation time and is impossible to reconstruct afterwards from stored scores. And the distribution across categories is often more informative than the pass rate. A model failing entirely through truncation and a model failing entirely through wrong answers have the same score and completely different problems.

3. Verify the instances before scoring anyone

The unsolvable-instance failure is the most embarrassing and the easiest to prevent, and it happens because generated evaluations are generated by programs.

When instances are written by hand, someone solved each one while writing it, so unsolvable items are rare. When instances are generated by sampling parameters, nothing guarantees each combination admits a solution, and the more constraints a puzzle has the more likely some combinations are contradictory.

The prevention is a solver. Before any model sees the evaluation, run every instance through a reference solver and discard those with no solution. If no solver exists, the instances need human verification, and if neither is feasible, the evaluation cannot support conclusions about failures.

The same check catches a related problem: instances where the answer key is wrong. A reference solver that disagrees with the key on an instance has found a bug in one of them, and either way you want to know before scoring.

This generalises past puzzles. Any evaluation with generated items, templated questions, or automatically extracted answer keys needs the same pass, and most do not get one.

4. Output format is a confound

The deepest lesson is that how you require an answer to be expressed is part of what you are measuring, and it is rarely treated that way.

The original experiment asked for an enumerated move list. That choice made the answer length grow exponentially with problem size while the reasoning difficulty grew far more slowly. Past a point, the format demanded more output capacity than the model had, and the measurement stopped being about reasoning.

The rebuttal asked for a generating function. Same reasoning, constant-size answer, and the ceiling disappeared.

Neither format is correct in the abstract. They measure different things. Enumeration measures reasoning plus the ability to produce long exact sequences. A generating function measures reasoning plus the ability to express a procedure compactly. Which you want depends on the claim.

The error is not choosing a format. It is choosing one without noticing that it introduced a variable, and then attributing the resulting pattern entirely to the thing you meant to study.

The check is to ask whether the output requirement scales with problem difficulty. If it grows faster than the reasoning does, you are measuring two things at once.

5. Read the transcripts

One detail in this story deserves separating out, because it is the cheapest safeguard available and it was skipped.

The models said what was happening. Their outputs explicitly acknowledged that the full move list would be impractical to write out. The explanation for the collapse was sitting in the transcripts, in plain language, and the scoring pipeline recorded a zero and moved on.

That is what an automated evaluation does. It applies a scoring function and produces a number, and every piece of information in the response that the scoring function does not extract is discarded.

The safeguard is to read a sample by hand. Not all of them, and not systematically, but take twenty failures and read what the model actually said. It takes an hour and it catches the class of problem no amount of statistical care will find, because the problem is not in the statistics.

This holds for evaluations generally. Aggregate metrics are how you measure; reading outputs is how you find out whether you are measuring the right thing. Skipping the second because you have the first is how a result like this happens.

6. A checklist for a result about failures

Collecting the rules into an order gives a review procedure for any evaluation whose conclusion depends on things going wrong.

First, are all instances valid? Every item verified solvable, every answer key checked against a reference. If not, some portion of the failures is noise.

Second, is there a failure taxonomy? Refused, truncated, malformed, wrong, invalid task, recorded per item. If every failure is one bucket, the conclusion is underdetermined.

Third, does the output requirement scale with difficulty? If the answer gets longer faster than the problem gets harder, format is confounded with capability.

Fourth, has anyone read the failures? Twenty transcripts, by a human, looking for anything the scorer would not have captured.

Fifth, is there an alternative explanation, and does a cheap test separate it from yours?

Any evaluation passing all five supports a claim about failures. One failing the first two does not, regardless of how many items it ran or how careful the statistics are.

The last question is the one that turns criticism into progress, and it is the subject of the final step.

flowchart TD
A["A result that rests on failures"] --> B["Are all instances verified solvable?"]
B --> C["Is there a failure taxonomy per item?"]
C --> D["Does output length scale faster than difficulty?"]
D --> E["Has a human read a sample of failures?"]
E --> F["Is there an alternative explanation?"]
F --> G["Find the prediction where they differ, and test it"]
B --> H["If not: some failures are noise"]
C --> I["If not: the conclusion is underdetermined"]

7. The move that resolves disputes

The most valuable thing in this exchange is not any of the objections. It is what the rebuttal did with them.

It would have been easy to list the problems and conclude the result was unreliable. That is the usual shape of methodological criticism, and it produces a stalemate: one side has a finding, the other has doubts, and nothing settles it.

Instead the rebuttal identified where the two explanations made different predictions, designed a cheap experiment on that difference, and ran it. The generating-function test cost very little and produced an answer.

That is the move worth taking from this. When two explanations fit the same data, arguing about the data is unproductive, because the data is consistent with both. The question is what else they disagree about.

And this generalises far outside AI. Any time a metric moved and there are two stories about why, the useful step is to find something the two stories predict differently and go and look. It is almost always cheaper than the argument it replaces.

The habit is worth more than the conclusion.

8. Reading results in a contested field

The last thing to take from this is about consuming results rather than producing them, because most people encounter this work through a headline.

A strong claim arriving into a contested question gets used before it gets checked. Both sides of this one had a reading ready before anyone examined the methodology, and both readings spread widely.

The protective habits are not sophisticated.

Read what was measured, not what was concluded. The gap between them is where the interesting problems live, and it is usually visible in the setup section.

When a result is surprising, look for the boring explanation first. Systems have limits, evaluators have bugs, and formats have constraints, and any of those is likelier than a deep finding about cognition.

Check whether a response exists. This paper had one within weeks, and it was substantive.

And separate the claim from the evidence. Reasoning models may well have serious limitations. This experiment did not establish it, and those two statements are entirely compatible.

That last distinction is the one worth carrying, because it is the one headlines are least able to make.

Check your understanding

The lesson ends with a 5-question quiz. Take it in the player above to see your score.

  1. Why do results about failures need more scrutiny than results about passes?
    • Because failures are rarer and so noisier statistically
    • Because a pass shows a correct output, whereas everything that is not a pass lands in one bucket covering wrong answers, truncation, refusals, format errors and invalid tasks
    • Because passes are easier to verify automatically
    • Because models are optimised to avoid failures
  2. Which failure category is the only one that supports a claim about capability?
    • Truncated
    • Refused
    • Wrong: a complete, parseable answer that was incorrect
    • Malformed
  3. How are unsolvable instances prevented in a generated evaluation?
    • By running every instance through a reference solver before any model is scored, discarding those with no solution
    • By increasing the number of instances so bad ones average out
    • By having models flag instances they believe are impossible
    • By restricting generation to small problem sizes
  4. What is the test for whether output format is confounding a result?
    • Whether the format is JSON or free text
    • Whether the model was fine-tuned on that format
    • Whether human annotators can read the output
    • Whether the required output length grows faster with problem difficulty than the reasoning difficulty does
  5. What is the general move the rebuttal demonstrates for resolving disputes about results?
    • Accumulate enough methodological objections to render the result unreliable
    • Re-run the original experiment with more samples
    • Find a prediction on which the competing explanations differ, design a cheap test of it, and run it
    • Defer to whichever team has less commercial interest in the outcome

Related lessons

AI
advanced

Evaluating a Book Model Honestly

If your cost per round trip equals the move you are trying to capture, you need 100 percent directional accuracy to break even. This lesson computes that hurdle, replaces accuracy with metrics tied to a tradeable decision, and covers the capacity and latency limits that decide whether a real edge is worth anything.

10 steps·~15 min
AI
advanced

Why Reported Order Book Results Do Not Replicate

At a one-event horizon, 92 percent of mid-price labels are exactly no-change, so a model that always predicts flat scores 92 percent accuracy. This lesson computes that baseline across horizons and works through the four mechanisms that turn a genuine measurement into a number nobody can reproduce.

10 steps·~15 min
AI
intermediate

Bedrock: One Door to Many Models

Amazon Bedrock's pitch is that model choice becomes a configuration value instead of a rewrite. This lesson takes that claim apart: the four API dialects Bedrock exposes over the same models, what the unified Converse API actually normalises, what it cannot normalise, and the inference and governance machinery that decides cost and blast radius.

7 steps·~11 min
AI
intermediate

Feedback Loops: The Model Trains on Clicks It Caused

A deployed recommender chooses its own future training data: it shows items, users respond to what was shown, and those responses become the next model's ground truth. This lesson maps the loop's consequences, exposure bias, popularity compounding, narrowing candidate pools, explains why offline metrics reward imitation of the loop, and covers the exploration budget that keeps the system learning.

7 steps·~11 min