The word agent used to mean something specific in AI engineering circles, and now it means whatever a product team wants it to mean this quarter. A support widget that answers frequently asked questions gets called an agent. A single API call wrapped in a nice interface gets called an agent. Calling something an agent does not actually make it one, and the gap between the label and the reality is where most disappointment with AI tools comes from.
What actually makes something an agent
At a basic level, an agent is something that can decide what to do next based on what just happened, not just follow a fixed script from start to finish. A chatbot answers the question you asked. An agent can look at your question, decide it needs more information, go get that information itself, check whether the answer it found actually makes sense, and only then respond, or decide it should hand you off to a person instead. The difference is not how smart the underlying model is. It is whether the system has any actual room to make decisions along the way.
There are three things that tend to separate a real agent from a wrapped chatbot: planning, tool use, and memory. Planning means the system can break a goal into steps instead of jumping straight from a question to an answer. Tool use means it can actually do things outside of just generating text, look something up, run a calculation, check a calendar, not merely describe what it would do. Memory means it can carry context from earlier in a conversation, or even across separate conversations, instead of starting from zero every single time.
Why the label gets stretched so often
Genuinely building a system like this is a lot more work than most product roadmaps have time for. It means designing what happens when a tool call fails, deciding what the system is allowed to do without asking permission first, and building a way for a human to actually see what happened after the fact. A chatbot with a system prompt ships in an afternoon. A real agent, one that can be trusted to run without someone watching it constantly, takes a lot longer, and it is tempting to call the easier version an agent anyway because the market rewards the word.
“The market rewards the word agent. It does not reward the actual engineering behind one, and that is exactly why the word gets used so loosely.
What to actually ask when someone says agent
If you are evaluating a tool that calls itself an agent, there is a short list of honest questions worth asking. Can it do anything besides generate text? What happens when it is wrong, does a person find out, or does the mistake just quietly happen? Does it remember anything from five minutes ago, or is every message a fresh start? None of these questions require you to understand how the underlying model works. They just require you to ask what the system is actually allowed to do, not what it is called.
The word agent is not going away, and honestly it should not, the idea behind it is a real and useful one. What is worth pushing back on is treating the label as proof of anything. The actual proof is always in what the system is allowed to do on its own, and what happens when it gets that wrong.