LangChain has been pushing a term I keep turning over: the deep agent.
The rough idea is that a lot of "agents" are really just a model calling a tool in a loop — shallow, reactive, no real plan. A deep agent is meant to be more than that: the way LangChain frames it, you get a detailed system prompt, explicit planning, sub-agents to keep context clean, and a file system the agent can use as persistent memory. (Their overview is the authoritative version — go read it rather than trust my paraphrase.)
Why it's interesting
I like that it's trying to name the gap between a toy loop and something that can actually carry a long, messy task. That gap is real. It's the same thing I felt using a persistent, memory-carrying agent on my own machine — the difference between "answer this" and "help me run this thing over time" is exactly what they're pointing at.
Why I'm not sold
But I'm not sure "deep" earns its keep as a term yet. It's a bundle of good practices more than a crisp, agreed-on category — and I've watched enough buzzwords calcify around a single vendor's framing to be cautious. Ask ten people what a "deep agent" is and I suspect you get ten answers, most of them just describing whatever their framework happens to do.
So for now I'm filing this under interesting, watch this space rather than adding it to my glossary. If the definition settles and the term outlives the hype, I'll reconsider.
What do you think — is "deep agent" a useful distinction, or just a nicer word for "an agent that's actually good"?