AI Ethics & Policy

Model Portability Is an Architecture Decision Made on Day One

Key takeaway: Lock-in accumulates through small conveniences rather than one big commitment. The portability you have later is determined by boundaries you draw now.

Where the Coupling Actually Forms

Prompts. Iterating against one model produces prompts shaped by its specific behaviour — phrasings it responds to, formatting it reliably produces, weaknesses worked around. Those adaptations do not transfer, and quality drops on a different model until the work is redone.

Embeddings. Vectors from one provider are meaningless to another. Switching embedding models requires recomputing every vector in the corpus and rebuilding the index. For a large corpus that is a substantial migration, not a configuration change.

Structured output and tool calling. Each provider’s schema format, tool definition syntax and response structure differ. Code written directly against one is code that must be rewritten.

Platform features. Managed retrieval, agent frameworks, evaluation tooling and fine-tuning pipelines are the highest-value and least portable parts of any provider’s offering.

Coupling point Switching cost
Model-specific prompt tuning Re-tune and re-evaluate everything
Embeddings Recompute corpus, rebuild index
Tool calling format Rewrite integration layer
Fine-tuned weights Retrain from scratch
Managed platform features Rebuild the capability

Boundaries Worth Drawing Early

Put an interface between your application and any provider. It should express what you need — generate text, extract structure, embed a document — in your own terms, with provider-specific handling behind it. This costs little at the start and is expensive to retrofit once provider calls are scattered across a codebase.

Keep prompts as versioned data rather than inline strings, so a provider-specific variant is a new record rather than a code change.

Store embeddings with the model name and version attached, and design the index so two versions can coexist. That converts a migration from a flag-day rebuild into an incremental backfill.

Maintain an evaluation set you own. Without it, switching providers is a leap of faith; with it, comparison is an afternoon’s work. This is the single highest-leverage artefact for retaining leverage.

When Coupling Is the Right Call

Abstraction has real costs. A lowest-common-denominator interface gives up the provider-specific capabilities you are paying for, and premature abstraction over a fast-moving field frequently abstracts the wrong things.

For an experiment, couple tightly and move fast. For a product with a multi-year horizon, the interface pays for itself the first time pricing changes, a model is deprecated, or a better option appears.

Deprecation is the most common trigger in practice. Providers retire model versions on their own schedule, and a system with a single hardcoded model name faces forced migration under someone else’s timeline.

The Bottom Line

Wrap provider calls behind your own interface, keep prompts as versioned data, version your embeddings, and own an evaluation set. Then choose deliberately where to accept coupling in exchange for capability, rather than accumulating it by default.

Related Articles

Leave a Reply

Your email address will not be published. Required fields are marked *

Back to top button