TL;DR
- A Senior Support Engineer at Bitmovin built and shipped a production multi-agent AI support system using Google’s Agent Development Kit (ADK), Claude Code, Cursor, and Retrieval-Augmented Generation (RAG).
- What started as a simple RAG prototype that posted internal ticket summaries evolved into a coordinated team of specialized AI agents: a Root Orchestrator that enforces triage-first workflows, a Documentation Agent backed by Vertex AI Search, a Technical Agent for diagnosing encoding failures and API issues, a Search Agent using Google Search grounding for external context, and Handoff, Greeting, and Farewell agents that manage the full conversation lifecycle.
- The system is live today, resolving a significant portion of routine Zendesk tickets automatically, and freeing the human support team to focus on complex, high-touch problems.
Table of Contents
I’m not a traditional software engineer. I work in support, helping customers get the most out of Bitmovin’s Player, VOD and Live Encoder, and Observability solutions across every platform you can think of. However, towards the end of last year, I shipped an AI agent system into production. One that now talks to customers end to end, triaging tickets, searching documentation, diagnosing issues, and resolving many of them without human intervention.
In this blog I’ll walk through how the system was designed, the agent architecture behind it, the lessons learned along the way, and what it looks like in practice today.
From RAG Prototype to Production Tool
When GPT-4 dropped, it got everybody’s attention. I spent months exploring what it could do. Eventually, I was running Llama 2 on my gaming PC (an RTX 2080 doing its best!) just to understand how these models actually worked, what they were good at, and where they fell apart.
At the time, fine-tuning was still the industry hype, but Retrieval-Augmented Generation (RAG) quickly proved more practical. With training being expensive, model advances moving so fast, and our documentation already solid, RAG became the obvious path. Bitmovin was already actively encouraging AI tool adoption across the company, so I took my experiments further. I picked an open-source framework, discussed it with my manager, and put a RAG app into production. It took a Zendesk ticket, triaged it, checked Bitmovin’s documentation, and posted an internal summary for the team to reference.
It was a little verbose, but it worked.
When Agentic Coding Changed the Game
By then, our engineering teams were already using tools like GitHub Copilot extensively. AI-assisted coding wasn’t theoretical at Bitmovin; it was everyday practice. So when a colleague suggested I try Cursor in early 2025, I gave it a spin. Reproducing customer-reported bugs without a sample app is one of the trickiest parts of the job. I explained a bug to Cursor, and it generated a working reproduction on its own. That was a lightbulb moment. AI wasn’t just answering questions anymore, it was helping build the tools we needed to solve them.
However, there’s a massive leap between an internal tool and customer-facing AI. Support conversations are personal. I wasn’t ready to hand those over to an untested model.
Designing the Agent Team
Google’s Agent Development Kit (ADK) changed everything. It let me treat RAG as just one sub-agent inside a larger team. The Support Agent was no longer tied to a single task. Here’s what it does:
- Root Orchestrator — enforces a triage-first workflow and delegates to specialist agents depending on the query
- Documentation Agent — performs retrieval against our knowledge base using Vertex AI Search
- Technical Agent — handles encoding failures, API issues, and diagnostics, and can check Bitmovin’s status page and chain back to the docs agent for release notes
- Search Agent — uses Google Search grounding to cover external context like third-party outages
- Handoff Tool — escalates to a human engineer when the system hits its limits, but only after triage is complete
- Greeting and Farewell Agents — manage the conversation lifecycle, with guardrails that prevent closure or escalation before the right information has been collected
- There are even greeting and farewell agents that manage the conversation lifecycle, and guardrails that prevent the system from closing a ticket or escalating before the right information has been collected.
Instead of writing a clever script, I was now coordinating a team of specialized AI helpers.

Lessons from Building with AI
Along the way, I learned some things worth sharing.
Context matters more than capability.
When I first tried Claude Code, I asked it to generate a web interface for debugging the agent. It built something impressive in a day. The next morning, I revisited the ADK docs and realized ADK already had a built-in web client. AI will happily build something you don’t need if you don’t ground it in the tools that already exist.
Plan-first tools make a real difference.
I hit a wall with some earlier approaches. While Codex offers a larger context window and more generous limits, Claude Code has a robust plan mode, explaining what it was going to do before doing it. For me, it felt less like a code generator and more like a collaborator.
The input/output mindset is everything.
I’m not an expert in the deepest technical intricacies of every tool. But as long as I understand what the input should look like and what the output needs to be, I can figure out, or now orchestrate, the steps in between. That mindset turned out to be exactly what the AI wave demanded.
Where It Stands Today
Today, the Support Agent is live. What started as a single RAG app posting internal summaries has evolved into a multi-agent system that manages customer conversations end to end. Specialist agents handle documentation retrieval and technical troubleshooting, Google Search grounding provides external context, and guardrails ensure proper triage before any escalation or ticket closure.
The system now triages incoming Zendesk tickets and resolves many routine issues automatically before a human ever gets involved. That frees our team to focus on the complex, high-touch problems where human expertise and empathy matter most.
But it’s also proof of a larger shift. I don’t have to be a full-time software engineer to build complex, impactful systems. With tools like ADK, Cursor, Claude Code, and Codex, the barrier to building isn’t deep language expertise anymore. It’s understanding the problem well enough to direct the solution.
I’m no longer just piecing together scripts. I’m orchestrating. And at Bitmovin, where teams across the company are already shipping award-winning AI features into our products, that’s not unusual. When everyone is empowered to build, the whole team moves faster, solves harder problems, and ultimately serves customers better.
FAQs
What is the Bitmovin multi-agent AI support system?
It’s a production AI system built by a Bitmovin support engineer that manages customer support conversations end to end. The system triages incoming Zendesk tickets, searches Bitmovin’s documentation, diagnoses technical issues across the Player, VOD Encoder, Live Encoder, and Observability products, and resolves many routine support issues automatically, without requiring human intervention.
What is a multi-agent AI support system?
A multi-agent system coordinates multiple specialized AI agents, each responsible for a distinct task, rather than relying on a single model to handle everything. In Bitmovin’s case, the agents include a Root Orchestrator (triage and delegation), a Documentation Agent (knowledge base retrieval), a Technical Agent (encoding and API diagnostics), a Search Agent (external context via Google Search grounding), and Handoff, Greeting, and Farewell agents that manage conversation flow and escalation guardrails.
What tools and frameworks power the Bitmovin AI support system?
The core framework is Google’s Agent Development Kit (ADK), which enables multiple specialized sub-agents to be coordinated under a single orchestrator. Documentation retrieval is powered by Vertex AI Search. AI coding tools including Cursor and Claude Code were used to build and iterate on the system. Google Search grounding gives the Technical Agent access to external context like third-party service outages.
How does the AI system decide when to escalate to a human?
The system includes a Handoff Tool that escalates tickets to a human engineer when the agents reach the limits of what they can resolve. Critically, the system enforces a triage-first workflow; guardrails prevent escalation or ticket closure until the right information has been collected, ensuring human engineers receive well-scoped, already-triaged issues rather than raw, unprocessed requests.
Do you need to be a software engineer to build an AI agent system?
Not anymore. This blog is a direct example: a support engineer with no traditional software development background built and shipped a production multi-agent AI system. With tools like Google ADK, Cursor, Claude Code, and modern RAG frameworks, the barrier to building has shifted from deep programming knowledge to a clear understanding of the problem you’re trying to solve.