Chatbot, workflow, agent — the words get used interchangeably in industry, and the confusion is expensive. The real distinction is a single question: who owns the control flow?
Generates a reply to a message. Control flow: one turn, then back to the human.
Example: a support FAQ bot that answers “What’s your return policy?”
LLM calls arranged along a predefined code path — steps and routing written by a developer.
Example: classify ticket → look up account → draft reply from template.
The LLM owns the control flow: it decides the next action from observations and state, acts, and continues until a stop condition.
Example: “find and book the best venue” — which searches, calls, and comparisons happen is decided at runtime.
| Chatbot | Workflow | Agent | |
|---|---|---|---|
| Who owns control flow | Human (per turn) | Developer (in code) | The LLM, at runtime |
| Path across runs | One turn | Same steps every time | Changes with observations |
| Predictability | High | High — auditable | Lower — needs eval + guardrails |
| Best when | Answering is enough | Steps are known in advance | The path can’t be scripted |
Anthropic’s framing (this week’s reading): workflows use predefined code paths; agents direct their own process — and you should look for the “simplest thing that works.” (Anthropic, Building Effective Agents, 2024.)
Click each pattern. Deterministic, auditable, cheap — and often all you need. Knowing them keeps you from building an agent where a workflow would do.
Drag the dial. Value rises with autonomy — and so do risk and the oversight you owe it. The engineering discipline: pick the lowest autonomy that solves the problem.