What is an agent?
A model generates. An agent acts. A model is a stateless reasoning engine: information goes in, an answer comes out. An agent is the runtime around that intelligence, combining models with memory, tools, control flows and governance to pursue a goal over time.
Brain vs body, actions vs understanding.
An agent uses one or more models as its reasoning core, sometimes as a team of specialist sub-agents, and wraps them in the systems required to operate: memory, transports, effectors, orchestration and guardrails. That runtime keeps state between turns, acts in external systems, inspects what happened and decides what to do next. Think of the model as the intelligence and the agent as the operating system that puts that intelligence to work.
Isn't ChatGPT a model?
No. ChatGPT is a product, a web / desktop / mobile agent, that runs on top of OpenAI's GPT models. GPT-5 and GPT-4o are the models. ChatGPT is the runtime wrapping them: conversation memory, browsing, code interpreter, file uploads, image generation, custom instructions. Same distinction for Claude the product (agent) vs Claude Sonnet 5 the model, and Gemini the assistant (agent) vs Gemini 2.5 Pro the model.
Where is the boundary drawn?
State and action. A model has no memory of the last call and cannot take actions. An agent has memory (short-term and durable) and can call tools that touch the world. The moment you add a loop that maintains context and can execute a tool, you have an agent, even a very simple one.
Why does this distinction matter?
Benchmarks measure models, real deployments measure agents. When a paper says "GPT-5 achieves 80% on X," the same model inside a different agent stack, different memory, different tools, different orchestration, will produce different numbers. Every "AI beats human" figure in the productivity literature is really an agent-with-a-model figure. The corpus you're reading maps agents; the reasoning core inside them is the model.
Are there hybrid cases?
A raw API call is a model invocation. A single-turn chat with no tools is barely an agent, technically a runtime, but the anatomy is minimal. The interesting agents are the ones that maintain state across turns, invoke tools under a control loop, and enforce a governance boundary on what they can and cannot do. See Agent Anatomy for the parts.