Over the past year I have watched many teams build multi-agent systems "for scale". The picture is usually the same: a dozen agents, each with its own prompt, all talking to each other, and after a week nobody knows who owns what.
The problem is not the agents. The problem is that the system gets designed like a group chat instead of a production line.
What works in practice:
- One orchestrator with clear responsibility. It plans, routes and accepts results. A dispatcher, not a democracy of agents.
- Each agent has a narrow task and its own context. A shared memory pool turns into soup fast, and soon nobody remembers where anything came from.
- A separate checking lane. The agent doing the work should not be the one deciding the work is good.
One more observation. The question "which model should we pick" almost always pushes aside the question "who verifies the output, and how". That is backwards. In production the second question matters more. You can swap a model in a day. A broken quality loop takes months to untangle.
Short version: start with orchestration and control, not with agent count. Three agents with a decent dispatcher will beat fifteen without one.