The short answer
A chatbot answers. An agent acts. The moment a system can call tools, write to your database, send an email, or spend money, it stops being a conversational interface and becomes software with permissions — and it needs the safeguards any such software needs.
What makes an agent an agent
It has tools: functions it can call to fetch data or change state.
It decides which tool to call and with what arguments, rather than following a fixed script.
It can loop — observe the result of an action and choose the next one.
The engineering that agents demand
An agent that can act can act wrongly, at machine speed. That changes the requirements.
Permissions
Every tool needs a scoped credential, not a shared admin key.
Read tools and write tools deserve different levels of trust.
Human approval
Irreversible or costly actions should require a confirmation step until the system has earned trust.
Loop limits
An agent that can retry can retry forever. Cap iterations and cost per task.
Audit trail
Every tool call, argument, and result logged — you will need it the first time something goes wrong.
When an agent is overkill
If the task is deterministic, write the code. An agent that decides which of three functions to call is a fragile, expensive way to express an if-statement. Agents earn their complexity when the path genuinely varies with the input.