← Field notes
3 min readVajk Turi

How we cut customer-support inquiries by 80% — and the pitfalls on the way

A real project story: an LLM support system across multiple brands, what actually moved the number, and the three mistakes that nearly sank it.

Case studyAgentsSupport automation

Before AI Blacksmiths, I led a six-person AI team at a Malta-based services group serving multiple consumer brands. Our brief sounded simple: customer support was drowning, and leadership wanted to know if "this LLM thing" could help.

Eighteen months later, automated handling had cut incoming support inquiries by roughly 80% across the brands we served. Here's what actually did it — and the three pitfalls that nearly killed the project on the way. This is the stuff I wish someone had told me at the start, and it's now baked into how I run every engagement.

What we built

The core was less glamorous than "an AI support agent" sounds:

  • A retrieval layer over each brand's real content — help articles, policies, product data — using LangChain, embeddings, and Pinecone as the vector store, so the model answered from the brand's own truth instead of improvising.
  • Multiple LLMs behind one interface — OpenAI models and Llama 3 via AWS Bedrock — chosen per task by cost and quality, not loyalty.
  • A template engine for content generation that produced a new brand's full initial support content in minutes. Previously that was weeks of copywriting.
  • One-click bot setup for launching a new brand, because the second brand onboarding revealed that every manual step would otherwise be repeated forever.
  • Plumbing that gets no applause but decides everything: FastAPI services, PostgreSQL, evaluation with RAGAS, tracing with Langfuse, alerts with Sentry.

Pitfall 1: we trusted the demo

The first prototype answered beautifully in demos. In production, real customers asked questions in ways no demo anticipated — typos, mixed languages, questions about things that didn't exist. Quality fell off a cliff nobody saw, because we weren't measuring.

The fix was boring and decisive: an evaluation suite that scored answer quality on real (anonymized) conversations, run on every change. From then on, "did the new prompt make things better?" had a number instead of an opinion. If you take one thing from this post: no eval suite, no production.

Pitfall 2: hallucinations hide in the edge cases

The system was grounded in retrieved content, which prevents most invention — but "most" isn't a word you want in front of a customer. The dangerous cases were the gaps: questions where retrieval found nothing relevant, and the model filled the silence confidently.

We made "I don't know, here's a human" a first-class answer, triggered by retrieval confidence, not model politeness. Counterintuitively, deflection rose when the bot admitted ignorance more readily — customers trusted the answers it did give, and stopped re-asking the same question five ways.

Pitfall 3: the second brand is the real project

Getting one brand live was an achievement. The economics only appeared when launching the next brand took a click instead of a quarter. We spent real engineering time on templating, configuration, and setup automation — work that looked like overhead and turned out to be the product.

If your AI project only works once, you've built a demo with a production bill.

What this means for your support queue

The 80% number wasn't one clever model. It was retrieval over your own content, honest escalation, measurement on every change, and repeatability. None of it is magic; all of it is engineering. That's the difference between a chatbot your customers resent and a system that quietly removes most of a queue.

If your team is buried in repetitive inquiries, this playbook transfers — and the first step is a readiness check, not a rebuild. Book a 30-minute intro and I'll give you an honest read on whether it fits your setup.

Have a project in mind?