Coordination is a tax. You don't want to chase this.
Everyone who is doing community of models via message passing is losing the game right now. Every single case of gas town I've seen could be refactored into a single agent loop with a well curated set of tools.
I think designing the tools is the hardest part in doing this AI harness/agent thing correctly. If you feel inclined to create an entirely new role in the system, it's likely you couldn't figure out a clean way to make two tools work together. This conflict is not resolved simply by moving the two tools to two different agents. This merely hides the old problem inside a new one.
From what I can tell, subagents are used to paper over poor context and cache management. In my local model constrained environment, figuring out a rolling compaction and eviction procedure in the optimum context size seems the best goal for the agent.
Once I've got that, then likely there's just going to be an infinite agent loop that adapts to whatever the current needs are.
So far I've gotten up to about 6 million tokens in a constrained max 128k window before something shits the bed. Still working on it.
Subagents have some place still, but I think you're right in that they're papering over a tool use problem. For larger labs, they're primarily a resource reduction, where smaller context models can be tied to equipment with a reverse proxy load balancer. For large context agents, you can't use a load balancer, your context must live on a single hardware device.
So while I agree you can optimize a single agent, what's forcing subagents at the cloud providers is the reality of load balancing.