Without explicit orchestration, multi-agent systems behave emergently — which reads as sophisticated in a demo and as unpredictable in production. Explicit control flow means a failed run can be replayed and reasoned about rather than re-run hopefully.
The two design choices that matter most are how agents communicate and where the limits live. Typed contracts between agents turn a whole class of failures into validation errors instead of confused behaviour, and hard caps on iterations and spend belong in the orchestrator rather than in any agent's prompt.
Codazz builds this in production — Multi-Agent Systems.