The problem

The client runs a digital media and publishing platform with AI-assisted editorial tools built up over roughly eighteen months: headline suggestion, article summarization for a mobile digest product, tag and category classification, and a few other tasks. All of them called the same large frontier model regardless of task complexity, mostly because it was the model the team started with and nobody had revisited the decision as the product grew. The monthly inference bill had grown in step with usage, and a cost review flagged that a meaningful share of spend went to tasks, like category classification, that didn't obviously need a large model.

Simply swapping everything to a cheaper model would have been the wrong move, and the client's engineering lead knew it. Some tasks, like nuanced headline suggestion for sensitive news, genuinely benefited from a larger model's judgment, and a blanket downgrade risked degrading exactly the tasks where quality mattered most to editors. The problem needed a routing decision per task category, backed by real quality comparison, not a single global model swap.

What we actually did

We built a routing layer between the client's editorial tools and the model providers. It classifies each incoming request by task type and complexity signals, then routes it to the smallest model shown to perform acceptably for that task category.

Weeks 1-2: benchmarking every task category against three model tiers

Before changing any routing, we ran the existing large model, a mid-tier model, and a small, fast model on a sample of real historical requests across all six editorial task categories. The client's editors blind-scored the outputs without knowing which model produced which. The finding was genuinely useful: category and tag classification was statistically indistinguishable across all three tiers, while nuanced headline suggestion for sensitive or breaking news showed a real quality drop on the smallest model that editors noticed.

Weeks 3-4: building the router and a fallback path

The router classifies each request by task type (a reliable signal, since each editorial tool calls a specific endpoint) and, for task types where complexity varies, a lightweight secondary signal like input length or a "sensitive topic" tag set by the editorial team. We also built an automatic fallback to the next tier up when the smaller model's confidence signal is low, so an unusually complex request in an otherwise routine category still gets escalated.

Week 5: staged rollout with a quality-monitoring dashboard

We rolled routing out one task category at a time rather than switching all six at once, starting where the benchmarking showed the clearest case for a smaller model (classification and tagging), and kept headline suggestion on the original large model. Each category's rollout included a live dashboard tracking editor override rates (how often an editor rejected or heavily edited the AI's suggestion) as an ongoing proxy for quality, rather than relying only on the initial benchmark.

A design decision worth calling out
We recommended against routing headline suggestion to a smaller model even for what looked like "simple" headlines, despite the cost savings being largest in that category by volume. The benchmarking showed that the smaller model's failures in this category weren't evenly distributed: they clustered on breaking news and content touching sensitive current events, exactly where a bad headline carries the most reputational risk. We kept the whole category on the larger model rather than building a sub-classifier to route only "safe" headlines, because misclassifying a sensitive story as routine wasn't worth the extra savings.

Challenges and tradeoffs

Results

Overall inference spend dropped 47% in the two months after full rollout across the five routed task categories, with category and tag classification, the highest-volume of the routed categories, producing the largest absolute savings. Editor override rates in the routed categories moved by less than 0.3 percentage points from their pre-routing baseline, within what the editorial team considers normal variation rather than a quality regression.

Headline suggestion, held out of routing based on the benchmarking, still runs on the original larger model. After seeing the full cost-versus-quality picture, the client's finance team told us they were glad the recommendation hadn't been overridden for a bigger number on the savings report.

What we'd do differently

We'd build the latency dashboard alongside the router in weeks 3-4 rather than adding it once inconsistent response times showed up in testing. It didn't cause a production problem, but we spent a few days retroactively instrumenting something that could have shipped with the router's first version.