Meta's thin orchestrator: a deterministic router with 14 specialist agents, decoded
Meta replaced a hallucinating do-everything agent with a 1,300-line deterministic router and 14 specialists. Here's how to copy the pattern at small scale.
Picture a platform engineer at a 40-person SaaS company. Over a couple of evenings she built an agent to handle "add a new tracked field" tickets. Each one touches a Python config, a generated TypeScript client and a warehouse model. She gave one agent everything: all three schemas, the naming rules for each repo and the validation steps. It demoed fine. A few weeks into real use, it starts putting the warehouse's naming convention into the TypeScript client, or reusing a pattern meant for one data source on another. Now she rewrites the system prompt for nearly every ticket to keep it on track.
Meta's engineers described that failure in a post on Engineering at Meta dated October 19, 2026. Their single "knows everything" agent for data column onboarding "worked in demos. In production, it started hallucinating." The fix wasn't a bigger context window. It was a 1,300-line orchestrator that "performs zero domain work," routing 20+ workflows to 14 specialist agents. This is an architecture pattern, not a product, and that is why it's useful: you can copy it at the size of your own project.
What it is
Meta's pipeline is config-as-code. Python configurations drive C++ code generation, which feeds data processing services, which populate analytics systems. Onboarding one column spans three repositories, three languages and up to six pipeline stages. The first agent carried all of it: schemas, codegen rules, routing logic, validation requirements and population patterns for 10+ data sources. Meta writes that past a certain context threshold, more knowledge made it worse, and the agent began "applying field naming conventions from one subsystem to another." Meta also tested a second single-agent approach. It reached 70–80% success only when an engineer wrote a custom system prompt for each job, and 10–20% without one.
The redesign, per Meta's post, has these parts. Each maps to a pain from the lede:
- A deterministic orchestrator. It classifies intent, gathers required fields, runs reliability checks and delegates. It "never reasons about code, never generates configurations, and never touches the codebase." Routing stops being something the model can get wrong.
- Fourteen subagents with isolated context. A schema agent, a population agent covering 10 data sources, a validation agent and others. "The population agent for data source A never sees data source B's patterns." This targets the cross-contamination problem directly.
- A fixed 7-step protocol. Read the subagent's instruction file, check for duplicates, gather fields, auto-discover what can be inferred, run a reliability gate for active warnings or required reviewers, delegate, then handle results. Only step 6 uses LLM reasoning.
- Workflow templates. These are deterministic state machines, such as Schema → Validation → Population → Testing. Pipeline migration shipped as a new template with "zero new agent code."
- Knowledge files loaded at runtime. Meta keeps 25+ of them, typically a few thousand tokens each, and the next session picks up edits with no orchestrator change. This replaces rewriting the prompt for each ticket.
On results, Meta reports that configuration prep for a new column fell from three to four days by hand, and about a day with an earlier config-driven system, to under an hour. Meta also says about two-thirds of changes land without significant human edits. To support its diagnosis, Meta cites a Mount Sinai preprint: 65.3% accuracy for orchestrated multi-agent systems versus 16.6% for single agents at 80-task batches, with up to 65-fold lower token use. PPC Land notes it has not reviewed that preprint, so those figures are as Meta reports them. They are not Meta's own production measurements.
Alternatives, each described from its source:
- Claude Agent SDK subagents. Developers Digest describes the SDK as Claude Code's agent loop packaged as a library, with nested subagents and documented caps on depth (3), concurrency (20) and spend. Trade-off: Arize classes its control model as a "Claude-driven loop." Out of the box, the router is a model, not deterministic code, and it runs Claude models only.
- LangGraph. Arize describes "explicit nodes, edges, state transitions, and checkpoints," best fit for workflows "that mix deterministic and model-directed steps." That is the closest match to Meta's template-as-state-machine idea. Trade-off: you design and own the graph.
- Microsoft Agent Framework. Per Developers Digest's framework guide, it documents five named orchestration patterns, including sequential and handoff. It aims at Microsoft and Azure shops.
Who it's for
Pick this up if your agent spans several distinct knowledge domains, such as separate repos, languages or data sources, and its mistakes look like one domain's rules bleeding into another. It also fits if the work is batch-style, where getting it right matters more than speed, and you already find yourself hand-tuning prompts per task.
Skip it if your agent does one job in one domain, or it's a short tool-calling loop. Skip it too if the work is latency-sensitive and user-facing, or if each step needs shared context with the others. DEV Community's analysis says the pattern does not fit "when workflows require tight coupling between steps."
Before and after
Before, with one fat agent:
- A ticket arrives, and one prompt holds every schema, rule and pattern.
- The model decides both what to do and how to do it, in one context.
- Output bleeds conventions across domains, so you patch the system prompt.
- When it fails, you read the model's reasoning to guess where it went wrong.
- A new use case means a longer prompt.
After, with a thin orchestrator:
- Plain code classifies the request and picks a workflow template.
- The router checks for duplicates, gathers required fields and infers what it can.
- A gate checks for warnings or required reviewers before any model call.
- One specialist runs with only its own knowledge files loaded.
- The router surfaces errors or confirms success. Per Meta, a failed subagent is retried or escalated without corrupting other contexts.
- A new use case usually means a new template that reuses existing specialists.
DEV Community makes a related point about debugging: with a thin router, you trace which agent produced the bad output instead of inspecting one model's reasoning about everything.
Try it
Meta has not published a ready-to-run package of this. FOSSWire's headline says Meta "open-sources" the pattern, but its text describes publishing the architecture, and the Meta post's text doesn't point to a repo. Treat a code release as unconfirmed. The smallest real step is to apply Meta's own checklist to an agent you already have:
- List every decision your agent makes. Mark each one as routing (deterministic) or reasoning (probabilistic). Move the routing ones into code.
- Write one workflow template as a fixed, ordered list of steps.
- Split out your first specialist using Meta's five-part structure: knowledge sources, pre-gathering checklist, step-by-step workflow, discovery patterns and troubleshooting.
- Move domain knowledge out of the prompt into files the specialist loads when it runs.
If you build the specialists on the Claude Agent SDK, Developers Digest gives these install commands. As of October 17, 2026 the current versions are 0.3.302 for TypeScript and 0.2.168 for Python:
# TypeScript
npm install @anthropic-ai/claude-agent-sdk
# Python
uv add claude-agent-sdk
# or
pip install claude-agent-sdk
It needs Node.js 18+ or Python 3.10+ and an ANTHROPIC_API_KEY or one of the cloud provider switches. The SDK does not load .env files itself. Our read, not a source's: to keep the router thin, call the SDK from your own deterministic routing code rather than letting the main Claude loop decide which subagent runs.
Where it breaks
- Meta gives no accuracy figures for its own system. The evidence is the time reduction and the two-thirds figure. DEV Community lists hallucination-rate, success-rate and latency numbers it attributes to Meta, but they don't appear in Meta's post. Treat them as unverified.
- The reliability checks are only partly specified. Meta's text shows the warnings and required-reviewers gate, plus retry or escalate on subagent failure. DEV Community describes per-call timeouts and retries with backoff. Meta doesn't spell those out.
- Latency and cost are unknown. DEV Community argues the pattern "trades latency for reliability" because each workflow makes more agent calls. Nobody gives verified latency or cost figures. Truefoundry warns of "inference bills that nobody can reconstruct." It also notes that a wrong fact written into shared state early "can corrupt every subsequent step."
- More agents don't help everywhere. An arXiv study compared six multi-agent setups against a single controller on GPT-4.1, with 3,302 instances per run. Only EvoAgent beat the single agent (79.70% vs 76.65%). The other five trailed by 1.71–8.76 points, and ChatEval used 4.34 times the tokens. Those are benchmark workflows, not Meta's domain split, but they are a reason to measure before you migrate.
- The knowledge files are the real product. Meta says it trades generality for deep domain knowledge. That means curating and maintaining files like its 25+, and that work is yours.
- Lock-in depends on the stack. Per Developers Digest, the Claude Agent SDK runs Claude models only, and products you ship can't offer claude.ai login without Anthropic's approval.
- No independent validation yet. We found no independent team reporting production numbers from moving a single agent to thin-router specialists.
Who picks this: anyone whose agent is failing because it knows too much across too many domains, and who can afford a few extra calls per run. Who skips it: single-domain agents, latency-critical paths, and teams without the time to write and maintain the knowledge files.
Sources
- The Thin Orchestrator: How We Made Our AI Agents More Reliable by Giving the Router Less to Do · Engineering at Meta
- The Thin Orchestrator: How Meta Routes Agent Work Without Overloading the Router · DEV Community
- Meta open-sources thin orchestrator pattern for multi-agent AI systems · FOSSWire
- Meta splits one AI agent into 14 specialists after it hallucinated · PPC Land
- AI agent frameworks compared: LangGraph, CrewAI, AutoGen, and more · Arize AI
- Do More Agents Help? Evaluating Accuracy and Cost in LLM Multi-Agent Workflows · arxiv.org
- Choosing an Agent Framework in Late 2026: 10 Frameworks Compared by Use Case · Developers Digest
- What Is Multi-Agent Orchestration? A Complete Guide · Truefoundry
- Claude Agent SDK in Late 2026: What Is New and How to Use It · Developers Digest