What Is an AI Agent? A Working Definition for Builders
The word agent has been stretched until it covers everything from a prompt with a nice name to a distributed system with its own on-call rota. That is not a vocabulary problem, it is a budgeting problem: teams approve one thing and are handed the other.
Here is the definition we use when scoping work, and it is deliberately narrow. An AI agent is software in which a language model chooses the next step, calls a real tool to take that step, reads what came back, and chooses again — until a goal is met or a limit stops it. If nothing in your system calls a tool, you have a very good text generator. If the sequence of steps is fixed in advance, you have a workflow with a model in one of the boxes. Both are fine things to build. Neither needs an agent budget.
The loop, not the model, is the product#
Every agent is the same three moves repeated: decide, act, observe. The model contributes the decide step. Everything else — what tools exist, how their failures are phrased, what state survives between iterations, when the loop must stop — is ordinary software that you write and own. Teams who believe the model is the product spend their time on prompts and are surprised when the system is unreliable. Teams who treat the loop as the product spend their time on tool contracts and stopping conditions, and get something they can debug on a bad afternoon.
A useful test: if you removed the model and replaced it with a person reading the same information, would the rest of the system still make sense? If not, the surrounding software is too thin.
What separates an agent from the things it is confused with#
| System | Who decides the next step | Calls real tools | Typical failure |
|---|---|---|---|
| Chatbot | Nobody — it answers what was asked | No | Wrong or invented answer |
| Workflow with an LLM step | The developer, in advance | Yes, in a fixed order | Breaks on inputs outside the flow |
| Agent | The model, at run time | Yes, chosen at run time | Wanders, loops, or acts on bad data |
| Multi-agent system | Several models, plus a coordinator | Yes | All of the above, harder to trace |
The four parts every real agent has#
Strip away the framework names and every production agent we have worked on contains the same four parts.
- A goal that can be checked. Not a vibe: a sentence a reviewer could mark right or wrong.
- A tool surface. The specific functions it may call, with typed arguments and honest error returns.
- A memory or state carrier. What the next iteration is allowed to see from the last one.
- Stopping conditions. A step cap, a spend cap, and a rule for handing control to a human.
Autonomy is a dial, not a switch#
The interesting decision in agent design is not whether to use an agent but how much rope to give it. In practice there are four settings, and most successful projects start further left than the demo suggests: the agent drafts and a human sends; the agent acts on reversible things and asks about irreversible ones; the agent acts freely inside a sandbox with a spend cap; the agent acts freely on production systems. Each step right multiplies both the value and the blast radius. Move right when your evaluation numbers earn it, not when the roadmap says so.
Where the definition earns its keep#
Being strict about the word saves real money in three places. Scoping: a fixed sequence of five API calls with one summarisation step is a workflow, and building it as an agent adds nondeterminism you did not need. Estimation: agents cost more than workflows because the failure surface is larger, and an honest label sets an honest budget. Evaluation: you can only test an agent properly once you accept that the same input may take different paths, which means testing outcomes rather than transcripts.
If a stakeholder asks for an agent, ask what decision they want the software to make on its own. If there is no such decision, you have just saved them three months.
Frequently asked questions
Is a chatbot an AI agent?
Not by this definition. A chatbot answers within a conversation; an agent takes actions in systems outside the conversation. A support chatbot that reads your order database, issues a refund and emails the customer is an agent — the actions are what changed its category, not the fact that it talks.
Does an AI agent need to be autonomous to count?
It needs to choose its own next step, which is not the same as acting without oversight. An agent that plans five steps, executes four of them and stops for human approval on the fifth is still an agent. Autonomy is a setting you choose per action, based on how reversible that action is.
Do I need a framework to build one?
No. The smallest useful agent is a while loop, a list of tool definitions, and a stopping condition — perhaps a hundred lines. Frameworks earn their place when you need durable state, branching control flow or coordination between several agents, not at the start.
what is an ai agentai agent definitionai agent vs workflowagentic aireason act loop