Agent vs subagent: one owns the goal, one does a single task
An agent owns the goal and talks to you. A subagent is a worker an agent sends off to do a single task and report back. Both are the same kind of worker. "Subagent" is a seat in the workflow, and the label says nothing about rank.
If you assumed a subagent is a smaller, dumber agent, that is the thing to unlearn. They are the same creature. What changes is who owns the goal. Picture a general contractor running your renovation (the agent) and the electrician they call in for one job (a subagent). They are the same kind of professional, each with a different brief.
| Agent | Subagent | |
|---|---|---|
| Purpose | Owns the whole goal | Does one task |
| Talks to | You, directly | The agent that sent it, not you |
| Working memory | Holds the whole project, so it fills up | Starts fresh, keeps its digging sealed off |
| Tools | Broad, whatever the goal needs | Scoped to its one task |
| Lifespan | Runs from start to finish | One task, then gone |
| Hands back | The finished result | A short answer, with the mess left behind |
The real reason to split the work is a clean desk
An agent, like a person, can only hold so much in its head at once. When that space fills up, the agent experiences context rot. If the contractor personally crawled through every wall and read every appliance manual, they would lose the plot of the renovation. So the deep, messy tasks go to a subagent who works in their own room and comes back with just the answer. The agent stays clear-headed for the big picture.
The catch: subagents cost time and money
Every subagent is a fresh worker who has to be briefed, so a crowd of them can cost several times as much time and money as one worker alone. So you delegate the heavy, self-contained tasks and let the small stuff happen in place.
The bottom line
The same kind of worker can own the goal or handle a single task. An agent owns the goal and talks to you; a subagent is lent out for one task and returns a clean answer. From there, each dispatched worker gets a subagent definition with a job and an output format, and the one holding the plan decides which worker gets which task.