CODEHANCEBlog
Browse allAbout
← All posts
Using AI·12 September 2026·9 min read

Your AI Workflow Should Be Model-Agnostic from Day One

I watched the confident advice swing from Claude to ChatGPT within weeks. It made me realise that the durable part of an AI workflow should be the context, process and checks you own, not whichever model happens to lead today.

Kingsley Ijomah

Kingsley Ijomah

AI Adoption Lead

Updated 12 September 2026

Start the discussion
Share

Share this article

LinkedInFacebookXWhatsAppEmail
Modern tech editorial screenprint illustration with bold hand-lettered headline "WHICH ONE NOW?". The author, a Black male   software engineer with glasses and tied-back dreadlocks in an active sports wheelchair with Loopwheels, clutches his face in   humorous overwhelm between two architectural easels tracking the flip-flop between Claude and ChatGPT benchmark hype.

On this page

8 sections, in order. Jump straight to the one you need.

  1. 01The model is not the workflow
  2. 02Model-agnostic does not mean models are interchangeable
  3. 03Lock-in begins with convenience, not contracts
  4. 04Build the portable layer before the first conversation
  5. 05A new model is a candidate, not a command
  6. 06Sometimes model-specific lock-in is worth it
  7. 07This matters before the first switch
  8. 08Sources

Follow the work as it becomes practical.

Get new field notes, hands-on examples, and build videos in your inbox.

Practical AI notes, no noise. Unsubscribe whenever you like.

Last month, Claude was the obvious choice. Move everything to Claude. ChatGPT had fallen behind.

A few weeks later, the recommendation had reversed. ChatGPT was the obvious choice. Move everything again.

The illustration that prompted this article captures the problem well. The person in the middle is not choosing between two bad tools. They are being asked to reorganise their working life every time opinion changes about which tool is ahead.

I have watched that advice swing between models, often with complete confidence in both directions. Rather than follow it, I stopped and asked what “move everything” would actually mean. My instructions, useful examples, source material, decisions and unfinished work had accumulated around a particular tool. Switching was not a model choice any more. It was a small migration project.

That revealed the mistake. The model had become the place where the workflow lived.

Models will keep improving, changing and disappearing. OpenAI says prompting behaviour can change between model snapshots and recommends pinned versions and evaluations where consistency matters. Anthropic maintains a model retirement schedule and tells developers to test replacements on their own tasks before migrating. Google distinguishes stable models from aliases that can be replaced by newer releases. The details differ, but the direction is consistent: OpenAI documents behaviour changes between snapshots, while Anthropic and Google document model lifecycles that require change.

That is not a reason to avoid these tools. It is a reason to organise your work so that change remains a choice.

The model is not the workflow

When I say model-agnostic, I am not talking about building an elaborate routing platform or hiding every provider behind an API. That belongs to Building with AI.

This starts one layer earlier. It is about how you organise the work you do with AI every day.

A useful workflow has at least five parts:

  • The outcome you are trying to produce.
  • The context and source material the work depends on.
  • The instructions, constraints and examples that shape it.
  • The intermediate decisions that carry the work forward.
  • The checks that tell you whether the result is usable.

The model contributes to that process. It may draft, analyse, challenge, classify or write code. It does not need to own the other parts.

If the brief exists only in a chat, the chat owns it. If the examples exist only in a custom assistant, that product owns them. If the latest decision survives only because the current conversation still fits inside a context window, your working state is more fragile than it looks.

A model should perform work inside your workflow. It should not become the container for the workflow.

Model-agnostic does not mean models are interchangeable

The obvious objection is that Claude, ChatGPT, Gemini and other tools do not behave in the same way. That is true.

They respond differently to structure, examples, long context, tool instructions and requests for verification. Even generations from the same provider can need different treatment. Anthropic's own prompting guidance contains model-specific migration advice, including cases where an instruction useful for one model can add unnecessary work with another.

Pretending those differences do not exist would produce a lowest-common-denominator workflow and probably worse results.

