Prompt Engineering Is Not Enough
Why LLM reliability in production requires more than clever system prompts.
Prompt engineering became a job title before it became a discipline. The result: a generation of LLM-powered features held together by increasingly complex system prompts, with no eval harness, no regression suite, and no clear owner when the model provider pushes an update and everything breaks.
The Prompt-as-Code Fallacy
Teams treat prompts as configuration — static strings that live in a .env file and get changed by whoever last Slacked about the AI being 'weird today.' This is the wrong mental model. Prompts are code. They need version control, peer review, staged rollouts, and automated testing.
"When your prompt changes and user satisfaction drops 12%, do you know within an hour? Most teams find out in a quarterly review — if at all."
What Production LLM Systems Actually Need
- An eval harness: a curated set of inputs and expected outputs that run on every prompt change and every model version update.
- Prompt versioning: every change tracked, dated, and attributable. Rollback in under 5 minutes.
- Output validation layer: LLM outputs are not trusted inputs. Parse, validate, and sanitise before any downstream system consumes them.
- Observability: token counts, latency, output length distribution, and user feedback signals — all logged, all alertable.
- Fallback strategy: what happens when the model returns something unparseable? Your system should degrade gracefully, not throw a 500.
RAG Is Not a Silver Bullet
Retrieval-Augmented Generation solves the stale-knowledge problem but introduces retrieval quality as a new failure mode. We've rebuilt seven RAG pipelines for clients who found their initial implementation returning confidently wrong answers.