CLOSE
megamenu-tech
CLOSE
service-image

Company

CLOSE
CLOSE
CLOSE
Our Works
Enriched in Advance

Enriched in Advance

A multi-agent support assistant on Databricks Mosaic AI. The reading happens before the call, so five specialist agents can answer a live transcript while the customer is still on the line.

Enriched in Advance case study hero
Client

Manufacturing — aftersales & customer support

Platform

Databricks Mosaic AI

Pattern

Multi-agent system, judged evaluation

Delivered by

Reckonsys Engineering

Background

  • A support agent has ninety seconds and a customer who is already annoyed.
  • The right outcome — an apology, a credit, a warranty claim or an upsell — depends on context scattered across systems.
  • Assembling that picture by hand takes longer than the customer will wait.

Challenges

  • Context fragmented across CRM, tickets, chat logs and knowledge bases.
  • Customer emails unstructured and effectively unqueryable.
  • Repeat contacts read as new tickets, because issue history is not threaded.
  • Retrieving everything at call time runs straight into the latency wall.

Solutions

Reckonsys built a multi-agent assistant on Databricks Mosaic AI that works in two stages:

  • Enrichment ahead of time → value, segment, warranty position and issue history, built before anyone calls.
  • Five specialist agents → one recommended response and action from a live transcript.
  • Judged into production → accuracy taken from 33% to 84% in two evaluation loops.
  • One governance boundary → served as a Databricks App, traced end to end in MLflow.
Customer records, emails and notes flowing along glowing orange wires into a faceted terracotta core that builds one enriched customer profile before a phone rings.

Chapter 01

The work that happens before the call

An LLM-powered enrichment pipeline runs ahead of any conversation, reading customer records and unstructured email and writing an enriched profile back to the lakehouse.

It makes the judgements that would otherwise have to be made live: lifetime value, segment, and an issue history threaded across touchpoints, with sentiment tracked along that thread. At call time the agents query a profile that has already been built.

  1. Sources

    Customer data
    Customer emails unstructured
    User inputs
  2. Enrichment — ahead of time

    LLM enrichment pipeline
    • lifetime value
    • segment classification
    • issue threading
    • sentiment trajectory
  3. Stored

    Enriched customer data queryable, governed
  4. Call time

    Agent queries milliseconds
The expensive reasoning happens before anyone picks up. The live call is a lookup.
Technical detail

Manufacturing support runs on context the agent does not have in front of them. A customer calls about a delivery delay. Whether that call should end in an apology, a credit, a warranty claim or an upsell depends on things scattered across systems: what the customer is worth, what they have already complained about this quarter, whether the unit is still in warranty, and whether the last three touchpoints were about the same unresolved issue or three unrelated ones.

Assembling that picture manually takes longer than the customer will wait. So it does not get assembled. The agent answers the question in front of them, the commercial opportunity goes unnoticed, and the fourth call about the same freight classification problem gets treated as if it were the first.

The enrichment turns a delivery delay in March and an invoice dispute in May into one narrative rather than two unrelated records, which turns satisfaction from a survey question into a trajectory you can see moving.

Why this ordering matters. Enriching in advance is what makes the recommendation possible at all. Classifying a customer segment or reconstructing an issue thread is a reasoning task measured in seconds; doing it while somebody waits on the line is not an option. Moving it upstream converts an impossible latency budget into a solved one, and has the useful side effect of making the enriched profile available to every other system that wants it.

Five clay tokens in a row, each holding a single tool — a book, an archive box, a magnifier, a shield and a speech bubble — linked by a glowing orange thread into one reply.

Chapter 02

Five agents, one job and one tool each

A live transcript passes down a chain of specialist agents: two over vector search, one function call against a system of record, and two generation steps.

What comes back is not a search result. It is a recommended response and a recommended action, informed by the enriched profile.

  1. Agent 1

    Retrieve from product manuals

    Vector Search

  2. Agent 2

    Retrieve from case history data

    Vector Search

  3. Agent 3

    Summarize root cause

    LLM

  4. Agent 4

    Identify customer warranty status

    Function call

  5. Agent 5

    Generate final response

    LLM

Two retrievals, one function call, two generation steps — one recommendation.
Technical detail

A single prompt cannot do this job. Five narrow ones, each with its own tool, can — but only after they have been measured honestly. Each agent has a single responsibility and a single mechanism. Narrow agents are easier to evaluate, easier to fix, and fail in ways you can locate.

The recommendation weighs whether this customer's segment and lifetime value justify a credit, whether the unit is in warranty, whether this is the fourth contact about one unresolved freight classification issue, and whether the sentiment across that thread is recovering or deteriorating.

“Narrow agents fail in ways you can locate.”

