From MVP to Production: LLM Application Evaluation and Deployment Challenges

various · Tech · 2023 · source Agentic: no · promotional bias: low · source-backed · extracted with prompt 0.5.6 (schema v2)

Generated from extraction.json — do not edit by hand. Every claim cites verbatim source evidence; stated means the quote directly asserts the claim, implied means it supports it indirectly.

Problem

Domain: LLM application evaluation and production rollout

A panel of practitioners from Databricks, Honeycomb, Last Mile AI, Weights and Biases, and related teams discussed why LLM applications that look good as MVPs often fail in production, and how teams should instrument, evaluate, stage, and continuously update them.

Constraints:

Architecture

The panel converges on a production loop for LLM applications: stage releases through expert or intermediate users before broad rollout, capture full interaction logs plus thumbs-up/down rationale and retrieved context, evaluate with a composite suite of human annotation, heuristics, LLM judges, encoder classifiers, and domain-specific checks, then feed the findings back into prompts, models, retrieval pipelines, and product behavior. The surrounding architecture versions data sources, processing pipelines, vector databases, model versions, evaluation sets, and observability events so teams can understand regressions and re-evaluate when knowledge changes.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  mvp-application["MVP application"] --> staged-rollout-cohort["Staged rollout cohort"]
  staged-rollout-cohort --> interaction-logging-layer["Interaction logging layer"]
  staged-rollout-cohort --> human-evaluation-loop["Human evaluation loop"]
  interaction-logging-layer --> observability-store["Observability store"]
  interaction-logging-layer --> evaluation-suite["Evaluation suite"]
  observability-store --> evaluation-suite
  evaluation-suite --> human-evaluation-loop
  evaluation-suite --> llm-judge["LLM judge"]
  evaluation-suite --> encoder-evaluator["Encoder evaluator"]
  evaluation-suite --> heuristic-metrics["Heuristic metrics"]
  evaluation-suite --> prompt-and-model-update-loop["Prompt and model update loop"]
  prompt-and-model-update-loop --> mvp-application
  prompt-and-model-update-loop --> versioned-data-pipeline["Versioned data pipeline"]
  versioned-data-pipeline --> retrieval-system["Retrieval system"]
  retrieval-system --> mvp-application
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
MVP application The LLM app that looks promising in internal tests but has not yet been proven with real users. Staged rollout cohort
Staged rollout cohort Intermediate users or expert stakeholders who test the system closer to real use before broad launch. Interaction logging layer, Human evaluation loop
Interaction logging layer Captures user inputs, model outputs, retrieved context, feedback, thumbs up/down, and rationale. Observability store, Evaluation suite
Observability store Stores high-cardinality interaction events so teams can slice outcomes by feedback and unique inputs/outputs. Evaluation suite
Evaluation suite Combines human annotation, heuristic checks, LLM judges, encoder classifiers, IR metrics, and domain-specific assertions. Human evaluation loop, LLM judge, Encoder evaluator, Heuristic metrics, Prompt and model update loop
Human evaluation loop Uses experts or domain stakeholders to judge correctness, provide feedback, and tune evaluation definitions. Evaluation suite
LLM judge Provides model-based quality signals when prompted with task-specific guidelines and examples. Evaluation suite
Encoder evaluator Uses cheaper classification models for evaluation tasks where a smaller model can replace an expensive LLM judge. Evaluation suite
Heuristic metrics Applies classic NLP, IR, JSON/Markdown validity, relevance, faithfulness, and other assertion-style checks. Evaluation suite
Prompt and model update loop Feeds evaluation results into prompt tuning, fine-tuning, model choices, and release decisions. MVP application, Versioned data pipeline
Versioned data pipeline Version-controls retrieval infrastructure, data sources, processing pipelines, vector databases, and model versions. Retrieval system
Retrieval system Serves current documentation, SDK data, and other knowledge into RAG-style applications. MVP application

Data flow

A candidate LLM application moves from MVP into a staged evaluation period with expert or internal stakeholders. Each user interaction is logged with inputs, outputs, retrieved context, feedback, and rationale. Evaluation jobs combine human review, heuristics, LLM-as-judge prompts, cheaper encoder classifiers, domain-specific assertions, and production observability. Results then feed prompt/model tuning, retrieval data refreshes, evaluation-set updates, and deployment decisions before wider rollout.

