HASZB_AIHASZB_AI

Search across courses, lessons, glossary terms, prompts and tools.

Stage 6 · AI Agents

Chatbot versus agent

The difference is not intelligence. It is whether the system can take actions and decide for itself how many steps to take.

6 min read

In this lesson

  • State precisely what makes something an agent
  • Identify the three capabilities a chatbot lacks
  • Judge when an agent is the wrong choice

"Agent" is used loosely enough to mean almost anything. There is a precise difference, and it is not that agents are smarter — often the underlying model is identical.

The three things a chatbot cannot do

Take actions. A chatbot produces text. An agent can call tools that change something — send the email, write the row, open the pull request. The output is an effect in the world, not a description of one.

Control its own loop. A chatbot answers once per message. An agent decides whether it is finished. It may take one step or fifteen, and it determines which, based on what it finds along the way.

Carry state across steps. An agent accumulates results — what it tried, what came back, what failed — and uses that to choose the next move.

Put together: an agent pursues a goal by repeatedly deciding what to do next and doing it, until it judges the goal met.

The same model, a different system

This is the part worth internalising. The model does not become an agent. The model is one component in a system that also has tools, a loop, memory, and a stopping condition. Take those away and you have a chatbot again.

That framing matters because it tells you where problems live. When an agent misbehaves, the cause is usually the surrounding system — a badly described tool, a missing stop condition, no error handling — far more often than the model itself.

What this buys, and what it costs

Buys: tasks whose shape is not known in advance. If you cannot write the steps down beforehand — because the number of steps depends on what is found — a loop that decides as it goes is genuinely the right structure.

Costs:

  • Unpredictability. Same goal, different paths. Harder to test, harder to reason about.
  • Compounding errors. A wrong step early produces a plausible but wrong result late, and each subsequent step builds on it.
  • Cost and latency. Every loop iteration is another model call.
  • Real consequences. A chatbot that is wrong produces bad text. An agent that is wrong sends the email.

When not to use one

If the task is a single well-defined step, call the model directly. If the path is always the same, write that path as code and use the model for the one part that needs judgement. An agent's flexibility is only worth its unpredictability when the flexibility is genuinely needed.

Most production systems described as agents are, correctly, mostly fixed workflows with one or two model decisions inside them. That is a good design, not a compromise.