Two systems
System one — anonymised
What I learned running a twelve-agent system at 10,000 drafts a day
Three years ago I was asked to solve a problem that most operations teams eventually hit: inbound email arriving faster than any reasonable number of people could answer it, across eleven separate business portals, each with its own tone and its own policy.
Every message had to be understood, categorised, matched against internal records, answered, and logged. The existing approach was the obvious one — more people, working faster, making more mistakes as volume grew.
The system now drafts more than 10,000 replies a day.
I designed, built, deployed and now monitor the system that replaced most of that work. Here is what it does, what it cost to get right, and what I'd tell anyone considering the same thing.
The architecture
Twelve specialised agents, orchestrated rather than chained. Each does one narrow job well.
Intent detection decides what the message is actually asking for — which is rarely what it appears to ask for. Aspect-based sentiment analysis flags the ones that are angry, because those need a human within minutes. Query extraction pulls the specific entities involved. Retrieval finds the relevant records across both a vector store and a structured database. A drafting agent composes the reply. A summarisation agent compresses long threads so nothing is lost mid-conversation. An auditing agent reads the draft before it goes out and blocks anything it can't support with retrieved evidence.
Response time under two seconds. Full tracing on every run.
The part nobody talks about
Building agents that work in a demo takes days. Building agents that work on the ten thousandth message of a Tuesday takes months, and almost all of that time goes into three things nobody puts in a pitch deck.
Evaluation. If you cannot measure whether the system got better or worse after a change, you are not engineering, you are guessing. We needed a scored test set before we needed anything else. Every prompt change ran against it. Roughly a third of the changes that felt like improvements measurably weren't.
Guardrails. A language model asked a question it cannot answer will answer anyway. In a customer-facing pipeline that is not a quirk, it is a liability. The auditing agent exists because confident wrongness is more expensive than silence — a system that escalates to a human is inconvenient; a system that invents a delivery date is a lost account.
Monitoring. These systems degrade quietly. Model versions change under you. Input distributions drift as the business changes. Costs creep. Accuracy falls a percentage point a month and nobody notices until a customer complains. Full tracing was not a nice-to-have; it was the difference between operating the system and hoping.
What it produced
Measured by the business, not by me: 70–80% of manual intervention eliminated. Turnaround time down by more than 90%. Sub-two-second responses sustained at full volume.
What matters more than the numbers is what didn't happen. Nobody was laid off. The team stopped doing the repetitive 80% and started handling the exceptions — the escalations, the angry customers, the genuinely complicated cases where a human being is worth the money. That is the honest version of what this technology does well.
What I'd tell you if you're considering this
Don't start with a chatbot. Start with your highest-volume, most repetitive inbound process and ask how much of it is genuinely judgement and how much is lookup and formatting. Usually it's 80% lookup.
Budget for evaluation before you budget for the build. A system you can't measure will fail slowly and you won't know why.
Design the human escalation path first, not last. Every worthwhile system in this category is a human–machine system, and the ones that fail are the ones where the machine had no way to say “I don't know.”
And be suspicious of anyone who shows you a demo without showing you what happens when it's wrong.
The parts that took the longest
Orchestration, not chaining
Twelve agents coordinated through a state graph rather than a linear chain. Each owns one narrow decision. The reason is failure isolation: when a linear chain breaks you get a bad output with no idea which step caused it. When an orchestrated graph breaks, the trace tells you which agent, on which input, with what state.
The evaluation harness
500 examples, reviewed by subject-matter experts, scored on groundedness and citation completeness. Every prompt change ran against it before release. Roughly a third of the changes that felt like improvements measurably weren't — which is the single strongest argument for building the harness before building the system.
Honest limitation: the scoring judge was never formally validated against the expert labels. Agreement on a held-out slice is the right way to do that, and it's what I'd build first if I were starting again.
Retrieval-layer authorisation
Eleven business portals, each with data the others must never see. Filtering results after retrieval is the obvious approach and the wrong one — the model has already seen the content by then. The authorisation filter sits inside the retrieval call, so out-of-scope records are never returned. Zero cross-site leaks.
System two — TheInfinityArt, in progress
Live since September 2026 · Results measured November
TheInfinityArt is a signage, printing and branding studio. Before this system, the business ran on memory: client visits, follow-ups and deadlines held in one person's head or passed to a helper.
We measured the before, because a result you can't compare to anything isn't a result.
300 quotations a month. Twenty minutes each, including finding an old one to copy — around 100 hours a month, roughly half the working month, spent writing quotes.
40–50% of those quotations were never followed up. Not through carelessness. There was simply no list.
Jobs, deadlines and receivables were all tracked the same way: from memory. Things were missed, forgotten or chased twice most of the time.
The system handles clients, quotations, jobs and payments in one place. It has been live since September 2026. We will publish what changed in November, measured against the numbers above.
This is what an honest case study looks like before the results are in. Come back in November.