Parallelize independent agents, serialize only true…
Run independent agents (those with no input dependencies on each other) in parallel to compress total execution time, and serialize only those agents where one genuinely requires the other's output.
When This Fires
- When optimizing any multi-step workflow for time efficiency
- After mapping dependencies (Map agent dependencies and arrange in topological order…) and discovering steps that are habitually serialized but not dependent
- When total workflow time feels excessive relative to the actual productive work within it
- Complements Map agent dependencies and arrange in topological order… (topological ordering) with the parallel execution optimization
Common Failure Mode
Serializing everything because it's simpler: "First I'll do X, then Y, then Z." If Y doesn't depend on X's output, running X then Y wastes the time during X when Y could have been progressing. The simplicity of linear execution comes at the cost of total duration. For time-sensitive workflows, the dependency analysis (Map agent dependencies and arrange in topological order…) + parallelization is worth the upfront design effort.
The Protocol
(1) From your dependency map (Map agent dependencies and arrange in topological order…), identify sets of agents/steps that have no dependencies on each other. These are candidates for parallel execution. (2) Assess feasibility: can you actually perform these steps concurrently? Some cognitive tasks (writing + reading) compete for the same resource (language processing) and can't truly parallelize. Others (downloading data + outlining a report) use different resources and can. (3) For feasible parallel sets → design concurrent execution. Start both; let whichever finishes first wait for the other if a downstream step needs both outputs. (4) For steps with genuine dependencies → serialize in topological order (Map agent dependencies and arrange in topological order…). Don't try to parallelize what's truly dependent. (5) Visualize the workflow as a DAG (directed acyclic graph): parallel steps are horizontal; dependencies create vertical chains. The critical path (longest serial chain) determines minimum total time.