As I think through this, I agree with others mentioning that "deep agents" still sounds a lot like agents+tools. I guess the takeaway for me is:
1. You need a good LLM for base knowledge.
2. You need a good system prompt to guide/focus the LLM (create an agent).
3. If you need some functionality that doesn't make any decisions, create a tool.
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.
> 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.