Duplicated work and lost shared context
The most common way subagents waste effort is quiet duplication: two subagents, dispatched to handle what looked like separate pieces of a task, each independently discover the same underlying fact, or each modify the same shared resource without knowing the other is doing so, because neither had visibility into what the other was working on. This isn't a bug in any single subagent's reasoning, each one behaved sensibly given what it could see, it's a consequence of the decomposition itself: if the pieces weren't actually as independent as they looked when the task was split up, the isolation that made subagents useful becomes the reason they collide.
The fix isn't to abandon decomposition, it's to be honest about dependencies before splitting. If two pieces of work are likely to touch the same file, the same conclusion, or the same external resource, that's a sign they aren't independent enough for parallel subagents, and either the task should be split along a different boundary, one where the pieces genuinely don't overlap, or the overlapping part should be handled first, by the orchestrator or by one subagent, with the result then handed to the rest as a shared starting point instead of left for each of them to rediscover.
