Skip to article frontmatterSkip to article content
Site not loading correctly?

This may be due to an incorrect BASE_URL configuration. See the MyST Documentation for reference.

v1 has been running for a week. Every morning it read the new papers, posted its suggestions, and wrote every verdict to its log. Nothing exploded, and it never published anything, because it can’t. I opened a few of its suggestions and ignored a couple that looked off.

That’s an impression, not a measurement. Chapter 6 said 0.80 and 0.80, on 24 papers I picked myself. This chapter checks what those numbers look like on the papers v1 actually met. It’s the start of Continuous Calibration, the second half of the course.

Chapter 7 of 12 · Continuous Calibration

Where we left off: v1 passed its eval and shipped at “suggest”, but the eval only covers papers we chose and labeled ourselves.

What we fix now: Measure v1 on its first real week: turn its log into something you can score, and compare the real numbers with the eval’s.

By the end, you can:

  • name three ways to get labels for real use, and what each one can’t see

  • score a real week from the log, including a problem the eval never measured

  • explain why a drop in the numbers doesn’t tell you what to fix

The fix: labels for real use

The eval worked because every paper had a label. Real use doesn’t come with labels, so they have to come from somewhere:

  1. Spot-check. Take papers from the log and label them yourself, with Chapter 4’s guideline. Slow, but the most trustworthy option, and the only one that sees both kinds of mistake: wrong suggestions and missed papers.

  2. Implicit signals. Record what you actually do: which suggestions you open, which you ignore. Free, but it only sees what v1 showed you. A missed paper never gets clicked.

  3. A judge model. A second model labels papers with the guideline. It scales, but then you need an eval for the judge. I left this out of the course on purpose; it doubles the number of things that can be wrong, and the scout is small enough that I can label by hand.

I’ll use a spot-check. v1’s first week has 20 entries, few enough to label all of them. With a busier feed I’d label a random sample, and there’s a cell below showing what that does to the numbers.

Look at the titles across the days. RAG for Clinical Guidelines shows up on Monday and again on Tuesday, the survey on Tuesday and Wednesday, the citations paper on Wednesday and Friday. Papers get re-posted, for example when authors upload a new version, and v1 doesn’t remember what it has already seen. My eval couldn’t have caught this: every paper in it was unique.

Now the spot-check. Below are the labels for the 17 unique papers, made with Chapter 4’s guideline. (Try labeling a few yourself before you read them: W03, W06, W11 and W17 are the interesting ones.)

That’s a real drop. On the papers it actually met, v1 got five of its eight suggestions right and found five of the eight relevant papers. Both are below the bar it had to clear to ship. It also suggested three papers I’d already been shown, which neither precision nor recall counts.

The eval wasn’t wrong. It measured 24 papers that I picked, and real use has more kinds of papers and more kinds of situations than I thought to include.

How many labels are enough?

We labeled everything. In practice you’d often label a sample, a day or two from a busy week. That saves time, but a small sample gives a jumpy number.

With only a handful of labeled papers, a single paper swings the number a lot. Labeling Friday alone gives precision 1.00 and recall 0.50, and labeling Thursday alone gives the reverse. Neither is “the” number. So: label enough papers, and watch the trend over several weeks instead of reacting to one small sample.

What about the free signal, the suggestions I actually opened? Say I opened the five good suggestions and ignored the three odd ones:

Clicks give a rough precision for free, which is useful for watching trends between spot-checks. They can’t see missed papers at all. W03, W11 and W17 were never on my screen, so nothing I clicked can reveal them. Only labeling does.

No threshold works. Lower it and v1 catches the missed papers but lets in more wrong ones. Raise it and the list gets cleaner but misses more. The threshold only moves the cut-off; it can’t change what v1 thinks of each paper.

Two numbers told me v1 got worse. They don’t tell me why. Is the prompt unclear? Is a tool missing? Is it deciding too fast? For that I have to open the individual mistakes.

Quick check

Before moving on, answer for yourself (no peeking ahead):

  1. Name the three ways to get labels for real use from this chapter, and one thing each of them can’t do well.

Check your reasoning ▸

Spot-checking is slow and doesn’t scale to every paper. Implicit signals like clicks only see what v1 showed you, so they can never reveal missed papers. A judge model scales, but you then need to evaluate the judge itself. A strong answer adds that spot-checks are the most trustworthy baseline to compare the others against.

  1. The eval said 0.80 and 0.80, the real week says 0.62 and 0.62. Was the eval wrong?

Check your reasoning ▸

Not wrong, just narrower than real use. It correctly measured v1 on the 24 papers we chose. Real use contains kinds of papers and situations (like repeats) that weren’t in those 24. A good answer says the eval is a starting estimate, and real-use measurement is what keeps it honest.

  1. Why don’t repeated suggestions show up in precision or recall?

Check your reasoning ▸

Because they’re counted per unique paper, and a repeated suggestion is correct each time: the paper really is relevant. The problem is a different one, wasting your attention on something you’ve already seen. A strong answer says every metric is blind to the problems it wasn’t designed to count, so you need to keep looking at the raw log too.

  1. You labeled only Friday and got a very different number from the full week. What does that tell you about sampling?

Check your reasoning ▸

That small samples are noisy: with few labeled papers, a single paper moves the estimate a lot. The answer isn’t to avoid sampling but to label enough papers and look at trends across weeks rather than trusting one small snapshot.

  1. No threshold got v1 over both bars. Why can’t the threshold fix this, and what would you look at instead?

Check your reasoning ▸

The threshold only decides where to cut v1’s confidences; it can’t change which papers v1 is confident about. If v1 is confidently wrong about some papers and unsure about good ones, no cut separates them. You’d look at the individual mistakes, their traces and reasons, to find what they have in common.


You can now: measure a shipped agent on real use with a spot-check, spot a problem the eval never counted, and explain why a noisy sample or a single threshold can mislead you.

But one problem remains: the numbers say v1 got worse in real use, but not why. The next chapter opens up the individual mistakes, reads their traces, and groups them into patterns you can actually fix.

Next → Chapter 8: Find Error Patterns