Three rising clay steps, the last one glowing orange, with a small judging gavel and a checklist on the lower steps, showing accuracy improving through two rounds of review.

Evaluation

From 33% to 84%, in two judged loops

The first prototype answered correctly 33% of the time — what an unevaluated multi-agent system looks like before anyone measures it. Against 50 ground-truth Q&A pairs, an LLM judge caught the structural failures. Subject-matter experts then caught the answers that were plausible and wrong. That is the 84% it deployed on.

  1. Prototype

    33%

    Initial build, quality checked with LLM judges. No iteration yet.

  2. Loop 1 — LLM judge

    56%

    Structural failures found and fixed against the 50-pair ground-truth set.

  3. Loop 2 — SME judge

    84%

    Domain-specific errors caught by people who know the products. Production deployment.

Two judges, because they catch different classes of error.
How the evaluation was run

The 33% is the most useful number in this case study, because it is roughly where a great many multi-agent systems ship.

A ground-truth set of 50 question-and-answer pairs was generated to evaluate against. Then two distinct rounds of judging: first LLM-as-judge, which is fast and cheap and catches the structural failures — wrong retrieval, missing warranty check, malformed response. That loop took accuracy to 56%.

The second loop swapped in subject-matter experts as judges. SMEs catch what an LLM judge cannot: answers that are well-formed and plausible and wrong in a way only someone who knows the product line would notice. That loop took the system to 84%.

The lesson worth stealing. The agent architecture did not change much between 33% and 84%. The evaluation harness did. Most of the distance was covered by generating a ground-truth set, judging against it cheaply, then judging against it expensively — in that order. An LLM judge on its own would have stalled near the middle; SMEs from the start would have burned expert time on errors a model could have caught for pennies.

A translucent glass dome enclosing a screen, a stack of copper data discs and a faceted agent core, joined by a thin glowing trace line that marks each step.

Delivery

Hosted where the data already lives

The assistant is served as a Databricks App, so the interface, the agents and the enriched data sit inside one governance boundary. Every call is traced through MLflow: a recommendation that looks wrong can be opened up and read — which agent retrieved what, which tool was called, what the model saw.

Every Databricks component, in one place
Mosaic AI Agent Framework
Builds and serves the five-agent chain, including tool binding for the warranty function call and the two vector search retrievals.
Mosaic AI Vector Search
Indexes product manuals and historical case data. Two of the five agents read from it — one for documentation, one for precedent.
Mosaic AI Model Serving
Hosts the generation and summarization models behind agents three and five, with provider choice kept as a configuration decision.
Unity Catalog
One governance plane across raw customer data, enriched profiles, indexes and models. Agents run with service-principal identity — no human credential in the execution path, and PII boundaries enforced where the enrichment touches customer email.
Delta Lake
Storage for both the raw customer records and the enriched profile tables the agents query at call time.
MLflow
Tracing across every agent invocation and tool call, plus the experiment tracking that made the 33 → 56 → 84 progression measurable rather than anecdotal.
LLM judges
Automated evaluation against the 50-pair ground-truth set in iteration loop one, catching structural and retrieval failures cheaply before expert time was spent.
Databricks Apps
Hosts the assistant UI inside the platform, so the interface shares the governance boundary with the data and models it depends on.
Apache Spark
Runs the enrichment pipeline across customer records and unstructured email at batch scale.
DSPy
Programmatic prompt construction and optimisation across the agent chain, so prompt changes are versioned code rather than edits in a text box.
A calm customer support desk scene in clay: a headset, a resolved check-mark bubble and a rising orange trend line on a dark teal background.

What it changes

Two decisions carry this build. Move the reasoning before the call, so the live conversation only ever performs a lookup. And judge the system honestly before deploying it, twice, with two different kinds of judge.

Time to resolution

The agent opens the call already holding the customer's value, segment, warranty position and issue thread.

Enriched conversation

Recommendations grounded in product documentation, case precedent and the customer's own history.

Customer satisfaction

Sentiment tracked across the whole issue thread, so a deteriorating relationship is visible before it is lost.

Commercial upside

The same pass that resolves the complaint surfaces the upsell, turning reactive service into relationship management.

Client details are described at the level of an industry profile rather than by name; architecture, scale and figures are drawn from production engineering and reference documentation. Available for reference calls on request.

Key takeaways

5
Specialist agents behind one response
84%
Answer accuracy at deployment
2.5×
Accuracy gain across two judged loops
1M+
Support calls a year at reference scale

View other works

All works

Modal_img.max-3000x1500

Discover Next-Generation AI Solutions for Your Business!

Let's collaborate to turn your business challenges into AI-powered success stories.

Get Started