Building Production AI Customer Support Agents with Multi-Agent Architecture and Human-in-the-Loop Design

lorikeet · Tech · 2026 · source Agentic: yes · promotional bias: low · source-backed · extracted with prompt 0.5.5 (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: AI customer support automation for regulated and high-volume support teams

Lorikeet needed to automate customer support work that goes beyond FAQ answering: agents had to operate inside existing ticketing systems, look up information across tools, take actions, know when to escalate, and help non-technical support teams configure and improve the system safely.

Constraints:

Architecture

Lorikeet uses a two-agent architecture. The customer-facing concierge agent sits on top of existing ticketing platforms as another team member, reads instructions and business context, uses configured tools, follows guardrails, and handles customer tickets across channels. The internal coach agent helps support teams configure workflows, create tests, diagnose trace failures, write or adjust instructions, and propose guardrails. A resolution-in-the-loop pattern lets the concierge keep ticket ownership while asking a human for the one missing fact or decision needed to continue. Guardrails run as isolated LLM-as-judge checks before responses reach customers, and customer-defined eval scenarios drive SOP and guardrail improvements.

Diagram confidence: reconstructed (reconstructed from prose).

flowchart LR
  customer-ticket["Customer ticket"] --> ticketing-platform["Ticketing platform"]
  ticketing-platform --> concierge-agent["Concierge agent"]
  business-instructions-and-sops["Business instructions and SOPs"] --> concierge-agent
  configured-tools["Configured tools"] --> concierge-agent
  concierge-agent --> guardrail-checks["Guardrail checks"]
  business-context["Business context"] --> guardrail-checks
  guardrail-checks --> human-support-agent["Human support agent"]
  concierge-agent --> resolution-in-the-loop-request["Resolution-in-the-loop request"]
  resolution-in-the-loop-request --> human-support-agent
  resolution-in-the-loop-request --> knowledge-base["Knowledge base"]
  human-support-agent --> coach-agent["Coach agent"]
  coach-agent --> evaluation-scenarios["Evaluation scenarios"]
  coach-agent --> trace-diagnostics["Trace diagnostics"]
  coach-agent --> business-instructions-and-sops
  hybrid-configuration-ui["Hybrid configuration UI"] --> coach-agent
  evaluation-scenarios --> concierge-agent
Drag to pan · scroll or use +/− to zoom · reconstructed from the source's described component topology

Components

Component Role Interacts with
Customer ticket Incoming customer request across email, live chat, or voice that may require knowledge, action, or escalation. Ticketing platform, Concierge agent
Ticketing platform Existing Zendesk, Intercom, or similar support workspace where human teams already manage queues, triage, and tickets. Customer ticket, Concierge agent, Human support agent
Concierge agent Customer-facing support agent that responds in ticketing channels, follows customer instructions, uses tools, and defaults to handoff when uncertain. Customer ticket, Ticketing platform, Business instructions and SOPs, Configured tools, Guardrail checks, Resolution-in-the-loop request, Human support agent, Coach agent
Business instructions and SOPs Customer-specific process, tone, personality, workflows, and policy context used to configure concierge behavior. Concierge agent, Coach agent, Evaluation scenarios
Configured tools Customer-approved systems such as admin pages, databases, order tools, or refund workflows that the agent can inspect or act through. Concierge agent, Human support agent
Guardrail checks Isolated LLM-as-judge checks that run before customer responses and decide whether to allow, steer, or escalate. Concierge agent, Business context, Human support agent, Coach agent
Business context Domain and regulatory context supplied by each customer so checks and instructions are interpreted correctly. Guardrail checks, Coach agent, Business instructions and SOPs
Resolution-in-the-loop request Narrow request for a human to unblock one missing fact, policy decision, or regulation interpretation while the concierge keeps the conversation. Concierge agent, Human support agent, Knowledge base
Human support agent Handles hard tickets, answers resolution-in-the-loop questions, reviews AI behavior, and supplies expert judgment. Ticketing platform, Resolution-in-the-loop request, Coach agent, Trace diagnostics
Coach agent Internal configuration and debugging agent that helps teams define instructions, tests, simulations, trace fixes, and guardrails. Concierge agent, Business instructions and SOPs, Evaluation scenarios, Trace diagnostics, Guardrail checks, Human support agent
Evaluation scenarios Customer-defined good/bad examples and simulations that test refund flows, escalation behavior, guardrails, and SOP correctness. Coach agent, Business instructions and SOPs, Concierge agent
Trace diagnostics Execution traces and highlighted failure points used by customers and coach to diagnose why the concierge behaved incorrectly. Coach agent, Human support agent, Concierge agent
Knowledge base Customer knowledge materials that improve incrementally as escalations and missing answers reveal gaps. Concierge agent, Resolution-in-the-loop request, Coach agent
Hybrid configuration UI Combines conversational coach interactions with structured pages and contextual buttons for review and task-specific AI help. Coach agent, Human support agent, Evaluation scenarios

Data flow

A customer message enters an existing ticketing platform. The concierge agent acts like another support user in that platform, applies customer-specific instructions, retrieves or uses configured tools, and proposes or sends a response. Before the response reaches the end customer, isolated guardrail checks evaluate whether to steer, escalate, or allow it. If the agent is uncertain or blocked on missing knowledge, it escalates or uses resolution-in-the-loop to ask a human a narrow question, then continues the ticket. Separately, support teams use coach through a conversational and UI-hybrid interface to define good/bad examples, create simulations, inspect traces, diagnose failures, update instructions, and create guardrails.

5 supporting quotes
“Laura is like just another agent on your team that sits on top of your existing ticketing system platform. What customer support teams do then is they have to teach Laura how to talk to their customers. That make sense? >> Yeah. >> And how that works is that”transcript, stated
“you can give it a bunch of instructions, a bunch of tools to look at. Here's the admin page to go look at. It's like how you would train a new starter on your customer support team. >> And it has different capabilities. You can give it its personality. Some”transcript, stated
“before so Lauri based on its training will come up with a response before it goes out to the end customer. a bunch of other little isolated LLM checks run against it”transcript, stated
“I just need to know what the answer to this question is right. So it's not really a part of your knowledge base and so then the human comes in”transcript, stated
“coach can go, "Ah, I noticed that based on your SOP and based on these tickets, this is what's happening. Can you tell me what is good or bad”transcript, stated

Why this architecture

Lorikeet keeps the concierge inside existing support tooling because ticketing platforms already solve queues, triage, and human-agent workflows. It separates concierge from coach because customer-facing automation needs locked-down guardrails, while internal configuration benefits from a cooperative coding-agent-like assistant. Resolution-in-the-loop avoids the two bad extremes of either full automation or full ticket handoff, and test-case-first configuration handles messy customer SOPs better than asking non-technical users to author prompts or workflows from scratch.

4 supporting quotes
“We're not trying to disrupt that. We're trying to bring Lori as a little persona AI agent into the mix where we go and collaborate”transcript, stated
“our concurge agent, which is talking to the general public, is a lot more kind of locked down and has crosscutting guardrails”transcript, stated
“this middle ground I think that we've come up with that Rona was going to experiment with. >> Yeah. So this is we ended up we called it resolution in the loop. So what that entails is essentially going back to what actually going back to what Charmaine was”transcript, stated
“what we're moving towards is actually flipping it as in let's start by getting people to to define what is good and what is bad.”transcript, stated

Models used: LLM concierge agent · LLM coach agent · LLM-as-judge guardrail checks · large language models

Scale

Alternatives considered (roads not taken)

Build a simple knowledge-base question-answering bot

Rejected because: The team observed that support work involved multiple systems, logistics checks, admin pages, and ticketing updates rather than just summarizing docs.

“they weren't summarizing FAQs or or reading docs back to people. Um, it's like the sort of work where you spend all day with five browser windows open”transcript, stated

Replace customers' ticketing platforms

Rejected because: Zendesk, Intercom, and similar tools already provide human operations UI, queues, and triage, so Lorikeet chose to integrate as an AI teammate.

“a lot of the ticketing systems and they've been around in the market for ages like we're talking about Zandes we're talking about intercom”transcript, stated
“they've lived in Zenes for ages. They lived in Interog for ages. We're not trying to disrupt that. We're trying to bring Lori as a little persona AI agent into the mix where we go and collaborate with the human agents rather than take over and say this is”transcript, stated

Give customers a workflow builder and large prompt boxes as the main configuration interface

Rejected because: Customers struggled to know what to put in prompts and building-block workflows were not always easy for support teams to configure.

“The AI boxes, we had the classic, you probably still see it these days, giant text box. You stick a prompt in there and tell AI”transcript, stated
“one of our customers come to us saying, "Hey, what do I stick in here? You're the prompt experts. You tell me what to put in this text box."”transcript, stated

Fully hand off every blocked ticket to a human

Rejected because: Resolution-in-the-loop lets the agent keep ticket ownership when it only needs a narrow missing fact or policy decision.

“The other extreme is I don't know how to respond to this. I'm going to escalate it to a human. And what you're describing is a middle ground”transcript, stated

Patterns

multi-agent-orchestration (agent-architecture)

Lorikeet separates a customer-facing concierge from an internal coach agent, allowing each to optimize for different risk levels and collaboration modes.

“it sounds like you have the concierge agent that's participating in the ticketing system responding to tickets and now you also have a coach agent”transcript, stated
“our concurge agent, which is talking to the general public, is a lot more kind of locked down and has crosscutting guardrails”transcript, stated

human-in-the-loop-gate (control)

The concierge defaults to human handoff when uncertain and uses resolution-in-the-loop to ask humans for targeted unblockers while retaining the ticket.

“if Lauri doesn't know how to answer it's not quite sure by default we'll hand it off to a human”transcript, stated
“the human comes in and then answers that question and then we go and go and focus on feeding that back into the knowledge base again.”transcript, stated

guardrails-io-filtering (safety)

Lorikeet runs isolated LLM guardrail checks before customer responses, using business context to steer or escalate when a response violates rules.

“a bunch of other little isolated LLM checks run against it to check is that good? If not, what should I do? Should I escalate or should I steer it?”transcript, stated
“each say a new customer support team starts using Laura you define you tell Laura what your business is even about. You give it context about your business”transcript, stated

eval-driven-development (evaluation)

The product asks customers to define good and bad test cases first, then uses coach to build or adjust SOPs, simulations, and guardrails from those examples.

“let's define what the test cases are as in when a customer asks about a refund what are the scenarios where we should be escalating”transcript, stated
“what if instead you define the test case of, hey, when a customer does this, what I want it to do is escalate”transcript, stated

observability-tracing (operations)

Lorikeet exposes trace and error-analysis information to customers, then uses coach to diagnose why the AI behaved incorrectly and propose fixes.

“we're basically putting our traces and our error analysis in front of our customers”transcript, stated
“we built in some foundational things to basically build out the trace and map out which ones are the important bits.”transcript, stated

confidence-thresholding (routing)

The system explicitly asks models to evaluate confidence and routes uncertain or risky cases to escalation or guardrail steering.

“We literally explicitly ask it to evaluate its own confidence levels and on top of that we have guardrails as well.”transcript, stated

Tradeoffs

Integrate into existing ticketing systems

Chose An AI teammate/persona inside Zendesk, Intercom, and similar platforms over Replacing the customer's support operations platform.

Rationale: Ticketing systems already handle human operations workflows, and Lorikeet wanted to focus on conversational AI quality and collaboration.

“we're talking about Zandes we're talking about intercom that have put so much like work into establishing that human operation facing UI”transcript, stated
“We're focusing on the actual meaty conversational AI quality part, right?”transcript, stated

Begin with email

Chose Email as the first automation channel over Starting with lower-latency live chat or voice.

Rationale: Email's forgiving response-time expectations gave the team room to connect tooling and resolve real issues before moving to more real-time channels.

“the latency pressure is a lot less. So if you like an email reply in like less than an hour is considered excellent”transcript, stated
“choice of channel made it a pretty easy place to get started and figure out how we could get all of the plumbing connected”transcript, stated

Use resolution-in-the-loop

Chose Agent keeps ownership while asking humans for narrow unblockers over Either full automation or full escalation for blocked tickets.

Rationale: Many cases are just shy of AI resolution; a targeted human answer can unblock the agent without making the customer wait for a complete handoff.

“there's like that gap of exactly what AI can and cannot solve and what we call that is like the hard ceiling and then the soft ceiling.”transcript, stated
“I'm stuck. But I would I could respond to this if I just knew this thing. So I'm gonna ask a human the thing.”transcript, stated

Combine conversational coach with structured UI

Chose Hybrid UI with contextual entry points and review surfaces over A blank chatbot or a purely traditional configuration app.

Rationale: Chat helps express intent, but users need context-specific buttons and structured review to know where to start and verify the agent's work.

“they don't click on that because they know like chat GBT it's not that helpful because it doesn't have context.”transcript, stated
“our customers do not want to click in the prompt in the big conversational interface but they do look for a button in the simulations page”transcript, stated

Gotchas (what bit them)

Positive feedback can hide that prototypes are not solving a burning problem.

Root cause: Early ops/support coaching and information-flow prototypes were liked but became another task for already busy teams.

Resolution: The team embedded with a healthcare support team and followed the demand to clear tickets directly.

“we were just bathed in positive feedback all the time and we had to push really hard for implicit indirect signals that all of our ideas sucked”transcript, stated
“you could answer some of these support tickets and help us clear out the inbox. And so we we started building a tool that could do that.”transcript, stated

Support automation fails if it is treated as FAQ retrieval.

Root cause: Real support tickets require browser/admin lookups, logistics checks, internal docs, and ticket-system actions.

Resolution: Lorikeet built toward agents that can use tools, act in ticketing systems, and ask for missing information.

“they weren't summarizing FAQs or or reading docs back to people. Um, it's like the sort of work where you spend all day with five browser windows open”transcript, stated

Prompt boxes and workflow builders ask too much of non-technical support teams.

Root cause: Customers did not know what to put in large prompts, and building-block workflow UIs were hard to configure.

Resolution: Lorikeet moved toward coach-mediated conversational configuration plus structured review UI.

“what do I stick in here? You're the prompt experts. You tell me what to put in this text box.”transcript, stated
“now we'll have we have this mix of a conversational interface. You just chat to it, tell it what to do, but you still have the UI to help you review”transcript, stated

Generic guardrails can misfire in domain-specific regulated contexts.

Root cause: A hardcoded hostility guardrail treated a legitimate medical-cannabis question as hostile because it lacked business context.

Resolution: Guardrails became customizable and context-aware per customer business and regulatory environment.

“their whole business is weed and one of the customers, their end customers asked Lurke, "Hey, where's my weed?" Which legitimate question for this business”transcript, stated
“now that hostility check can see that context and so the hostility check won't fire because it knows you're in the weed business.”transcript, stated

Helpful customer-support personas are prone to overpromising.

Root cause: LLMs are fine-tuned to be helpful and become even more eager when prompted as customer support agents.

Resolution: Lorikeet adds confidence evaluation, LLM-as-judge checks, and guardrails before responses go out.

“these models are fine-tuned. They're they're very strongly biased towards being helpful, enthusiastic, a little bit overly earnest”transcript, stated
“We literally explicitly ask it to evaluate its own confidence levels and on top of that we have guardrails as well.”transcript, stated

Evaluation

Lorikeet evaluates through real customer data, simulations/test cases, trace review, customer-defined good/bad examples, guardrail checks, and coach-assisted diagnosis of failures.

Metrics: Real customer email CSVs processed through the early CLI/spreadsheet prototype. · Repeated reading of 50 to 100 conversations/traces to identify behavior patterns. · Simulation scenarios for refund flows, escalation/non-escalation, and guardrail behavior. · Escalation distribution such as 50% of handoffs mapping to a knowledge gap. · Average handle time for human agents increasing as routine tickets are automated.

5 supporting quotes
“the actual day-to-day work is just reading conversations and was good what was bad about this now do it 50 more times now do it a 100 times”transcript, stated
“that's like your earliest like eval data set but with real customer data. That's amazing.”transcript, stated
“let's define what the test cases are as in when a customer asks about a refund what are the scenarios where we should be escalating”transcript, stated
“we already see the tickets coming in and coach can go, "Ah, I noticed that based on your SOP and based on these tickets, this is what's happening.”transcript, stated
“it can diagnose, try to fix it, iterate through the fix until the test case passes.”transcript, stated

Outcomes

The source describes multi-channel support, regulated customers, several early subscribers, mature companies at altitude, and escalation analytics, but it does not provide a single ticket-volume total.

4 supporting quotes
“we did a lot of involvement in how do you make the data that were that were in spreadsheets and that were like accessible through CLI into a more digestible state”transcript, stated
“it sounds like you have the concierge agent that's participating in the ticketing system responding to tickets and now you also have a coach agent”transcript, stated
“average handle time of their human operators has actually gone up. So they're spending more time on customer support tickets.”transcript, stated
“we can say 50% of the things being handed off to humans is about this kind of question. Maybe you need to improve your knowledge based article.”transcript, stated