LangChain’s subagents guide (read 6 October 2026) defines the pattern as “a central main agent (often referred to as a supervisor) coordinates subagents by calling them as tools.” The older langgraph-supervisor library now recommends “the supervisor pattern directly via tools rather than this library for most use cases” in its README; the GitHub repository is archived, and 0.0.31 (19 November 2025) is its last release.
How does a supervisor agent coordinate workers?
The supervisor reads shared state, chooses a worker, sends a bounded task, and receives one result before choosing the next route. It should pass only the context the next worker needs, not every message and tool result. A subagent can research, write, or call a dedicated system while the supervisor keeps the goal and the stop condition. The pattern is one form of a multi-agent system and close to the orchestrator-worker pattern, though an orchestrator can also route by fixed rules rather than a model.
When do we use a supervisor agent at Soba Labs, and when not?
Our scheduled agent that prepares the day’s meetings is a supervisor. It classifies every meeting itself, because classification must be consistent across the day and is cheap, then dispatches exactly one worker per meeting for the expensive research. Workers return text, and every write is made by the supervisor, so one prep document per meeting holds by construction rather than by each worker behaving. Three rules govern how our supervisors handle workers:
- Report from what came back, not from what was dispatched. A worker that died returns nothing, and a summary row written from the dispatch list invents a result, so a missing result is reported as missing.
- Replace a silent worker on a ceiling. Each role has a time limit (30 minutes by default); past it the supervisor spawns one replacement with the same brief, and a required role that fails again ends the run as failed instead of hanging.
- Treat a bad input as a supervisor bug. When one worker reports an input defect, the others likely hit it too. One wrong premise in a brief, that a database was unreachable, once reached thirteen sub-agents and produced a long, well-cited diagnosis; one command over another configured route reached it.
When the steps are known in advance, we skip the supervisor and build a deterministic LangGraph graph, as covered in Deep agents in production.
When is a supervisor the wrong choice?
A supervisor adds model calls, state, and another place for routing to fail. Anthropic’s multi-agent research write-up (13 June 2025) reports that multi-agent systems use about 15 times more tokens than chats, and LangChain’s multi-agent guide notes that a single agent with the right tools and prompt “can often achieve similar results.” Use a supervisor only when workers genuinely need separate tools, permissions, or expertise. Software that judges an agent instead of directing it is a guardian agent, and when a worker returns control, an explicit agent handoff keeps ownership of the next decision clear.