/blog
AgentsArchitecture8 min

Designing Planner–Executor Agents That Don't Drift

A pragmatic recipe for splitting reasoning from action so your agents stay on the rails in production.

May 30, 2026

Most agent failures aren't reasoning failures — they're scope failures. The planner over-commits, the executor improvises, and three tool calls later you're paying for a 40k-token loop that produces nothing.

The split

  • Planner: pure reasoning, no side effects, emits a typed plan.
  • Executor: deterministic dispatcher, runs one step, returns a result.
  • Critic: validates each step against the plan and short-circuits drift.

What we learned shipping this

  1. Make the plan a schema, not prose. JSON schemas with enum step types cut hallucinated tools to near-zero.
  2. Cap retries per step, not per run. Runs that loop forever almost always loop on the same broken step.
  3. Log the delta between plan and execution. That's your eval gold.