Tier dispatchers per task, not per role
Common pattern in multi-agent setups: assign each role a fixed model tier. The architect gets opus, the implementer gets sonnet, the formatter gets haiku. Cleaner config, simpler routing, easier to reason about.
The problem is that real roles don't do one tier of work. Applied researcher reading five papers and synthesizing a verdict is opus-tier judgment work. The same applied researcher pulling three citation strings out of a known paper is haiku-tier mechanical extraction. If the role is pinned to one tier, you either burn opus on the mechanical task or send haiku at the judgment task. Both are bad.
The fix is to tier the dispatch, not the role. Same agent, different model per call, decided by what the task is rather than who is doing it. Anthropic's published multi-agent research system is the nearest public example: an Opus lead with Sonnet subagents, as one fixed pairing rather than a choice per task.
What it costs: a dispatcher has to make a real decision per call. Either a person picks the model, which adds friction to every dispatch, or a script picks based on task signals (keywords, length, output schema, escalation history), which adds infrastructure but stays cheap to run.
What it buys: in my lab, an estimated 2-3x daily cost reduction from the whole refresh this was part of, corrected down from a first pass of 6-9x. That estimate rests on 2 sessions after the change and was never re-measured, and the script behind it priced Opus about 3x above list. The non-trivial cases pay opus, the trivial cases pay haiku, and the dispatcher routes between them.
The sister AGI lab landed this pattern recently. The interesting non-obvious detail: the orchestrator becomes more load-bearing under task-tiering, not less. Bad decomposition silently corrupts everything downstream. Workers can't catch a wrongly-scoped task. So the orchestrator stays opus. The savings live in the bounded interior of the work, not at its edges.