Production AI Deployment: Lessons from Real-World Agentic AI Systems

databricks_/_various · Healthcare · 2026 · source Agentic: yes · promotional bias: med · 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: Healthcare generative AI deployment

Databricks and Flo Health needed to move generative AI from demos into production healthcare workflows where quality, privacy, cost, safety, and operational debugging all matter.

Constraints:

Architecture

The Databricks approach treats agentic AI as modular software engineering. For Flo Health, Agent Bricks ingests data into a vector store, fine-tunes open-source models such as Llama, generates synthetic data, evaluates with LLM judges, and serves the resulting model. Around that core, teams define constraints, prefer deterministic steps over unconstrained autonomy, use MLflow judges and traces, track cost/latency/tool health, and build governance before broad production rollout.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  flo-health-app["Flo Health app"] --> unified-databricks-platform["Unified Databricks platform"]
  unified-databricks-platform["Unified Databricks platform"] --> agent-bricks-pipeline["Agent Bricks pipeline"]
  agent-bricks-pipeline["Agent Bricks pipeline"] --> vector-store["Vector store"]
  agent-bricks-pipeline["Agent Bricks pipeline"] --> open-source-model-tuning["Open-source model tuning"]
  agent-bricks-pipeline["Agent Bricks pipeline"] --> synthetic-data-generator["Synthetic data generator"]
  agent-bricks-pipeline["Agent Bricks pipeline"] --> llm-judge-evaluation["LLM judge evaluation"]
  agent-bricks-pipeline["Agent Bricks pipeline"] --> serving-endpoint["Serving endpoint"]
  open-source-model-tuning["Open-source model tuning"] --> serving-endpoint["Serving endpoint"]
  synthetic-data-generator["Synthetic data generator"] --> llm-judge-evaluation["LLM judge evaluation"]
  llm-judge-evaluation["LLM judge evaluation"] --> open-source-model-tuning["Open-source model tuning"]
  serving-endpoint["Serving endpoint"] --> flo-health-app["Flo Health app"]
  mlflow-tracing["MLflow tracing"] --> agent-bricks-pipeline["Agent Bricks pipeline"]
  mlflow-tracing["MLflow tracing"] --> evaluation-and-monitoring-loop["Evaluation and monitoring loop"]
  evaluation-and-monitoring-loop["Evaluation and monitoring loop"] --> llm-judge-evaluation["LLM judge evaluation"]
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Flo Health app User-facing health application where women chat with their data and receive recommendations. Unified Databricks platform
Unified Databricks platform Shared data platform connecting previously fragmented health data sources. Flo Health app, Agent Bricks pipeline
Agent Bricks pipeline End-to-end GenAI automation layer for ingestion, tuning, synthetic data, evaluation, and serving. Unified Databricks platform, Vector store, Open-source model tuning, Synthetic data generator, LLM judge evaluation, Serving endpoint
Vector store Stores ingested retrieval data for the GenAI application. Agent Bricks pipeline
Open-source model tuning Fine-tunes smaller open-source models such as Llama for the healthcare use case. Agent Bricks pipeline, Serving endpoint
Synthetic data generator Creates training/evaluation data used to improve models. Agent Bricks pipeline, LLM judge evaluation
LLM judge evaluation Scores outputs and catches quality/safety failures. Agent Bricks pipeline, Open-source model tuning
Serving endpoint Production endpoint exposing the improved model to the application. Flo Health app
MLflow tracing Observability layer showing inputs, outputs, retrieved documents, and latency by step. Agent Bricks pipeline, Evaluation and monitoring loop
Evaluation and monitoring loop Continuous checks over quality, safety, cost, latency, and tool behavior. MLflow tracing, LLM judge evaluation

Data flow

Flo connects health data into a unified Databricks platform. Agent Bricks ingests that data into a vector store, uses it to fine-tune an open-source model, generates synthetic data, measures behavior with LLM judges, and exposes the model through a serving endpoint. In production, tracing breaks a RAG-style application into retrieval, model, embedding, and other steps so teams can diagnose quality and latency problems.

3 supporting quotes
“they take care of the entire ingestion part uh ingesting your data into a vector store.”transcript, stated
“using that data to automatically fine-tune an open-source model generating synthetic data and then uh measure that using LLM judges and providing that as a serving endpoint.”transcript, stated
“Here we see the documents now for example and we can also see what each input and output between those steps are.”transcript, stated

Why this architecture

The design favors deterministic, modular systems because many production use cases do not need full agent autonomy. Agent Bricks automates the repetitive GenAI pipeline while MLflow judges/traces give teams a way to measure quality, diagnose component regressions, and keep costs and latency visible.

3 supporting quotes
“most use cases do not require autonomy. They can actually be um yeah sequenced into a step or a set of deterministic steps.”transcript, stated
“Design the systems the way that you would design a traditional application. If you want to add an additional feature, one feature for example being a retrieval step, separate that out.”transcript, stated
“often times it's really hard to trace down what was the issue. I was literally debugging my application yesterday um when I introduced a new component and out of the sudden the quality dropped by 10%.”transcript, stated

Models used: Llama · open-source models · LLM judges

