An alert pre-screener is a classifier even when there is no scikit-learn model in the stack. It reads a transaction or event, weighs context, and emits a disposition: escalate, hold, or close. Its logic lives in three places: the instruction text, the thresholds that convert a score into a queue decision, and the context you inject. Edit any of those and you have shipped a new model. The old measurements no longer describe what is running.
The stakes are not abstract. Industry accounts put false-positive rates in transaction monitoring as high as 95%, reported from FATF-linked analyses by Flagright, above 90% in McKinsey-cited research reported by Lucinity, and routinely above 90% in the simulation described in a 2026 SSRN paper on AI-driven monitoring. With that much noise in the queue, a small drift in what the reviewer accepts will not look like an incident. It will look like a quiet shift in queue composition, found weeks later when someone audits a closed case.
The cost per review gives drift a price tag. Published figures put the cost of reviewing one alert at $30 to $70, and calculate that reducing false positives at a 100,000-alert bank could save $600,000 to $4.2 million a year, per DataRobot's AML alert scoring documentation. A prompt that over-escalates by 5% on the same volume moves real money, and one that under-escalates moves real risk. Neither shows up without a controlled comparison.
LLM-based triage sharpens this because outputs are probabilistic. Prompt management guidance notes that a single wording change can significantly alter behavior and that the same prompt can behave differently across model versions, as described in Braintrust's prompt management guide. Evaluation practice agrees: a score that cleared a threshold offline says nothing about live traffic, because the model may be updated without notice, per LaunchDarkly's LLM evaluation tutorial. That is why the controls below are about comparison and containment, not about trusting a one-time test score.



