Planner, Executor, Critic, When to Add Agent Roles

Pull-quote: “Add a second agent for the same reason you add a second reviewer: not because one is dumb, but because it cannot independently check its own work.”
Why this matters
Multi-agent architectures are currently over-prescribed. Teams reach for a crew of named agents, a planner, a researcher, a writer, a reviewer, when a single agent with good tools and a good loop would finish faster, cheaper, and with fewer failure modes. Multi-agent is not a maturity level; it is an engineering tradeoff, and the honest starting position is one agent until the task proves otherwise.
The default: one agent, good tools
A single agent holds one coherent context. It never miscommunicates with itself, never waits on itself, and its transcript reads top to bottom. Coordination overhead (handoff messages, duplicated context, disagreement resolution) is a tax paid on every step, and it only earns a return when the structure buys something a single context cannot provide.
| Question | If yes → consider roles | If no → one agent |
|---|---|---|
| Must verification be independent of generation? | Critic role | Self-checks in the loop suffice |
| Do subtasks poison each other’s context? | Isolated executors | Keep one context |
| Do subtasks parallelize with little shared state? | Parallel executors | Sequential loop is simpler |
| Is the cost of a wrong answer very high? | Consensus among models | Single pass + gate |
The critic pattern
The role that pays for itself most often is the critic, and the reason is structural, not psychological. A model reviewing its own output inherits its own assumptions: whatever misreading produced the error also grades it. A critic with a separate context, a narrow rubric, and no investment in the draft catches a different class of error, the same reason code review works even between engineers of equal skill.
┌──────────────────────────────────────┐
│ │
▼ │
Planner ──────► Executor(s) ──────► Critic ───────┤
(decompose, (tool calls, (rubric, │ revise
sequence) isolated independent │
contexts) context) │
│ pass
▼
Accept
Two disciplines keep the critic honest. First, the critic checks against artifacts, not vibes: the requirements, the schema, the source documents, the test results. Second, the critic’s verdict is structured: pass, or a list of specific defects. The revision loop then has something concrete to act on and a termination condition (“no defects found”) rather than an aesthetic one.
When consensus is worth it
Consensus, running multiple models or multiple independent passes on the same judgment and comparing, is the expensive end of the spectrum: you pay the full inference cost per voter. It is worth paying when individual judgments are noisy, errors are costly, and disagreement itself is informative. Screening decisions are the canonical case: systematic literature review has required dual human reviewers for decades for exactly this reason, and multi-model consensus mirrors that standard, with two independent judgments per record and disagreements surfaced for adjudication rather than averaged away. That last part is the design insight: consensus is most valuable not when voters agree, but when their disagreement flags exactly the items that deserve human attention.
Coordination overhead is real
Every role boundary adds cost you should price before you pay it: context duplicated into each role, latency serialized across handoffs, and new failure modes (a planner whose plan the executor cannot follow, a critic applying a stricter standard than the requirements). A useful smell test: if your agents spend more tokens talking to each other than calling tools, the architecture is performing collaboration rather than doing work.
Closing
Start with one agent, a good tool set, and a verification gate. Add a critic when checking must be independent of generating. Add executors when contexts genuinely need isolation or parallelism. Add consensus when single judgments are noisy and errors are expensive, and use the disagreements, not just the votes. Roles are scaffolding, and scaffolding is justified by load, not by fashion.
