DANIEL KIRCHNER
All articles
September 4, 20267 min read

LLM evaluation in production

LLMEvaluationProductionRAGAS

The demo convinces. Two weeks later someone changes the model. Answers get shakier. Without evaluation nobody notices in time.

What evaluation means here

Not a one-off blind test with five favourite questions. A fixed set: question, expected source or decision, who maintains the set. After every prompt, model or index change the same set runs.

Without that, "better" is a feeling. In an audit a feeling counts for nothing.

What I measure

  • Does the answer hit a source a human can open?
  • Does the system say no when the base is missing?
  • Does the hallucination rate hold after a model change?
  • Does cost rise without quality rising?
  • Tools like RAGAS help. They do not replace the rule. The rule sits in the flow: measure, then change. Not the other way around.

    A typical finding

    A team switches to a larger model. The prose sounds better. The source rate drops. Legal would have seen that only at acceptance. With a set of 40 questions it would have been visible on the day of the switch.

    This hangs on source grounding. Evaluation without a source checks style. Evaluation with a source checks whether you may go live.

    What the readiness check does with it

    On day 3 of the LLM readiness check I look for a set and for someone who runs it after a change. If it is missing, the report calls it a blocker, not a nice-to-have.

    Related: reconstructing answers, hybrid RAG. The service page is AI engineering. Proof from practice: the audit assistant.

    Related articles

    A bad answer has to be reconstructable

    Without observability nobody knows cost per request and nobody can reconstruct a bad answer. What production LLM systems must log.

    Read article

    LLM hallucinations are a compliance problem

    When a model invents citations, legal stops the project. LLM traceability needs source grounding, not a better prompt.

    Read article

    A call

    30 minutes. If the use case does not belong in production, I'll say so.