Treat LLM features as engineering, not experiments
Useful LLM features depend less on model size than on retrieval over your own content, an evaluation set that gates each release, and guardrails tested like any other code.
The gap between an impressive LLM demo and a system you can put in front of customers is almost entirely engineering: grounding the model in your own data, measuring whether its answers are any good, and constraining what it is allowed to do. None of that is glamorous, and all of it is where the value is.
Retrieval beats a bigger model
A general model that can read your documents will out-perform a larger model that cannot, for any task that depends on your own knowledge. Retrieval-augmented generation is the pattern: embed your content, retrieve the relevant passages at query time, and pass them to the model as context.
def answer(question: str) -> str:
query_vector = embed(question)
# Retrieve the passages most relevant to THIS question.
passages = vector_store.search(query_vector, top_k=5)
context = "\n\n".join(p.text for p in passages)
prompt = f"Answer using only the context below.\n\n{context}\n\nQ: {question}"
return llm.complete(prompt)Grounding is not a guarantee
Retrieval reduces hallucination; it does not eliminate it. Instruct the model to answer only from the supplied context and to say when the context is insufficient — and then test that it actually does.
If you cannot measure it, you cannot ship it
Before an AI feature reaches a user, you need an evaluation set: representative questions with known-good answers, scored automatically on every change. Without it, every prompt tweak is a guess and every regression ships silently. Treat the eval set the way you treat a test suite, because that is what it is.
The teams that succeed with AI are not the ones chasing the newest model. They are the ones who built the boring scaffolding — retrieval, evaluation, guardrails — and could therefore adopt each newer model in an afternoon.
NinetyX Data & AI Practice
Data & AI Engineering
Data platform and analytics engineers working on pipelines, semantic models and access controls. They write about what has to be in place before analytics or AI can be trusted.
Where to next
Working through a similar problem?
Tell us what you run and where it is stuck. An engineer replies with questions and a proposed first step.
Talk to an engineerRelated articles
Governed data comes before useful AI
AI work stalls in the data layer far more often than in the model. A catalogue, access granted at the source and lineage you can query are the groundwork most plans leave out.
NinetyX Data & AI Practice · · 2 min read
Laying out a Microsoft Fabric lakehouse for analytics
Fabric puts the lake, the warehouse and Power BI on one storage layer. That only simplifies things if medallion layers, workspace ownership and Direct Lake models are settled before the first load.
NinetyX Data & AI Practice · · 3 min read
Migrate the operating model, not just the workloads
Cloud programmes rarely stall on technology. They stall when workloads move but tickets, change windows and environment requests stay the same. Sequence by capability and run the landing zone as a product.
NinetyX Cloud Practice · · 2 min read