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.

How would you know that a change to the scout made it better?

After day 6, the obvious move is to open the prompt and start fixing: “always read the full text”, “retrieval practice doesn’t count”. That might fix day 6. It might also break day 5, and I’d have no way of noticing, because I’d be judging each change by whichever example I happened to look at last.

So this chapter doesn’t touch the scout at all. It does the two things I should have done before writing any prompt: decide exactly what the first version is for, and collect examples where I already know the right answer. It’s the least exciting chapter in the course. Every chapter after it depends on it.

Chapter 4 of 12 · Continuous Development

Where we left off: The scout can act, and we have an autonomy dial, but no way to know when it’s safe to turn it up.

What we fix now: Start building on purpose: pick the narrowest useful first version, write down exactly what it may and may not do, and label a small set of papers with the right answers.

By the end, you can:

  • explain why the first version starts at the lowest autonomy setting

  • write a scope for v1, including the actions it must never take, and a guideline that decides edge cases

  • label papers yourself and see exactly where your judgment and the reference disagree

Two halves: build, then calibrate

From here on I follow the CC/CD lifecycle from Aishwarya Reganti and Kiriti Badam’s article Why your AI product needs a different development lifecycle (Lenny’s Newsletter). Chapters 4 to 9 follow its steps. The explanations and the scout are mine.

  • Continuous Development (Chapters 4 to 6): decide what the scout should do, build exactly that, measure it on examples with known answers, and ship it at low autonomy.

  • Continuous Calibration (Chapters 7 to 10): watch it on real use, find patterns in its mistakes, fix them, measure again. The scout only moves up the dial when the numbers hold.

Both halves are called continuous because a system that makes judgments keeps meeting inputs nobody planned for. You don’t finish it. At best, it gets quieter.

The fix, part 1: scope v1 narrowly

The narrowest version of the scout that’s still useful is the suggest setting from Chapter 3: it reads papers and suggests which ones to read, with a reason. It never publishes, never emails, never changes anything. I make every real decision.

I start this low on purpose. At “suggest” a mistake costs me a few seconds, so I can watch the scout’s mistakes happen instead of cleaning up after them. And a narrow job is easy to check: each paper gets one verdict, suggest or skip, that I can compare with the right answer.

That changes one design choice. In Chapter 3 the scout picked one paper per day. v1 gives every paper its own verdict, so every paper can be checked, including the ones it passes over. Here’s the scope as code, so the next chapter can enforce it:

The fix, part 2: a guideline for the hard cases

“Papers about RAG, or about making language models answer from documents” sounded clear in Chapter 2. It stops being clear the moment you label real papers. Is a paper about dense retrieval for product search relevant? It’s retrieval, but no language model writes anything. What about code completion with repository context? No documents in the usual sense, but the model writes code from files it was handed.

You can’t label those consistently without deciding, and writing the decision down. That’s a labeling guideline. Here’s ours:

I didn’t write these five rules in advance. Each one came from a paper I couldn’t decide on: I made a call, then wrote it down so I’d make the same call next time. The product-search rule came from P11, the psychology rule from P03. Writing the guideline is mostly finding out what I actually meant by my interest.

The data: one week of papers

Below is the dataset the rest of the course uses: 24 papers across three days. Like the papers in earlier chapters, they’re made up for this course, and I wrote several of them as traps: papers that use the word “retrieval” for something else, and relevant papers whose abstract hides the method. I kept the set to 24 so you can read every paper. A small set I know well is more useful here than 200 I’ve skimmed. Each one has a title, an abstract, a short full text, and a reference label: True if it’s relevant under the guideline.

Ten of the 24 are relevant. Most are obvious either way; nobody needs a guideline for protein folding. The few in the middle are the ones the scout will struggle with too.

Your turn: label the hard ones

Here are six papers where the right answer depends on the guideline. Before you look at the reference labels, decide each one yourself.

P09 and P17 look irrelevant from the abstract alone; the full text settles both. If I needed the full text to label a paper, the scout will probably need it too. Keep an eye on those two.

One more check. Some gaps in a dataset only show up when you count:

Every day has at least three relevant papers, so the dataset never tests a quiet day where the right answer is “skip everything”. I’m leaving that gap in on purpose. Every first dataset has gaps like this, and I’d rather you see one than pretend this one is complete.

Three of the five don’t fit. recommend and nothing_today make one decision per day, while v1 needs a verdict per paper. And publish_summary is exactly what the scope says v1 must never do.

So far the scope is a document and the dataset is a list. Next chapter, v1 gets built to match the scope, with the “never” list enforced in code rather than requested in the prompt.

Quick check

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

  1. Why does v1 start at the “suggest” setting instead of “draft” or “act”?

Check your reasoning ▸

A strong answer says a mistake at “suggest” costs a few seconds of your time, so you can afford to watch mistakes happen and learn from them. At higher settings mistakes reach other people before you see them. Starting low is what lets you collect evidence safely.

  1. Chapter 3’s scout picked one paper per day. Why does v1 give every paper its own verdict?

Check your reasoning ▸

Because only per-paper verdicts can be checked against per-paper labels. With one pick per day, you’d never learn what the scout thought of the other papers, including relevant ones it silently passed over. The scope is shaped by what you need to measure.

  1. Where did the guideline’s “NOT RELEVANT: retrieval with no language model writing from the results” rule come from, and why write it down at all?

Check your reasoning ▸

It came from hitting a paper like P11 (product search) that the one-sentence interest didn’t settle. Writing it down means you, a colleague, or a judge model will make the same call every time. Without it, labels drift, and a score measured against drifting labels doesn’t mean much.

  1. You needed the full text to label P09 and P17 correctly. What does that suggest about how the scout should handle them?

Check your reasoning ▸

That the scout will probably need to read the full text too, and that a scout which decides from abstracts alone is likely to get exactly these papers wrong. A good answer treats your own labeling experience as a prediction about where the scout will fail.

  1. The dataset has no day without relevant papers. Name one scout behavior this gap leaves untested, and one way to fix the gap.

Check your reasoning ▸

It never tests whether the scout can suggest nothing on a quiet day, instead of forcing a weak suggestion. You’d fix it by adding a day of papers that are all irrelevant under the guideline, labeled as such. A strong answer notes that you only find gaps like this by looking at the dataset as a whole, not paper by paper.


You can now: explain the build-then-calibrate lifecycle, write a narrow scope with an explicit “never” list, and label papers against a written guideline.

But one problem remains: the scope and the labels describe a scout that doesn’t exist yet, and the one we have from Chapter 3 can still publish. The next chapter builds v1 exactly to scope, with the forbidden actions removed in code, and records what it does on every run.

Next → Chapter 5: Set Up v1