Most founders discover multi-model AI architecture the wrong way – they get a surprise invoice. They built on a single frontier model, it worked, they scaled it, and then one month the LLM bill was larger than their AWS spend combined. So they start reading about routing prompts to cheaper models. They try it, it half-works, it creates new bugs, and now they have two problems instead of one. The actual answer isn’t “use cheaper models.” It’s building a routing layer with intent from the start, not as a cost-cutting patch job.
We’ve built enough AI SaaS products and agents to have strong opinions about this. Here’s what actually works.
Why Single-Model Architectures Break Under Scale
There’s nothing wrong with starting on one model. For an MVP, it’s the right call – you want to validate the product, not the infrastructure. But single-model setups carry a hidden assumption: that every prompt your product generates has roughly the same complexity, risk tolerance, and value to the business. That’s almost never true.
Think about a typical AI SaaS workflow. A user submits a long-form document for analysis. Then they ask a follow-up question. Then the system auto-generates a summary for their dashboard. Then it classifies an incoming record in the background. These four tasks are not equivalent. Sending all four to GPT-4o at full price is like hiring a senior engineer to sort your email. The model doesn’t care. Your bank account does.
The mistake we see most often is treating the model choice as a one-time infrastructure decision rather than a runtime decision. Once you reframe it that way, the architecture becomes obvious.
The Routing Layer: What It Is and How to Build One
A routing layer sits between your application and your model providers. Its job is to inspect each prompt request and decide where to send it. At its simplest, this is a few conditional rules. At its most sophisticated, it’s a lightweight classifier model making that decision in under 50 milliseconds.
The inputs to a routing decision typically include:
- Task type: Is this extraction, generation, classification, reasoning, or retrieval-augmented response?
- Prompt length: Token count matters – long-context tasks eat cost fast on premium models.
- Latency sensitivity: Is a human waiting on this response, or is it a background job?
- Required accuracy: Is this a customer-facing output that needs to be right, or an internal categorisation where 90% is fine?
- Output structure: Does the response need reliable JSON schema adherence? Some cheaper models are poor at this without fine-tuning.
Once you have those signals, you can start building a routing matrix. A fintech we shipped last year had three tiers: a frontier model (GPT-4o) for customer-facing financial summaries and anything that touched compliance language, a mid-tier model (Claude Haiku or GPT-4o-mini) for internal classification and tagging jobs, and a self-hosted open-source model for high-volume, low-stakes extraction tasks where latency and cost mattered more than polish. Their LLM costs dropped by roughly 55-65% after the routing layer was in production. The quality of the customer-facing outputs didn’t change.
Practical Model Tiers and When to Use Each
You don’t need every provider on day one. Start with two tiers and add complexity only when the use case justifies it.
Tier 1 – Frontier models (GPT-4o, Claude Sonnet 3.5, Gemini 1.5 Pro): Use these when the output is going directly to a customer, when the task requires multi-step reasoning, when you’re generating long-form content, or when the cost of a wrong answer is meaningful. Budget roughly $15-25 AUD per million output tokens depending on the model and your API plan.
Tier 2 – Fast, cheap models (GPT-4o-mini, Claude Haiku, Gemini Flash): Use these for background classification, tagging, short extraction jobs, and anything where you have a good eval harness and can verify quality programmatically. These run at roughly $0.50-3.00 AUD per million output tokens. The gap is enormous. Most products can push 60-70% of their volume here without users noticing.
Tier 3 – Self-hosted or fine-tuned models: This only makes sense once you have high, predictable volume – we’d generally say north of 50-100 million tokens per month before the infrastructure overhead is worth it. Fine-tuning a smaller model on your specific task (say, extracting structured fields from a particular document type) can get you tier-1 accuracy at tier-2 cost, but it requires a labelled dataset, a training pipeline, and ongoing maintenance. Don’t go here early.
The Fallback and Failover Problem Nobody Talks About
Multi-model routing introduces a class of failure you don’t have with a single provider: what happens when your primary model for a given task is down, rate-limited, or returning garbage? This happens more than the provider status pages suggest.
You need a failover strategy baked into the routing layer from day one. Not retrofitted later. Our standard approach:
- Define a primary and secondary model per task tier in your routing config, not hardcoded in application logic.
- Track per-provider error rates in a rolling window – if provider X starts throwing 429s or 500s at above a threshold, route around it automatically.
- Log every routing decision and the model that served it, so when you’re debugging a quality regression you can correlate it to a failover event.
- Set a per-request timeout that is meaningfully shorter than your user-facing SLA. If a call to a frontier model takes more than 8 seconds, you probably want to either stream the response or route that job class to a faster model.
The logging piece is non-negotiable. A routing layer without observability is just a random model selector. You need to know which model handled which task so you can improve the routing rules over time.
Evals: The Work That Makes Multi-Model Viable
Here’s the honest part. Multi-model routing only works if you have evals – automated tests that check whether a model’s output meets your quality bar for a given task. Without evals, you’re routing blind. You think you’re saving money, but you might be quietly degrading the product.
Building a basic eval harness doesn’t have to be a month-long project. For most task types, you can start with:
- A set of 50-100 representative inputs with known-good outputs (golden dataset)
- A scoring function – could be exact match for structured extraction, LLM-as-judge for open-ended generation, or a simple regex check for format compliance
- A CI step that runs evals before any change to routing config or model versions is deployed
We run evals as part of our deployment pipeline for every AI product we ship. It adds a day of setup and saves weeks of production fires. The moment you’re routing a prompt class to a cheaper model, you need to know empirically that the cheaper model clears your quality bar – not assume it based on a few manual tests.
If you find the cheaper model fails your eval, you have two choices: keep that task class on the expensive model, or invest in a prompt engineering pass to close the gap. Often a better prompt on a cheaper model beats a lazy prompt on a frontier model. We’ve seen it more times than we can count.
What This Architecture Actually Costs to Build
A basic two-tier routing layer with failover and logging – assuming you already have an AI feature in production – is roughly 3-5 days of engineering work for a team that knows what they’re building. Add a simple eval harness and you’re at a week to ten days. That’s a reasonable estimate for a greenfield implementation; retrofitting into an existing codebase can take longer depending on how tightly the model calls are coupled to business logic.
In AUD terms, if you’re working with an agency or a contract engineer at $150-200/hr, budget $15,000-25,000 to do this properly including evals. The payback period on that investment, once you’re pushing meaningful volume through the cheaper tier, is typically under three months.
The longer you wait to build this, the more you’re locked into a single-provider pricing curve with no leverage and no fallback. That’s a fragile position for any AI product that’s actually growing.
If you’re at the stage where LLM costs are becoming a real line item, or you’re about to build an AI feature and want to architect it correctly from the start, talk to Amora about your build. Getting the routing layer right at the beginning is a lot cheaper than untangling it at scale.
Got something you want built?
Amora Digital is an Australian software and AI agency. We scope it, build it, and ship it – live in 28 days. No offshore teams. No surprises.