4 supporting quotes
“it doesn't have to go from zero to 100 you can release in sort of phases so step stepped releases”transcript, stated
“every time someone uses it no matter what there's a log there's a full capture of everything that happens”transcript, stated
“for evaluation it really breaks into three possible steps the first one is you have human annotation human Loop manual experimentation”transcript, stated
“we have to get our Vector database in sync with our source systems”transcript, stated

Why this architecture

The architecture exists because moving from MVP to production exposes user behaviors, domain meanings, data freshness, and failure modes that internal tests cannot predict. The panel argues that teams need explicit staged rollout, logging, feedback capture, evaluation suites, observability, and versioned retrieval/data pipelines to keep learning after launch.

3 supporting quotes
“it's rather easy to get something to the point where it's probably good enough to go to production but that's where the hard stuff actually starts”transcript, stated
“once you give these things to users they just don't behave in the way that you expect them to”transcript, stated
“you really like this cranks it up you have to do that very well here because otherwise wise you're just going to ship”transcript, stated

Models used: large language models · GPT-4 · LLM-as-judge evaluators · encoder-based evaluator models · retrieval systems · vector databases

Scale

Alternatives considered (roads not taken)

launch directly from MVP to broad production

Rejected because: Real users behave unpredictably and can expose failure modes internal stakeholders did not anticipate.

“it looked fine while we tested and we had you know done due process we had test sets”transcript, stated
“once you give these things to users they just don't behave in the way that you expect them to”transcript, stated

ask users to play with the system and report whether it works

Rejected because: Unstructured feedback like 'it does not work' is not actionable without logs, rationale, and captured interaction details.

“the first one is oh just go play with it and tell me if it's working or not”transcript, stated
“we'll get feedback like yeah yeah it doesn't work I hate it they're like well well which ones weren't working”transcript, stated

evaluate with one universal metric

Rejected because: Generative tasks and industries have diverse quality definitions, so evaluation needs composite and domain-specific metrics.

“evaluation is more less of single metric driven more of like an composite metric or many different functions people are optimizing for”transcript, stated
“each one is so nuanced it's so difficult to do it for broadly for everyone it almost feels like you need a custom one per industry”transcript, stated

use GPT-4 zero-shot to judge helpfulness

Rejected because: A naive helpfulness prompt rated nearly every answer as helpful, requiring task-specific guidelines and few-shot setup.

“if you just asked gp4 to evaluate if if an answer was helpful or not it essentially says close to 100% of the time that what the llm generated was helpful”transcript, stated
“you almost set it up as a few shot problem rather than a zero shot type problem”transcript, stated

retrain the LLM every day or night to keep knowledge fresh

Rejected because: The panel calls frequent full retraining impractical and points instead to RAG, data availability, and vector-database/source-system sync.

“you could say like I'm going to retrain my llm every day or every night like I don't think that's practical”transcript, stated
“we have to get our Vector database in sync with our source systems”transcript, stated

Patterns

canary-rollout (release)

The panel recommends releasing to intermediate or expert users first, then iterating before exposing the system to the final broad user base.

“you can release in sort of phases so step stepped releases”transcript, stated
“you can go to an in between person who has some expectation of what it's going to do but also some understanding of of how it's being built”transcript, stated

observability-tracing (operations)

Production LLM interactions are logged with inputs, outputs, retrieved context, feedback, rationale, and observability dimensions so teams can diagnose user-visible failures.

3 supporting quotes
“every time someone uses it no matter what there's a log there's a full capture of everything that happens”transcript, stated
“the ability for the end user to quickly send like a thumbs up thumbs down along with rationale”transcript, stated
“user feedback is is basically like a column on an event”transcript, stated

eval-driven-development (quality)

Evaluation results feed back into prompt tuning, model updates, retrieval changes, and production improvement rather than ending at a one-time test set.

“getting that evaluation back into your like model training and continuous like updating whether if you're serving your own models whether you're like fine tuning some prompts”transcript, stated
“we're going to go curate ground truth evaluation set we're going to decide what metrics we're going to with hill climb on”transcript, stated

human-in-the-loop-gate (evaluation)

Expert stakeholders and specialized human annotators are used where developers lack domain knowledge or where correctness requires expert review.

“our developers the challenge they run into is they're like I actually don't know if this answer is right”transcript, stated
“we need an expert who can process 100 pages of data and really annotate whether the summary is correct”transcript, stated

