> 4. If the agent + tools flows get too wily, break it down into smaller domains by spawning sub agents with focused prompts and (less?) tools.

I think where this ultimately goes is a "coordinator" sort of model where the top-level agent primarily decides what needs to happen next and which agent is most equipped to handle that task. This could potentially happen in a recursive fashion (e.g. an agent for each product the company makes, that agent can dispatch to a "frontend" agent or a "backend" agent, etc).

That allows the agents that actually "do things" to maintain a limited context and set of tools, and the managing agents only have to maintain context on what their sub-agents can do.