Scale

Alternatives considered (roads not taken)

Full autonomous agents with free tool choice

Rejected because: The speaker says most use cases can be sequenced into deterministic steps instead.

“That would be full autonomy versus determinism where we say you have to go through those steps and you're not going to deviate from that.”transcript, stated

Rely only on latest frontier APIs

Rejected because: Flo used open-source fine-tuning and smaller cheaper models to improve accuracy and cost.

“we're going really in that direction to use smaller cheaper models um to achieve uh yeah higher accuracy and ultimately also cheaper solutions down the line.”transcript, stated

Ship without observability

Rejected because: The presenter treats tracing, tool stats, cost tracking, and latency breakdowns as deployment requirements.

“observability. So that's oftentimes the missing layer.”transcript, stated

Patterns

fine-tuning-adaptation (modeling)

Flo fine-tunes open-source models such as Llama on health data through Agent Bricks.

“we are fine-tuning these large language models to make our product even better.”transcript, stated

synthetic-data-generation (data)

Agent Bricks generates synthetic data as part of the automated model-improvement pipeline.

“generating synthetic data and then uh measure that using LLM judges”transcript, stated

llm-as-judge (evaluation)

LLM judges score outputs and can be customized for specific measurement criteria.

“MLflow does provide LLM judges and even custom judges where you can really define what you want to measure and customize it for yourself.”transcript, stated

eval-driven-development (evaluation)

The framework starts with defining success and measurement before model or feature work.

“MLflow does provide LLM judges and even custom judges where you can really define what you want to measure and customize it for yourself.”transcript, stated

observability-tracing (operations)

MLflow traces expose step inputs, outputs, retrieved documents, and latency breakdowns.

“what I want you to see is that tracing tree. So here you can see a rag application and we can really click through each of the steps.”transcript, stated

cost-aware-routing (operations)

The guidance includes cost tracking and provisioned throughput for high-traffic LLM applications.

“large language model applications can become costly quite fast especially if you use paper token. If you have a hight traffic application, you might want to think about provision throughput”transcript, stated

rag-retrieval (architecture)

The production architecture is described around retrieval data preparation, vector stores, and RAG traces.

“most of the use cases I see do have a retrieval component. How do you prepare that retrieve data? It needs to go through some ETL processing”transcript, stated

Tradeoffs

Autonomy level

Chose Deterministic sequenced steps over Free-choice autonomous tool use.

Rationale: Most enterprise use cases do not require full autonomy and benefit from guided system paths.

“most use cases do not require autonomy. They can actually be um yeah sequenced into a step or a set of deterministic steps.”transcript, stated

Model strategy

Chose Fine-tuned smaller open-source models over Always using large expensive frontier models.

Rationale: The Flo case argues for higher accuracy and cheaper solutions through Agent Bricks automation.

“use smaller cheaper models um to achieve uh yeah higher accuracy and ultimately also cheaper solutions down the line.”transcript, stated

Observability stack

Chose MLflow tracing and judges over Opaque production calls.

Rationale: Traces identify whether latency comes from the LLM, retriever, embedding model, or another step.

“Does it come from the LLM? Does it come from the retriever? Does it come from the embedding model? Tracing is going to give you that insight.”transcript, stated

Gotchas (what bit them)

Teams over-trust the LLM and under-engineer the system.

Root cause: Agentic AI is treated as autonomy rather than a set of engineered steps.

Resolution: Define components and deterministic steps that guide input to output.

“point number two is uh overrusting the LLM and underengineering the system.”transcript, stated

Quality drops can be hard to debug after component changes.

Root cause: Many moving pieces make it unclear which step caused the regression.

Resolution: Use traces and per-step measurement to localize the failure.

“there is a lot of moving pieces in the system which means there's a lot of room for error and often times it's really hard to trace down what was the issue.”transcript, stated

Constraint blindness kills production projects.

Root cause: Teams start from use cases without budgets, traffic expectations, region limits, or security constraints.

Resolution: Ask constraint questions, including expected users and infrastructure cost, before launching the project.

“If the answer is no, then there is no point to launch into that adventure. We can't pay the infrastructure costs.”transcript, stated

Evaluation

Evaluation is framed as defining success, using MLflow/LLM judges and custom judges, tracing each component, and monitoring quality, safety, latency, and cost continuously.

Metrics: medical accuracy · safety · privacy · security · latency · tool success/failure · cost · quality score

3 supporting quotes
“We using agent bricks to double our medical accuracy and safety and basically we were able to get higher quality of the models”transcript, stated
“The evaluator is able to catch mistakes.”transcript, stated
“tool success and failures uh stats just as any other application that you would build.”transcript, stated

Outcomes

Flo reports over 80 million monthly active users and doubled medical accuracy/safety; the talk also uses 20,000 daily users as a production capacity example.

3 supporting quotes
“Once we on boarded data bricks, we connected everything into one unified platform when all data is available and everyone can use this data for their own purposes.”transcript, stated
“We have more than 80 millions of monthly active users.”transcript, stated
“it's quite low cost for us and basically it means that we can deliver this models to bigger audience”transcript, stated