- If your key systems are tied to a single provider, you'll have no options on the day it raises prices or shuts down a service.
- You don't need several providers from day one, but you should design your systems so they can move when the time comes.
- What makes a move possible in practice is a test set built from your own data that proves a new provider performs as well as the old one.
1. AI lock-in is different from ordinary software lock-in
Switching accounting software used to be painful because you had to migrate the data, but at least the results stayed the same. AI doesn't work that way. Change providers and the answers may change too, so you need a way to prove the new provider still performs as well as the old one.
For the development team · Technical detail
AI workflows are tied to model behavior, prompts, tool calling, embeddings, safety filters and output pricing. Switching models can change results even when the APIs look similar. A company without evaluation can't tell whether quality has improved or been damaged, so it tends to stay with the existing vendor out of fear of retesting.
Lock-in also comes from knowledge, conversations, agent definitions and logs being stored in formats that are hard to export, and from a team that has only learned one tool. Relying on one provider can make sense early on for speed, as long as it is a decision made with an exit plan, instead of a fact you discover when prices rise or the service goes down.
2. Build a model portfolio by type of work
Not every job needs the most expensive option. Work with fixed answers can run on ordinary rules, while work where mistakes are costly gets the best model available plus human review.

For the development team · Technical detail
Use small, fast models for classification, extraction and simple drafts. Use reasoning models for complex analysis, specialized models for images, audio or specific domains, and on-prem or private models when the data or latency calls for it. Don't make the most expensive model the default.
| Task | Main criterion | Routing |
|---|---|---|
| Categorization | Price/Latency | Small model + Rule fallback |
| Important summaries | Faithfulness/Citation | Medium + Verification |
| Complex judgments | Quality/Reasoning | Frontier + Human approval |
| Sensitive data | Privacy/Control | Approved private route |
For the development team · Technical detail
Route by risk, complexity, language and budget. Don't let agents pick models for themselves without a policy. Have a fallback for when a provider goes down or hits a rate limit, and record which model was used for each outcome.
3. Separate the layers so you can change technology
For the development team · Feature list
Separate the business workflow, prompts and instructions, model gateway, knowledge, tools and observability. Use a common interface only for the capabilities you need. Hiding every special feature can cost you their benefits, so contain vendor-specific features within an adapter instead.
For the development team · Technical detail
Keep source documents, metadata, evaluations and business rules outside the model system. Use open formats for export, and put prompts and agent configuration under version control. Credentials live in a secret manager and are never embedded in the workflow.
For the development team · Technical detail
Build a model gateway for authentication, routing, rate limiting, logging, redaction and cost. It lets you switch providers piece by piece, but watch that the gateway doesn't become a new lock-in: make sure its configuration can be exported and that you have an internal API standard.
4. Evaluation is your license to switch models
For the development team · Technical metrics
Build a dataset from real cases covering standard cases, exceptions, Thai language and risk. Define metrics such as accuracy, completeness, citation, policy compliance, latency and cost. Use human review for the parts that need judgment and automated checks for the rules.
For the development team · Technical detail
Before switching, run the candidate model in shadow mode alongside production. Break the results down by segment instead of relying on a single average score. Run a canary on a small share of traffic and keep a rollback version. Every change needs a decision record explaining why it was chosen.
5. Manage cost per outcome, rather than price per token
For the development team · Technical detail
A cheap model may need so many retries or reviews that it ends up costing more. Count the model, tools and APIs, infrastructure, human review, errors and downtime. Calculate cost per successful outcome and cost per business unit.
For the development team · Technical detail
Use a budget per workflow, caching, batching and prompt and context optimization. Set alerts for drift in cost per outcome. Don't lower the quality of important work to save a little money. Model a scenario at 10 times the volume, because agentic workflows may call models several times per transaction.
6. The contract terms and exit plan you need
- Rights to export data, prompts, agents, logs and evaluations, and the formats they come in
- Policies on using data for training, on retention, and on deletion after the contract ends
- Advance notice of model deprecation and of changes in price or behavior
- Subprocessors, region, security and incident notification
- Transition assistance, and how long you keep access after cancellation
- SLAs and service credits tied to your critical workflows
For the development team · Technical detail
Keep credentials and billing in the company's name, never in an account the development vendor fully controls. Check model and open-source licenses and any commercial restrictions. Run an exit drill once a year for critical workflows.
7. Continuity when a model or provider goes down
For the development team · Technical detail
Tier your work by criticality. Low-priority work can wait. Customer-facing work needs a fallback provider or a manual route. Financial work must fail closed and never release answers from a model that didn't meet the criteria. Preserve the queue and idempotency for when the service comes back.
For the development team · Technical detail
Test the failure modes: timeouts, partial output, wrong tool calls, price spikes and regional outages. The dashboard must separate provider issues from data or workflow issues. Be open with customers if the service is running at a reduced level.
8. A 12-month roadmap to build your freedom of choice
- Quarter 1: Inventory models, workflows, data and contracts, and identify critical lock-in
- Quarter 2: Separate knowledge and rules, and build evaluations for critical workflows
- Quarter 3: Put a gateway and routing in place, and test backup models in shadow mode
- Quarter 4: Optimize costs, run an exit drill and negotiate with vendors based on real data
In short: A multi-model strategy is about keeping your power to choose. Using several providers for its own sake only adds complexity. Separate your business assets from the model, and build evaluation, routing, cost-per-outcome tracking and an exit plan. Then you can make full use of each vendor's particular strengths without getting trapped when the technology changes.
Design systems that can switch AI providers without tearing everything down
Choosing which model to use for which job takes both technical knowledge and an understanding of what happens when that job goes wrong, and your business teams can answer the second part better than anyone. DNA Maker helps classify work by risk and by its requirements for quality, cost and speed, then defines the pass criteria for each category. With clear criteria, switching models becomes a decision based on data, instead of a guess or a reaction to the latest headlines.
The layer that keeps your bargaining power
On the technical side, we put a middle layer between your business systems and the model providers and keep prompts, rules and data on your side. We add a standard test set that runs against multiple providers using your own real data, so quality and cost per outcome can be compared directly, plus a backup plan for when the main service goes down. We don't recommend using several providers from day one unless there is a need, but your systems should be designed so they can switch when the time comes. If your key systems are currently tied to a single provider and you don't have a test set of your own, we'd be glad to help you set up the first one.
SOFTWARE ENGINEERING GLOSSARY
Software engineering glossary
These terms relate to designing systems that stay flexible and can change technology.
| Term | What it is | A simple example | What executives should ask the development team |
|---|---|---|---|
| Abstraction Layer | A middle layer between our systems and external services, so providers can be changed easily | Switching model providers by changing just one layer | If we change providers, how many places in the system need to be changed? |
| Evaluation Set | A set of examples with correct answers, used to measure system quality consistently | 200 customer questions with answers the team has agreed on | Does this test set belong to us or to the vendor? |
| Vendor Lock-in | A situation where changing providers is hard because the system depends too heavily on one of them | All the prompts and data sit inside the vendor's system | If we stop using this provider, what can we take with us? |
| Fallback | A backup path for when the main one isn't available, so the service doesn't stop | If the main service goes down, the system automatically switches to the backup | If the provider is down for two hours, what damage does the business suffer? |
| TCO | The total cost over a system's whole lifetime, well beyond the initial development cost | Monthly service fees, maintenance and system improvements added together | What makes up the maintenance cost after the first year? |