llm-as-judge (evaluation)

The panel discusses LLM judges as one evaluation signal, with task-specific guidelines and few-shot examples needed to make judgments meaningful.

“this emerging kind of area of llm Judge oriented metrics where you can actually get pretty detailed feedback”transcript, stated
“not not until you kind of prompted the llm with kind of very specific guidelines of what does helpful mean”transcript, stated

data-quality-loop (feedback)

Teams capture production feedback, annotate it, and feed it into development and evaluation so deployed behavior improves from real user interactions.

“take like what they're actually doing and what they're getting back and if there's a way to get it like what they think about that information”transcript, stated
“feed that back into development”transcript, stated

rag-retrieval (knowledge access)

The production architecture relies on RAG-style prompt augmentation and vector databases to keep model answers aligned with current documentation and source systems.

“that is why people start using these systems that are like for rag or you know augmenting the prompt with information”transcript, stated
“we have to get our Vector database in sync with our source systems”transcript, stated

prompt-versioning (governance)

The panel frames LLM production as a version-control problem covering retrieval infrastructure, data sources, processing pipelines, model versions, and A/B-tested changes.

“We've extracted as much out as possible to try to version control everything”transcript, stated
“you're trying to Version Control all the infrastructure for retrieval the data sources the processing pipelines and then the under llm”transcript, stated

Tradeoffs

Release strategy

Chose phased rollout to intermediate users over direct rollout to the final general user base.

Rationale: A smaller, closer-to-real cohort exposes production behavior while still allowing deeper evaluation and lower launch risk.

“you can go to an in between person who has some expectation of what it's going to do”transcript, stated
“this kind of evaluation period is because it's also smaller you can evaluate on a much deeper level”transcript, stated

Feedback instrumentation

Chose full interaction capture with thumbs up/down, rationale, edits, and retrieved context over asking users to report whether it works.

Rationale: Structured feedback makes failures actionable and ties user sentiment to the exact inputs, outputs, and retrieval context.

“every time someone uses it no matter what there's a log there's a full capture of everything that happens”transcript, stated
“thumbs up thumbs down along with rationale and even as go as far as edit it and look at what was retrieved along with it”transcript, stated

Evaluation method mix

Chose composite evaluation suite over single metric or one evaluation modality.

Rationale: Human annotation, heuristics, LLM judges, and encoder classifiers each cover different quality dimensions, costs, and domain needs.

“for evaluation it really breaks into three possible steps the first one is you have human annotation human Loop manual experimentation”transcript, stated
“evaluation is more less of single metric driven more of like an composite metric or many different functions people are optimizing for”transcript, stated

Automated evaluator model choice

Chose encoder-based classifiers where adequate over feeding every output to a full LLM judge.

Rationale: Evaluator tasks can often be framed as classification, making smaller encoder models far cheaper than LLM judges.

“we found the most progress with actually not using llms and we use more encoder based models which are much cheaper”transcript, stated
“they're just classification problems and so if you can you have a really robust classification problem that's like one 500th of the cost why not go with that approach”transcript, stated

Knowledge freshness

Chose RAG and versioned data pipelines over frequent full LLM retraining.

Rationale: Keeping source systems, vector databases, and data pipelines in sync is more practical than daily or nightly model retraining.

“I'm going to retrain my llm every day or every night like I don't think that's practical”transcript, stated
“do you have a robust infrastructure to Version Control it do you have robust infrastructure to deploy it”transcript, stated

Observability backend

Chose high-cardinality product observability for LLM feedback over low-cardinality logging that cannot slice by unique feedback patterns.

Rationale: LLM debugging needs rich event dimensions such as unique inputs, outputs, feedback, and bad-output signatures.

“because we have that that sort of Rich instrumentation we can just slice and dice based off of user feedback”transcript, stated
“just don't do it maybe with one that doesn't handle High cardinality data very well”transcript, stated

Gotchas (what bit them)

Production users invalidate internal assumptions.

Root cause: Teams design with problem definers and stakeholders, not necessarily the people who will use the system daily.

Resolution: Use staged evaluation periods with closer-to-real users, capture feedback, and iterate before broad launch.

“we're designing with the people who have defined the problem but not necessarily the people that use it”transcript, stated
“they can test it in a way that's a bit closer to real life and get feedback and you can kind of iterate on that process”transcript, stated

