
Everyone is comparing models. Few are optimising them.
Naturally, there's a huge encouragement from model providers to build. But few talk about how to do it efficiently, and build for scale.
Morph wrote the most comprehensive breakdown of this that I've read. And though each point has its trade-off, if you're able to pull some of these levers and maintain quality of output, the uplift is huge.
Steps for optimal token optimisation include:
1. Route Efficiently – Don't rely on Claude Code to choose what models you use and where. Do your research, and the math. Not every task needs your most expensive model. Think of it like construction: one architect designs the blueprint, builders execute the plan. Use your highest reasoning model for planning, and lower-cost models for execution.
2. Stop sending unnecessary context – Every token costs money. If you're repeatedly sending the same instructions or history, you're paying for information the model already knows.
3. Design for better inputs – The best optimisation happens before the model starts. Guide users to provide richer context upfront. It feels like friction, but in reality it usually means fewer retries, better outputs, and lower costs. If you've ever used Claude Design you'll recognise this as a mechanism built into the product — though I think they could go even deeper and more granular with their questions before any code is written.
4. Cache anything that doesn't change – System prompts, documentation, reference material: if it's reused, cache it. Modern models heavily discount cached tokens.
5. Batch what isn't urgent – Not every task requires a real-time response. Background jobs are cheaper when processed together, and your users are unlikely to notice.
I've summarised this, but the full article is also worth a read — it also breaks down the cost-saving percentage for each point: Morph: LLM cost optimization. Also worth reading: Vercel: best AI models for developers.
by Roland Beckley