What deep agents actually add
Same engine, more furniture. That is the honest summary and it is also the exam answer.
The parameter delta
create_deep_agent takes the entire create_agent surface, plus six additions:
Everything else is inherited. checkpointer, store, state_schema, middleware, all of it, unchanged.
The default tools
A deep agent starts with tools already registered: ls, read_file, write_file, edit_file, glob, grep, execute, task. Version 0.7 added delete to the default filesystem set.
That is a filesystem, a search facility, an execution facility, and a delegation facility, out of the box. execute is the interesting one, because it only means anything if a backend grants it. That thread picks up in module 5.
The fixed middleware stack
Here is the mechanical truth of the whole product:
create_deep_agentiscreate_agentplus a fixed middleware stack: Skills, then Filesystem, then SubAgent, then Summarization, then PatchToolCalls, then your middleware, then the tail.
Your own middleware slots in near the end, after the built-in ones. Which, once you know module 2's ordering rules, tells you a great deal about when your hooks fire relative to theirs.
Currency: the v0.7 boundary
deepagents v0.7 shipped 29 July 2026 and moved a default that older study material still assumes. In its own words: "TodoListMiddleware is now opt-in... we removed the write_todos tool from the base harness."
The rest of v0.7, briefly: base system prompt is now empty, tool descriptions trimmed by roughly 43 percent, base input tokens down roughly 65 percent, backend factories removed, delete added to the default filesystem tools.
Know both states. Through v0.6, planning was in the base harness. From v0.7, it is opt-in. If a question implies write_todos is present by default, it was written against the older behaviour, and the honest read is that the question predates the release rather than that you have misremembered.
One more wrinkle worth carrying: the deepagentsjs README is stale and still advertises write_todos as included, contradicting its own source. When a README and the source disagree, the source wins, and noticing the disagreement is more useful than picking a side quietly.
Try it yourself
Defaults, not capability
This is the insight the exam is most likely probing when it asks you to compare the two constructors. Say it out loud.
If deepagents can do nothing that plain create_agent cannot, what exactly is the difference between them?
The extra parameters
create_deep_agent takes everything create_agent takes, plus a specific extra set. Which of these is NOT one of the additions?
The v0.7 planning tool change
A currency question. deepagents v0.7 shipped on 29 July 2026 and changed a default that older material still assumes.
The default tool set
Worth having cold, because it tells you what a deep agent can reach for without you registering anything.
Name the default tools a deep agent ships with, and say which one depends on a sandbox backend.