The better distinction is between the portable core and the model-specific edge.

The portable core describes the work: the goal, evidence, constraints, examples, expected output and acceptance criteria. The edge adapts that material to the model: perhaps XML tags for one, a particular tool description for another, or a shorter instruction for a model that follows it more literally.

Keep the work stable. Let the way you present it to a model vary.

Lock-in begins with convenience, not contracts

Vendor lock-in sounds like a procurement problem. In everyday AI use, it is often much quieter.

You begin a conversation about a piece of work. The model learns the terminology during the thread. You correct its assumptions. It sees examples of what good looks like. A dozen messages later, the conversation is genuinely useful.

Then the thread becomes the process.

When a different model becomes attractive, you discover that the value was not in the opening prompt. It was spread across corrections, uploaded files, remembered preferences and decisions that were never recorded anywhere else. Moving means reconstructing all of it, usually from memory.

I think of this as cognitive lock-in. You are not prevented from leaving. You simply cannot explain the working method without pointing at the tool that currently contains it.

This is also why a folder of copied prompts is not enough. As I argued in how to ask AI better questions, prompting is closer to specification than incantation. Portability depends on preserving that specification and the material around it, not saving one clever paragraph.

Build the portable layer before the first conversation

You do not need a platform to do this. A handful of ordinary files is enough for many workflows.

Write the brief outside the chat

State the outcome, audience, constraints, source material and definition of done somewhere you control. For software work, that may live in the repository. For product or delivery work, it may be a document attached to the ticket.

Outcome: Explain why checkout conversion fell
Inputs: Funnel data, release notes, support themes
Constraints: Separate observation from inference
Output: Decision memo with evidence links
Done when: A reviewer can verify every factual claim

That brief can go to any suitable model. More importantly, a colleague can understand the task without reconstructing your conversation.

Keep durable context in a system of record

Project terminology, architectural decisions, customer constraints and approved examples should live in files, documentation or another shared source. A model can be given the relevant slice when the work begins.

This does not mean pasting the whole organisation into every prompt. It means knowing where the durable truth lives and selecting the context deliberately.

Save decisions, not transcripts

A transcript records everything that was said. A decision record preserves what the next person or model needs to continue.

At the end of a useful session, capture the current decision, unresolved questions, evidence used and next action. The next session can begin from that state whether it runs in the same tool or somewhere else.

Define outputs that can travel

Ask for ordinary formats you can inspect and reuse: Markdown, JSON, source code, tables or a document in the team's existing system. Avoid making a proprietary chat artefact the only finished copy.

This matters for intermediate work too. A test plan, outline or list of assumptions is more reusable when it exists as an artefact rather than a message you have to find again.

Keep the checks independent of the model

The definition of good should not change because the logo above the text box changed. Code still has to pass the same tests. A decision memo still needs traceable evidence. Acceptance criteria still describe the same customer outcome.

This is where model agnosticism becomes more than file management. Your evaluation criteria are the stable interface between the work and the model.

A new model is a candidate, not a command

When a new model arrives, the internet tends to run one large, uncontrolled experiment. People change the model, the prompt, the tool and sometimes the task, then announce that everything is different.

That may be entertaining. It does not tell me whether I should move my work.

I would rather keep a small set of representative tasks from the workflow: a real refactor, a recurring analysis, a document review, or whatever the model is regularly asked to do. Give the current and candidate models the same portable brief, context and definition of done. Adapt the presentation only where each model genuinely needs it.

Then compare what matters:

  • Did the output satisfy the acceptance criteria?
  • What errors or omissions did review find?
  • How much human intervention was needed?
  • How long did the complete task take?
  • What did it cost?

OpenAI's evaluation guidance formalises the same basic move: use test data that represents the work, define criteria against human-labelled or otherwise grounded expectations, and run the prompt against those criteria. You do not need its API to adopt the principle. A small table and honest review can be enough for a personal workflow.

This also connects to checking AI output before you trust it. The model cannot be the authority on whether its own work is acceptable. Switching models does not change who owns that judgement.

