A chatbot answers; an agent acts. If the task ends when the person has the information, build a chatbot. If the task ends when a system has been changed, you are building an agent — and the engineering effort moves from answer quality to permissions, verification and recovery.
The distinction that matters
The words are used loosely, so start with a definition that has engineering consequences. A chatbot returns information to a person. Its output is text, and the person decides what to do next. An agent takes actions in systems. Its output is a change of state — a record updated, a ticket raised, a message sent — and it is judged on whether the task completed correctly.
Everything else follows from that. A wrong chatbot answer is a bad experience the person can catch. A wrong agent action is a wrong record, and the person may never see it happen.
They fail in different places
Chatbots fail on knowledge. The typical failure is a confident answer assembled from nothing, because the question fell into a gap in the source material and nothing stopped the model from filling it.
Agents fail on control. The typical failure is a multi-step task that succeeded in steps one to three and failed at four, leaving two systems disagreeing with each other and no record of why.
This is why the engineering budgets look so different. For a chatbot, most of the work is retrieval quality, citation and knowing when to decline. For an agent, most of the work is the tool catalogue, scoped credentials, idempotency, verification and the escalation path.
What each actually costs to run
Chatbots are cheap per interaction and predictable. One question is roughly one retrieval and one model call. Volume scales linearly and you can cap it.
Agents are neither. A single task may involve a dozen model calls, several tool invocations and a retry loop. Cost per completed task varies by an order of magnitude depending on how cleanly the input arrives. If you deploy an agent without a per-run cost ceiling, you will eventually find that out expensively.
- Chatbot: cost per question, easy to forecast, easy to cap
- Agent: cost per completed task, highly variable, needs a hard ceiling
- Agent: also carries the operational cost of reviewing escalations
How to choose
Ask what the person is trying to finish.
- If they need to know something, and will act themselves, build a chatbot.
- If they need something done, and the steps are stable and rule-based, build ordinary automation — no model required, and it will be cheaper and easier to reason about.
- If they need something done, and the input varies enough that rules keep breaking, an agent is justified. That variability is the only thing that pays for the extra engineering.
The middle case is the one people skip. A great deal of work labelled as an AI agent project is a stable process that could be automated deterministically for a fraction of the cost, with none of the verification burden.
A sensible sequence
Where both are eventually wanted, build the chatbot first. It forces you to inventory and clean the knowledge the agent will need anyway, it produces a transcript of what people actually ask, and it delivers value while the harder system is still being designed.
Then widen. Give the assistant read-only tools first — look up an order, check a status. Then a single reversible write with an approval gate. Then remove the gate on the operations that have proven themselves. Autonomy earned in that order is autonomy you can defend.
AI Agents
An agent is a system that is allowed to do things. That makes the design question a question about boundaries, not about intelligence.
AI Agents