Guide · Agent orchestration
Parallel Agents: Find the Work That Can Actually Overlap
Map dependencies before running agents at once, and keep parallel work from creating conflicting edits or premature conclusions.
Three agents running at once can finish later than one agent working in order. The usual problem is dependency: one worker needs a decision another hasn't made yet. Before increasing concurrency, write down what each task needs before it can produce a useful result.
Sketch the waiting points
Take a hypothetical customer portal change. One task defines the response from a new endpoint. Another builds the screen that consumes it. A third checks the permissions. The interface and permission checks can be explored early, but final integration depends on an agreed endpoint contract.
Write that contract first or give one worker responsibility for resolving it. Then let the screen and endpoint implementations proceed against the same example. A few minutes spent agreeing on field names can prevent several rounds of incompatible work.
Distinguish exploration from implementation
Two workers can independently inspect different parts of a codebase before the implementation plan is final. Ask them to return findings and relevant paths. Those findings help the coordinator make a better plan without committing the team to premature edits.
Once editing starts, narrow ownership. If both workers need to change the same shared type, let one own the change and communicate the result. Separate worktrees protect files from direct overwrites, but they do not guarantee that independently designed interfaces will agree.
Wait where the evidence is required
A writer can outline a report while researchers gather evidence. It should leave factual conclusions open until the sources arrive. Otherwise, the final stage becomes an attempt to fit evidence into a conclusion that was written too early.
Mark provisional work clearly in the coordinator's state. When a dependency changes, revisit the affected downstream work. A new endpoint shape may invalidate a UI check even if that check passed before the contract changed.
Limit the active queue
Choose a small initial number of workers and watch the bottleneck. If every worker finishes quickly but the coordinator spends most of its time merging results, increasing the queue will make that bottleneck worse. Improve the return format or reduce overlapping assignments first.
Also consider shared tools. Parallel requests to a slow service can create a queue outside your agent system. Include service limits, retry behavior, and the cost of repeated reads when deciding how much work to dispatch.
Compare the finished timeline
Record when each assignment started, when it had the inputs it needed, and when its result was accepted. That separates useful overlap from time spent waiting or repairing assumptions. Use the same representative task when you try another arrangement.
The best candidate for parallel work has clear inputs, a separate area of responsibility, and an output the coordinator can combine without renegotiating the task. Start there, then expand only when the completed timeline shows a benefit.