The temptation to split everything into micro-agents is strong. In practice, every handoff between agents introduces latency, context loss, and failure points.
We use multi-agent only when there are clearly separated domains with stable interfaces: an extraction agent, a validation agent, and an action agent. Never more than three in a chain.
For most cases, a single agent with well-designed tools outperforms a poorly coordinated swarm.