Evaluating AI Systems Across Usage Contexts
An aggregate metric drop cannot by itself tell you whether a regression is systemic or confined to one slice of input.
A Dashboard Line That Keeps Sliding
Imagine a dashboard that summarizes how well an AI system is doing. One line on it starts sliding downward over several weeks. The natural first question is whether the whole system got worse. The second question is harder: if it did not get worse everywhere, where did the damage actually happen? A single average cannot answer that by itself. It compresses thousands of individual outputs into one figure, and that compression is exactly what can make a localized problem look like a broad one.
This article follows one real diagnostic situation from the source. A quality signal had moved, and the team needed to decide whether the system had regressed across the board or whether something narrower was responsible. The method that resolved it was not a new model or a rewritten prompt. It was a disciplined habit of going back to individual traces and reading them. The goal is to understand that habit well enough to apply it yourself, and to recognize the trap it helps you avoid.
Why One Average Hides Its Source
A regression is a measurable decline in how a system performs compared with an earlier state. When the decline appears in an aggregate number, there are two very different explanations. In the first, every category of input got a little worse. That pattern suggests a systemic cause, such as a change to a shared model or a shared prompt. In the second, one category of input got much worse while the rest held steady. That pattern suggests something specific to that category. The aggregate can look identical in both cases, so it cannot tell you which story you are in.
The useful way to picture this is as a hierarchy. The overall score sits at the top, and beneath it sit the usage contexts that the score was built from. The overall number is a summary of those slices, so a drop in the top line can come from every slice moving a little or from one slice moving a lot. The diagram below shows the structure, using the two kinds of input named in the source case.
Single Specialty or Whole System
The source names the central pattern directly: a metric drift that was a single-specialty problem, masquerading as a systemic one. The word masquerading is the key. The symptom looked as if it came from the whole system, while the cause lived in one narrow slice of the work. Acting on the surface symptom, for example by retuning the entire system, would have spent effort in the wrong place and left the actual problem untouched.
The two patterns look different once you separate the slices. In a single-specialty drift, one slice falls sharply while the others hold steady. In a systemic drift, every slice falls by a comparable amount. Both can produce the same downward line on the dashboard, which is why you cannot decide between them from the total alone.
The figure is illustrative. It shows the shape of the two patterns, not measured values from the source. The practical lesson is that you must look at the slices, not just the total, before deciding what kind of problem you have.
Starting From Flagged Traces
A per-trace loop is the practice of working through the individual traces behind a metric, either one at a time or in a deliberately chosen sample, instead of staring at the aggregate. A trace is one recorded instance of the system handling an input and producing an output. Reading traces individually lets you see what the average was built from. You can notice that certain outputs share features, and then check whether those features line up with the category of input that produced them.
The starting point matters. In the source case, the team did not sample traces at random. They sampled forty traces that an inline judge had flagged as low confidence. Starting from flagged traces focuses attention on the outputs the system's own checks were already uneasy about. That makes the review faster and more informative than reading traces at random, because the flagged set is already enriched for the problem you are investigating.
The Per-Trace Loop, Step by Step
The loop is a sequence of narrowing steps. Each step asks a more specific question than the one before it, and the answer to the last question tells you where to look next. The source case followed this order: an aggregate drop was flagged, a sample of low-confidence traces was pulled, the traces were read, the findings were sorted by the input category they came from, and those categories were compared against what the system was built to handle.
The step that does the real narrowing is the sort. Reading traces tells you what the outputs look like. Sorting them by the input category they came from tells you where they came from. In the source case, the sort revealed that 33 of the 40 flagged traces came from one orthopedic clinic. That single fact turned a vague system-wide worry into a specific suspect.
Narrowing a regression with flagged traces
A quality line for an AI system has dropped over several weeks. The team has forty flagged low-confidence traces and needs to decide whether the regression is systemic or confined to one slice of input.
- 1Start from the aggregate
The overall line dropped. This alone cannot tell you whether the cause is systemic or scoped, so it is only the starting question.
- 2Read the flagged traces
Rather than reading random outputs, read the forty traces the system's own checks already flagged. Note the shape of each output and whether it fits the setting it was read in.
- 3Sort by origin
For each trace, record the input category it came from. Count how the forty traces distribute across those categories.
- 4Compare against the training scope
Ask whether the dominant category resembles the material the system was built and checked on. In the source case, the system had been trained on family-practice notes, and the dominant category was orthopedic visits with a different note structure.
- 5Form a scoped hypothesis
Because 33 of 40 flagged traces came from one orthopedic clinic, the evidence points to a cause scoped to that usage context rather than to the whole system. The next step is to test that hypothesis against more traces from the same category.
The regression is best treated as a single-specialty problem tied to the orthopedic usage context, not as a systemic failure of the whole system.
Reading Traces and Sorting the Findings
The table below is an illustrative set of invented traces, not data from the source. It shows the kind of record a reviewer might produce while working through the loop. Each row is one trace, with its specialty, a note about its shape, and whether the reviewer judged it a match for the style the team expected.
| Trace | Specialty | Shape note | Matches expected style? |
|---|---|---|---|
| T01 | Orthopedics | Note structure differs from training notes | No |
| T02 | Orthopedics | Accurate content, unfamiliar layout | No |
| T03 | Family practice | Layout matches training notes | Yes |
| T04 | Orthopedics | Summary placed where readers expect findings | No |
| T05 | Family practice | Layout matches training notes | Yes |
Illustrative invented traces showing how a reviewer records shape and fit by specialty
Working through a table like this, a reviewer does not stop at the count of mismatches. The useful question is whether the mismatches share a single cause in the inputs. When they do, the cause can be a specialty, a note template, or a visit type. The next step is then to test that hypothesis against more traces from the same category, rather than concluding from five rows.
What do you think happens?
If 33 of 40 flagged traces come from one orthopedic clinic, is the metric drift systemic or single-specialty?
Reveal answer
Single-specialty, scoped to that clinic's usage context.
The source case describes exactly this: the drift was a single-specialty problem masquerading as a systemic one. The concentration of flagged traces in one category points to a scoped cause, and the aggregate drop alone did not reveal that.
Why Usage Context Can Cause a Regression
The regression in the source came from a mismatch between training data and usage context. The system had been trained on family-practice notes, then used for orthopedic visits, whose notes had a different shape. The model's outputs were still competent in the abstract, but they did not fit the setting where they were being read. Outputs can be technically accurate yet fail the style and shape expected by their readers, and this happens when the usage context differs from the training data.
A useful lesson is that a new usage context can produce a regression even when nothing in the system changed. The orthopedic clinic came online in week four, so the workload shifted under a system that had not been adapted to it. The timing of the drift lined up with a change in workload, not with a change in the system itself.
Mistakes When Reading an Aggregate
Common mistake Treating the aggregate drop as proof the whole system got worse
What it looks likeThe overall line slides for several weeks, and the team immediately retunes the entire system.
Why it failsThe same aggregate movement can come from one slice falling sharply while the others hold steady.
Do this insteadBreak the total into usage-context slices before deciding the cause is systemic.
Common mistake Sampling traces at random when a flagged set exists
Why it failsRandom traces spend most of the review on outputs the system's own checks were not uneasy about, which slows the investigation.
Do this insteadStart from the flagged traces, such as the forty low-confidence traces in the source case.
Common mistake Drawing a scoped conclusion from too few traces
What it looks likeReading five traces, three from one category, and declaring the cause settled.
Why it failsA small sample can mislead. The source's conclusion rests on 33 of 40 flagged traces, not on a handful.
Do this insteadUse the sort to form a hypothesis, then test it against more traces from the same category.
Common mistake Assuming a regression requires a change to the model or prompt
Common mistake Looking only at what changed in the system
Why it failsIn the source case, nothing in the system changed. The workload shifted when a new clinic came online.
Do this insteadAlso examine what changed in the inputs and usage context.
Practicing the Narrowing Loop
A dashboard line for an AI system has dropped over several weeks. You pull forty flagged low-confidence traces. When you sort them by input category, 33 come from one clinic whose notes have a different structure than the notes the system was trained on. Decide whether the regression is systemic or single-specialty, and state what you would check next to confirm your answer.
Hints
- Ask whether the flagged traces are spread across categories or concentrated in one.
- Compare the dominant category's input structure with the training material.
- A confirmation step should read more traces from the same category, not retune the whole system.
Explain, in two or three sentences, why the same downward aggregate line could come from a systemic cause or from a single-specialty cause, and name the one step in the per-trace loop that separates the two.
Hints
- Think about what the average compresses and what it hides.
- The sort by input category is the step that does the narrowing.
Key Takeaways
- An aggregate metric drop cannot by itself tell you whether a regression is systemic or confined to one slice of input, because the average compresses the slices together.
- A per-trace loop starts from flagged traces, reads them individually, and sorts them by the input category they came from to narrow the cause.
- A drift that appears only in one usage context, such as the orthopedic clinic in the source case where 33 of 40 flagged traces originated, is a single-specialty problem masquerading as a systemic one.
- A new usage context can cause a regression even when the system itself is unchanged, so check whether the inputs the system now receives resemble the inputs it was built and checked against.