Run Independent Agents in Parallel

When two or more tasks have no ordering dependency and no shared mutable state, run them in parallel agents rather than sequentially — wall-clock latency is the only cost that matters.

What it is

Independent tasks — tasks with no ordering dependency and no shared mutable state — are the genuine case for parallel execution. When an orchestrator has a set of tasks that each need a separate context window and do not depend on each other's outputs, running them sequentially is pure waste: the orchestrator waits for each to finish before beginning the next, while compute sits idle. The correct pattern is to dispatch all independent tasks simultaneously, then wait for all results before proceeding. This is not premature optimization; for any non-trivial independent task set, the wall-clock speedup is linear in the number of tasks. The critical discipline is verifying independence before dispatching. Two tasks are independent if: task B does not need any output from task A; task A and task B do not write to the same shared resource; and the order in which their results are integrated does not matter. If any of these is false, the tasks are not independent and sequential execution is required. The most common failure mode in parallel orchestration is asserting independence that does not exist — declaring tasks parallel because they look separate, then discovering mid-run that they share a file, a database row, or a context assumption. Independence must be verified before dispatch, not assumed.

When to reach for it

When NOT to

Exemplars

Related