On the bills I audit, the problem is almost never the price per token. It is useless context sent on every call and the most expensive model plugged in everywhere by default. Here is what I cut first.
In nearly every engagement, the problem is not the price per token but the way the tokens are spent: useless context sent back on every call, the most expensive model used everywhere by default, answers regenerated when they already existed. So I start by measuring where each euro goes, not by cutting at random.
Yes, and it is almost always the first lever: in production, a large share of calls are near-duplicates. Caching the answers on identical inputs removes that waste without changing anything for your users, often within a few days.
No. Routing each request to the cheapest model capable of handling it is enough in most cases: a simple classification or extraction does not need the most powerful model.
I never cut a bill by degrading quality. I cut it by no longer paying for what adds nothing.
Taken together, these levers bring a bill down by 30 to 70% on most of the products I audit, at equal quality, and the first gains usually land within two to three weeks.
How fast does the LLM bill drop?
The first levers (caching, model routing) show results within two to three weeks.
Does cutting the bill mean degrading quality?
No. I remove the useless context, the duplicates and the use of the most expensive model where a lighter one is enough. The quality measured by my tests stays stable, only the cost goes down.
Do I need to switch model provider to save?
Rarely. Most of the savings come from how you call your current models.
I write about shipping AI to production at guinat.ai. Honest advice, no hype.