Unbounded input and non-determinism make production learning harder than normal software feedback loops.

Root cause: Users type closer to their mental model, and LLM output is intentionally or practically non-deterministic.

Resolution: Instrument what users do and what they receive, then feed that information back into development.

“you're D you're dealing with things that are in some cases sometimes by Design non-deterministic”transcript, stated
“practically unbounded inputs that anybody could put in that you have kind of no hope of predicting up front”transcript, stated

Generic user feedback is not actionable.

Root cause: Users may say they hate the tool without pointing to the interaction or output that failed.

Resolution: Capture full logs, rationale, retrieved context, and editable feedback alongside each interaction.

“we'll get feedback like yeah yeah it doesn't work I hate it they're like well well which ones weren't working”transcript, stated
“there's the ability for the end user to quickly send like a thumbs up thumbs down along with rationale”transcript, stated

Naive LLM judges over-score broad concepts like helpfulness.

Root cause: A zero-shot judge prompt can treat almost any answer as helpful without task-specific standards.

Resolution: Prompt judges with specific guidelines and few-shot examples, and tune smaller classifiers where possible.

“it essentially says close to 100% of the time that what the llm generated was helpful”transcript, stated
“you almost set it up as a few shot problem rather than a zero shot type problem”transcript, stated

Domain-specific evaluation definitions can invert ordinary meanings.

Root cause: Terms such as NASA, brand names, safety, and useful query differ by industry, customer, or product data model.

Resolution: Bake domain knowledge and industry-specific terminology into evaluation criteria.

“for sales uh NASA actually means North America South America regions uh not the NASA that will most likely come out from any llm”transcript, stated
“for safety for us it means something different than everyone who talks about like swearing it means like specific incorrect infact information”transcript, stated

RAG freshness creates a version-control problem.

Root cause: Vector stores, source systems, data processing pipelines, and model versions can change independently and alter performance distributions.

Resolution: Version-control retrieval infrastructure, sources, processing pipelines, and model versions, then re-evaluate changes deliberately.

3 supporting quotes
“it's like a massive Version Control problem”transcript, stated
“you see some type of performance or distribution change in terms of the performance it was delivering”transcript, stated
“make sure that you understand when to re-evaluate things”transcript, stated

Traditional ML evaluation patterns return, but the task is harder for generative systems.

Root cause: Non-deterministic English input/output is harder to hill-climb on than a regression model with a straightforward ground-truth set.

Resolution: Curate ground-truth evaluation sets and metrics, but expect more complex instrumentation and evaluation design than classic ML.

“what ml practitioners have been doing like for you know not hundreds of years whatever some very large number of years”transcript, stated
“hill climbing on a you know a non-deterministic English language input output is is a much harder problem”transcript, stated

Evaluation

The panel recommends staged release evaluation, full production logging, user feedback capture, human annotation, heuristic checks, LLM-as-judge metrics, encoder classifiers, domain-specific assertions, observability slicing, versioned retrieval pipelines, and regression-style evaluation sets.

Metrics: user thumbs up/down and rationale · retrieved context inspection · human annotation correctness · heuristic NLP/IR metrics · LLM-judge quality scores · encoder-classifier outputs · valid JSON or Markdown assertions · faithfulness to retrieved source data · answer relevance · domain-specific terminology correctness · evaluation-set regressions · vector-database and embedding-change impact

3 supporting quotes
“the standard information retrieval metrics that people use but also this emerging kind of area of llm Judge oriented metrics”transcript, stated
“there's some assertions that go on which is like is this Val Json or Mark down there's some content quality which is is this faithful to what's retrieved”transcript, stated
“all of the ability for us to know whether a small change in the vector database or embedding dimensionality or even GPT 4 and different model”transcript, stated

Outcomes

The panel is not one deployment, but it discusses hundreds of rollout users, four or five expert stakeholders, 100-page expert annotation tasks, encoder evaluators at one five-hundredth of LLM cost, and end-to-end tracking from model training through production.

4 supporting quotes
“we have to take like what they're actually doing and what they're getting back”transcript, stated
“each one is so nuanced it's so difficult to do it for broadly for everyone it almost feels like you need a custom one per industry”transcript, stated
“that's like one 500th of the cost why not go with that approach”transcript, stated
“this is why like a lot of our customers like yeah it makes sense to build our generative AI stuff right on top of our data platform”transcript, stated