By Sagar Shankaran, Founder of CallSphere
One routing brain, many narrow workers. Why supervisor-and-specialists wins in production over decentralized swarms — with LangGraph code, OneRoof's 10-agent topology, and the failure modes nobody warns you about.
Key takeaways
TL;DR — Supervisor + specialists is the boring, correct default for 2026 multi-agent systems. One LLM routes; the others execute. CallSphere's OneRoof real-estate stack runs exactly this shape: a Triage Aria supervisor in front of nine specialists. Skip swarms until you've shipped two supervisor systems first.
A supervisor agent sits at the top of the graph. It owns the user-facing conversation, holds shared state, and chooses which specialist to invoke next. Specialists never talk to each other directly — every hop goes through the supervisor.
The supervisor LLM does routing only. It does not call domain tools. Specialists call tools. This split is what keeps the pattern debuggable: every transition is one LLM call, one decision, one trace span.
flowchart TD
USER[User] --> SUP[Supervisor LLM]
SUP -->|route: property| A1[Property specialist]
SUP -->|route: suburb| A2[Suburb research]
SUP -->|route: mortgage| A3[Mortgage calc]
SUP -->|route: viewing| A4[Viewing scheduler]
SUP -->|route: agent| A5[Agent matcher]
A1 --> SUP
A2 --> SUP
A3 --> SUP
A4 --> SUP
A5 --> SUP
SUP --> USER
Skip supervisor when you have only two specialists (just route in code) or when latency budgets are under 400ms end-to-end.
CallSphere's OneRoof real-estate vertical is a textbook supervisor system: Triage Aria is the supervisor, in front of nine specialists — property finder, suburb researcher, mortgage calculator, viewing scheduler, agent matcher, listing summarizer, comparable-sale fetcher, document explainer, and a fallback FAQ agent. Ten agents total, all sharing one Postgres + ChromaDB state.
Across the wider platform CallSphere runs 37 specialized agents · 90+ tools · 115+ DB tables · 6 verticals. Every vertical (OneRoof, UrackIT, healthcare, salon, behavioral health, after-hours) follows the supervisor pattern with vertical-specific specialists swapped underneath.
Hear it before you finish reading
Talk to a live CallSphere AI voice agent in your browser — 60 seconds, no signup.
Pricing tracks the same shape: Starter $149/mo · Growth $499/mo · Scale $1,499/mo, all with a 14-day trial and a 22% affiliate kickback. Start a trial and you'll see the supervisor's routing decisions in the live transcript view.
from langgraph.graph import StateGraph, END
from langgraph_supervisor import create_supervisor
property_agent = create_react_agent(model="gpt-4o-mini", tools=[search_listings])
suburb_agent = create_react_agent(model="gpt-4o-mini", tools=[suburb_stats])
mortgage_agent = create_react_agent(model="gpt-4o-mini", tools=[calc_payment])
workflow = create_supervisor(
[property_agent, suburb_agent, mortgage_agent],
model="gpt-4o",
prompt="Route to property/suburb/mortgage. Never call tools yourself."
)
app = workflow.compile()
The supervisor uses a stronger model (gpt-4o or Claude Sonnet 4.6); specialists use cheaper models. That alone cuts token cost 40–60% versus running one big agent.
Q: Supervisor or swarm? Supervisor. Every time, until you've shipped two supervisor systems and hit a bottleneck swarms genuinely fix.
Q: How many specialists is too many? Past 12, routing accuracy drops below 90% on a single supervisor. Split into a two-tier hierarchy.
Q: Should the supervisor remember past turns? Yes — keep a rolling 6-turn message buffer in shared state. Specialists read it, never mutate it.
Q: Does the supervisor pay for itself? On 5,000+ calls/month, yes. The cheaper specialist models save 3–5x more than the routing call costs.
There is a clean theory behind supervisor + Specialists and there is a messier reality. The theory says agents reason, plan, and act. The reality is that agents stall on ambiguous tool outputs and double-spend tokens unless you put hard limits in place. What works in production looks unglamorous on paper — small specialized agents, explicit handoffs, deterministic retries, and dashboards that show you tool latency before they show you token spend.
Still reading? Stop comparing — try CallSphere live.
CallSphere ships complete AI voice agents per industry — 14 tools for healthcare, 10 agents for real estate, 4 specialists for salons. See how it actually handles a call before you book a demo.
Agentic AI in a real call center is a different beast than a single-LLM chatbot. Instead of one model answering one prompt, you orchestrate a small team: a router that decides intent, specialists that own a vertical (booking, intake, billing, escalation), and tools that read and write to the same Postgres your CRM trusts. Hand-offs are where most production bugs hide — when Agent A passes context to Agent B, anything that isn't explicit in the message gets lost, and the user feels it as the agent "forgetting." That's why the systems that hold up under load are the ones with typed tool schemas, deterministic state stored outside the conversation, and a hard ceiling on tool calls per session. The cost story is just as important: a multi-agent loop can quietly burn 10x the tokens of a single-LLM design if you let it think out loud at every step. The fix isn't a smarter model, it's smaller agents, shorter prompts, cached system messages, and evals that fail the build when p95 latency or per-session cost regresses. CallSphere runs this pattern across 6 verticals in production, and the rule has held every time: the agent you can debug in five minutes will out-survive the agent that's "smarter" on a benchmark.
Q: Why does supervisor + Specialists need typed tool schemas more than clever prompts?
A: Scaling comes from constraint, not capability. The deployments that hold up keep each agent narrow, cap tool calls per turn, cache the system prompt, and pin a smaller model for routing while reserving the larger model for synthesis. CallSphere's stack — 37 agents · 90+ tools · 115+ DB tables · 6 verticals live — is sized that way on purpose.
Q: How do you keep supervisor + Specialists fast on real phone and chat traffic?
A: Hard ceilings beat heuristics. A maximum step count, an idempotency key on every tool call, and a fallback to a deterministic script when confidence drops below a threshold are what keep the loop bounded. Evals that simulate noisy inputs catch the rest before they reach a real caller.
Q: Where has CallSphere shipped supervisor + Specialists for paying customers?
A: It's already in production. Today CallSphere runs this pattern in Sales and After-Hours Escalation, alongside the other live verticals (Healthcare, Real Estate, Salon, Sales, After-Hours Escalation, IT Helpdesk). The same orchestrator code path serves voice and chat — the difference is the tool set the router exposes.
Want to see real estate agents handle real traffic? Spin up a walkthrough at https://realestate.callsphere.tech or grab 20 minutes on the calendar: https://calendly.com/sagar-callsphere/new-meeting.
Written by
Sagar Shankaran· Founder, CallSphere
Sagar Shankaran is the founder of CallSphere, where he builds production AI voice and chat agents deployed across healthcare, hospitality, real estate, and home services. He writes about agentic AI, LLM engineering, and shipping voice agents that handle real calls in production.
See how AI voice agents work for your industry. Live demo available -- no signup required.
How we built a fault-tolerant HVAC emergency triage and tech-dispatch platform on Kubernetes — three-tier CQRS, 11 micro-agents on the OpenAI Agents SDK + LangGraph, NATS JetStream, DTMF/SMS/WebSocket acceptance, circuit breakers, and an evaluation pipeline that catches regressions before they wake a tech at 3 AM.
How to design a multi-agent system using MCP for tools and A2A for cross-vendor coordination, with a CallSphere voice agent as a participating node.
A2A is the open standard for agent-to-agent coordination. Here is how the Agent Card JSON works, how discovery happens, and what to publish.
A2A unlocks cross-vendor agent coordination, but most enterprise voice/chat workloads still ship faster on a single-vendor stack. Here is how to choose.
Fully autonomous agents are still a fantasy in production. LangGraph's interrupt() lets you pause for human approval mid-graph without losing state. We cover approve/edit/reject/respond actions and CallSphere's escalation ladder.
How to stream tokens, tool-call deltas, and intermediate steps from an agent — with code for both the OpenAI Agents SDK and LangChain — and the gotchas that bite in production.
© 2026 CallSphere LLC. All rights reserved.