The model earns its place through your work, not somebody else's leaderboard.

Sometimes model-specific lock-in is worth it

Model-agnostic should not become a purity test.

A provider may offer a capability that materially improves the outcome: a stronger coding environment, a particular integration, better handling of a modality, lower latency or an interface your team can actually use. Refusing that advantage merely to preserve theoretical portability would be its own kind of bad decision.

The question is whether the dependency is deliberate.

Keep the brief, source material, decisions and checks outside it. Record which part depends on the provider and what you would lose by moving. Use the specialised feature because it earns its cost, not because the workflow drifted into it unnoticed.

A good abstraction does not remove every dependency. It makes the dependencies visible.

This matters before the first switch

The easiest time to make a workflow portable is before it contains anything valuable. Retrofitting it later means extracting decisions from old chats, finding the latest version of instructions and discovering which behaviours you had started to rely on without naming them.

Starting model-agnostic also improves the work if you never switch. The brief becomes clearer. Context is easier to update. Another person can reproduce the process. Reviews use explicit criteria. Useful practice can travel across a team instead of remaining attached to one person's account.

That last point matters for adoption. In AI Won't Fix Agile Until You Redesign the Handover, I argued that reusable skills can carry specialist practice to the work. Those skills become more useful when their core instructions, references and checks are not inseparable from the model that happened to help create them.

The illustration asks, “Which one now?” My answer is to choose the model that currently performs the task best, but refuse the premise that everything must move with it.

Own the context, the process and the checks. Rent the model.

Sources

Linked so you can check the product guidance and its limits.

  • OpenAI: API backwards compatibility. States that prompting behaviour can change between model snapshots and recommends pinned model versions and evals for consistent application behaviour. This is first-party API guidance; it does not measure how often ordinary users experience disruptive changes.
  • Anthropic: model deprecations. Documents active, deprecated and retired Claude models, and recommends testing replacement models on the application's own tasks before retirement. It covers Claude's lifecycle rather than comparing providers.
  • Google: Gemini API models and version patterns. Distinguishes stable, preview, latest and experimental model identifiers and explains that latest aliases can be replaced as new releases arrive. It is product documentation, not evidence that one version is better for a particular workflow.
  • Anthropic: prompting best practices. Supplies examples of model-specific prompting and migration differences, supporting the article's warning that portable workflows still need thin model adaptations. The recommendations are specific to Claude.
  • OpenAI: working with evals. Demonstrates defining testing criteria and using representative test data to assess prompt and model output. The guide describes OpenAI's evaluation tooling, while the article applies the underlying practice more broadly and at a smaller scale.
#model-agnostic#workflow-design#ai-tools#evaluation#vendor-lock-in

Share this article

Pass it on to someone who might find it useful.

LinkedInFacebookXWhatsAppEmail

From theory to practice

See how the ideas become working systems.

I’m working on hands-on examples and videos that build real agentic workflows step by step. Join the list for new articles, practical material, and the first course updates when they’re ready.

Practical AI notes, no noise. Unsubscribe whenever you like.

Discussion

What did this make you think about?

Share what you have seen in practice, ask a question, or add a different perspective.

Keep exploring

More in Using AI

  1. AI Won’t Fix Agile Until You Redesign the Handover8 September 2026
  2. When not to use AI1 September 2026
  3. How to check AI output before you trust it1 September 2026
View all in Using AI→

Explore other areas

Working with AI→RAG Beyond the Demo: What Retrieval Is Really Doing
Building AI→What Building AI Means: My First Step as a Full-Stack Developer
Browse the complete archive→
Codehance emblemCODEHANCE

An open notebook from an AI Lead at Gravity9 on using AI, working with AI, and building AI.

The three layers

  • Using AI
  • Working with AI
  • Building AI

This blog

  • Latest notes
  • Complete archive
  • RSS feed
  • support@codehance.com

© 2026Codehance Ltd. All rights reserved. Registered in England & Wales. blog.codehance.com