Tutorial Series · 8 Parts

Building Enterprise AI Customer Support

A full walkthrough of a multi-agent customer support system — architecture, data layer, RAG, orchestration and testing — built end to end for a fictional UK rail operator. It's a build project, not a client deployment: the domain is synthetic, so there are no real customers and no measured savings behind any of it.

  1. I built a customer support agent as a team, not one bot
    Part 1

    I built a customer support agent as a team, not one bot

    One coordinator, two specialists, and why I didn't build it as one big agent. The architecture the rest of the series sits on.

  2. The data layer: a database and a vector store
    Part 2

    The data layer: a database and a vector store

    The data layer: a relational database for bookings and customers, and a vector store for the policies customers never phrase the way they're written.

  3. The Policy Agent: RAG that answers from real documents
    Part 3

    The Policy Agent: RAG that answers from real documents

    The Policy Agent — RAG that answers refund and fare questions grounded in the company's real documents, with a citation, not the model's memory.

  4. The Ticket Agent: books, changes and refunds
    Part 4

    The Ticket Agent: books, changes and refunds

    The Ticket Agent — the one that actually changes things. Search, book, modify, cancel, refund, built from tools instead of free-form SQL.

  5. The Master Agent: routing and context
    Part 5

    The Master Agent: routing and context

    The Master Agent — the piece that decides which specialist handles a message, holds context across hand-offs, and synthesises one clean reply.

  6. Location intelligence: 'the London train' into a station
    Part 6

    Location intelligence: 'the London train' into a station

    Customers say 'the London train', not a station code. Resolving the places people actually type into the stations the system knows.

  7. Testing an LLM system you can't unit-test
    Part 7

    Testing an LLM system you can't unit-test

    You can't unit-test an LLM by matching strings. Ordinary tests for the deterministic tools, 15 end-to-end scenarios, and an LLM-as-a-judge for the rest.

  8. The honest part: it's a project, not a case study
    Part 8

    The honest part: it's a project, not a case study

    UKConnect is fictional, so there's no real ROI — and I'm not inventing one. What I can actually stand behind, what I won't claim, and how you'd find the real number yourself.

ADK vs LangGraph architecture
Companion

ADK vs LangGraph: the same system, two frameworks

The whole system rebuilt on LangGraph, compared with the ADK original — routing, retrieval, state and how to choose, with both architectures diagrammed.

← All blog posts