Change Management for AI Systems
Why changing a prompt can be as consequential as changing production code.
By Mark Bourne
Introduction
Observability for Non-Deterministic Systems described a support assistant whose quality drifted for three weeks after a routine prompt edit shipped with no versioning and no way to trace the decline back to its cause. That article covered how to detect a problem like that. This one covers how to avoid shipping it in the first place.
Most engineering organisations wouldn't let a developer push a change to production code without review, tests, and a rollback plan. Many of those same organisations let anyone with dashboard access edit a system prompt live, with none of the above.
A prompt is not documentation. It is executable logic that happens to be written in English, and it deserves exactly the change discipline that implies.
This article treats prompts, model versions, and retrieval configuration as production artifacts—versioned, tested, reviewed, and rolled out with the same care as any other code that ships to real users.
The Internet Lesson: Change Control Wasn't Bureaucracy
Some of the Internet's largest outages trace back to a single unreviewed configuration change—a router misconfiguration, propagated globally in minutes, with no staged rollout to catch it before it reached everyone at once.
The industry's response wasn't to stop making changes. It was change control: peer review before a config ships, maintenance windows, staged rollout to a small segment first, and a rollback plan written before the change goes out, not improvised after it breaks something.
None of that discipline existed to slow engineers down. It existed because a single unreviewed change, applied everywhere at once, is how small mistakes become large incidents.
A Realistic Failure Scenario
A provider ships a routine update to a model, described as “no functional changes,” behind the same model identifier the team has always called.
Because nothing in the application changed, and the version string looked identical, the update reaches production with no testing. The new version handles a specific class of ambiguous refusal differently—subtly, only on a narrow slice of requests.
A week later, support tickets tied to that specific workflow spike. Nobody thought to check a model update as the cause, because from the team's side, nothing had been changed at all.
“We didn't change anything” is rarely true in an AI system. Something upstream almost always did.
Prompts Are Production Code
A prompt determines behaviour as directly as a conditional statement does. Treating it as configuration that anyone can edit live, outside version control, is the same mistake as editing production environment variables by hand and hoping someone remembers what changed.
- Store prompts in version control, with the same review process as code
- Require a pull request and at least one reviewer for any prompt change
- Tag every deployed prompt with a version identifier, not just 'latest'
Configuration as Code
The same discipline extends to everything else that shapes a response: retrieval index configuration, tool definitions, routing rules, confidence thresholds. If it can change what a user sees, it belongs in version control, not a dashboard toggle with no audit trail.
Model-Version Changes Deserve Their Own Review
“The same model” is not a guarantee providers reliably keep. Behaviour can shift under an unchanged model identifier, exactly as in the scenario above.
- Pin exact model versions where the provider supports it, rather than tracking 'latest'
- Review and test a version change deliberately, even when described as non-functional
- Subscribe to provider changelogs and treat every entry as a potential regression source
Regression Suites and Golden Test Cases
A golden test suite—a fixed set of representative inputs with known-good outputs or acceptance criteria—is what makes “did this change break anything” an answerable question instead of a guess.
- Include edge cases and past incidents, not just typical requests
- Run the suite automatically on every prompt, model, or configuration change
- Update it whenever a new failure mode is discovered in production
Staged Deployment, Shadow Testing and Canary Releases
Three techniques, escalating in confidence, keep a bad change from reaching every user at once:
- Shadow testing: run the new version alongside the old on live traffic, compare outputs, serve nothing from it yet
- Canary release: serve the new version to a small percentage of real traffic, watch closely
- Staged rollout: expand gradually, with a defined go/no-go check at each stage
Each stage exists to catch a different kind of problem before it's expensive. A change that fails shadow testing never gets a chance to disappoint a real user at all.
Rollback Procedures
A rollback plan written after a change has already caused damage is a rollback plan written under the worst possible conditions.
- Define the rollback path before a change ships, not after it needs one
- Keep the previous prompt, model version, and configuration trivially re-deployable
- Test the rollback itself occasionally, not just the forward deployment
Approval Records
Human-in-the-Loop as an Architectural Component covered recording overrides on individual decisions. Change management needs the same discipline applied to the system itself: every prompt, model, or configuration change should carry a recorded approval—who reviewed it, what they checked, when it shipped.
This isn't paperwork for its own sake. It's what makes “why did this change go out” answerable six months later, instead of dependent on someone's memory.
Reproducibility
The versioning discussed in Observability for Non-Deterministic Systems and the review discipline in this article combine into a single useful capability: being able to say, precisely, what prompt, model and configuration produced any given response in the past.
Without that, every investigation into a past incident starts from a guess.
Matching Rigour to Risk
Not every change needs the same level of ceremony. A wording tweak and a provider switch carry different risk, and the process should reflect that:
| Change type | Required review | Rollout strategy |
|---|---|---|
| Wording tweak to an existing prompt | Peer review + golden test suite | Canary, then full rollout |
| New tool or capability added | Security + permission review | Staged, behind a feature flag |
| Model version upgrade | Full regression suite, side-by-side comparison | Shadow test, then canary |
| Retrieval index rebuild | Spot-check retrieval quality on known queries | Shadow test against live traffic sample |
| Provider or endpoint switch | Full regression suite across affected workflows | Canary with fast rollback trigger |
Trade-offs and Anti-Patterns
- Editing prompts live in a dashboard with no version history
- Auto-applying provider model updates without testing, because the identifier didn't change
- A golden test suite that exists but isn't run automatically before deployment
- Full rollout with no canary stage, betting that a change is fine
- A rollback plan that gets written for the first time during an incident
- Process so heavy that trivial changes take days, encouraging people to route around it
Final Thoughts
Network engineers learned that the danger was never making changes. It was making them without review, without staging, and without a way back. AI systems change more often, through more surfaces—prompts, models, retrieval, configuration—than most traditional software does, which makes the same discipline more necessary, not less.
Every prompt edit is a deployment.
Treat it like one, and most of this series' failure scenarios stop happening.
A Practical Checklist
Before letting anyone ship a prompt, model, or configuration change, work through these questions:
- 1Are prompts stored in version control, with diffs and history, not edited live in a config panel?
- 2Is every response traceable back to the exact prompt, model and configuration version that produced it?
- 3Does a golden test suite run automatically before any prompt or model change ships?
- 4Are model version upgrades pinned and reviewed, rather than auto-applied when a provider updates 'the same' model?
- 5Is there a canary or staged rollout path for changes, rather than a single full deployment?
- 6Is there a tested rollback procedure that can be executed in minutes, not hours?
- 7Does every change carry a recorded approval, so 'who approved this' has a real answer?
- 8Could you reproduce exactly what a system would have answered to a specific question last month?
About This Series
This article is part of the AI Infrastructure & Architecture series on Bourne Forge AI. It follows AI Cost and Performance Engineering by treating prompts and model configuration as governed production assets, ahead of the final article in this run on AI incident response and postmortems.
More from the Notes
Short technical notes and observations, written up as experiments produce something worth documenting.
Was this useful?
Published