The short version
An agent is a model running in a loop.
The important shift is that it does not stop after one answer. It looks around, picks a next step, does something, checks what happened, and keeps going. That continuing loop is the part that earns the name.
Products pile on memory, approvals, dashboards, subagents, and all the rest. Fine. The loop is still the thing to anchor on first.
Area of effect
A skill changes the agent. A sub-agent is a separate agent.
These two get mixed up constantly, and the clearest way to tell them
apart is to ask where the effect lands. A skill changes how the agent
in front of you behaves. A sub-agent is a second worker the agent
hands a job to.
Using a skill
The agent keeps its full context and stays in one reasoning thread.
The skill adds know-how and points to the right tools, but the same
agent is still doing the work and still deciding, step by step, how
to apply it.
A guided path, not a rail. One context window, one chain of reasoning, better informed.
Invoking a sub-agent
The agent spins up a separate reasoning process with its own context
window, hands over only what that sub-agent needs, and waits for a
result. It gets back an answer to integrate, not a window into how
the sub-agent thought.
Delegation. Separate thread, separate context, a result handed back.
The practical tell is simple. With a skill, the agent knows more and does
the work itself. With a sub-agent, the agent delegates, gets an answer
back, and folds it into its own work.
One nuance worth holding loosely: how much context you hand a sub-agent
is a design choice, so the isolation is tunable rather than guaranteed.
Some orchestrators pass almost nothing, others pass a lot. And some
frameworks build skills as lightweight sub-agents under the hood, which
is part of why the words blur. The separation of reasoning threads is the
real line; the amount of context crossing it is a dial. For the skill
side of this, see skills,
hooks, and wrappers.
How it got this shape
Why the word agent got crowded so quickly
The modern agent story usually starts with ReAct in 2022 because it made the loop legible: reason, act, observe, continue. It was not the first automation pattern of that kind, but it was simple enough that builders could copy it immediately.
Then 2023 happened. LangChain gave developers a convenient way to wire prompts, tools, and memory-like pieces together. AutoGPT made a lot of noise and helped push the word agent into the mainstream, usually with a much looser meaning.
That is how the term got mushy. A loop, a framework, a coding assistant, and a persistent assistant platform all started wearing the same label. More recent systems have moved back toward explicit tool-calling, visible state, and tighter controls, which I think is a healthier direction.