"Assistant," "agent," and "bot" often describe the same piece of software, chosen by whichever team wrote the marketing copy. The looseness is real — the industry has no enforced definitions — but the words aren't interchangeable once you ask what each one is actually claiming.
Three short definitions
- Bot — software that performs a defined task automatically, without necessarily representing a specific person's intent. A moderation script, a scheduled data sync, a support-site chat widget answering from a knowledge base: all bots, whether or not a language model is involved anywhere in them.
- Assistant — software that acts as a proxy for one person. It exists to help a specific user, and the point of it is that its output reflects what that person wants, not what a company wants from an anonymous visitor.
- Agent — software that can act in a loop: call a tool, observe the result, decide what happens next, repeat. What is an AI agent? covers that definition in depth; the short version is that agency is a capability, not a relationship — on its own, it says nothing about who the software is working for.
The three questions worth asking
Rather than trying to pin a single word on a system, ask these three questions. They cut across the labels and describe what the thing in front of you is actually doing.
Who does it act on behalf of? A bot often has no single owner's intent behind a given exchange — a scheduled script or a support-site widget is answering from a knowledge base or a rulebook, not channeling one person's judgment. An assistant explicitly represents one person; its actions are supposed to track what that individual wants. An agent doesn't answer this question at all: being defined by capability rather than allegiance, it can be either — a personal assistant that has been given tools to act is an agentic assistant, and a moderation script that has been given the power to act on what it finds is an agentic bot.
Is it conversational, or does it just execute? Plenty of bots never hold a conversation — a cron job or a moderation filter has no chat interface; it just runs. Assistants tend to be conversational, because the point is for a person to direct them in language. Agents can go either way: something that reads a support ticket, checks a database, and issues a refund without a single exchanged message is still an agent by the acting-in-a-loop definition. Nobody had to talk to it.
Does it have a standing relationship with a user, or is each interaction stateless? A lot of bots are deliberately stateless — a support widget that starts fresh with every visitor, often on purpose, for privacy and simplicity. An assistant usually persists: it holds context across sessions, because forgetting everything between conversations would defeat the point of being a personal proxy. Agents vary by implementation. Some run a single job and disappear; others persist the way an assistant does, picking up where a previous session left off.
Where the lines blur
None of this is a settled taxonomy. Vendors call the same product an assistant on the homepage and an agent in the technical documentation, and the industry has not agreed on strict boundaries between the three. Reasonable people draw these lines in different places, and a distinction that holds for one company's product might not hold for another's. That is an honest gap, not evasiveness — the three questions above are a way to describe what a specific piece of software does, which matters more than which word wins the argument.
One related question the three don't cover: once something can act, how much say does a person keep over the specific things it does? That is a separate axis from any of the above — see human-in-the-loop AI for where that oversight belongs and where it quietly stops working.
Using this in practice
Next time a product page calls something an "AI agent" or an "AI assistant" or just a "bot," treat the label as a starting point, not an answer. Ask who it's acting for, whether talking to it is even the interface, and whether it will remember this exchange the next time you show up. Those three answers say more about what you're dealing with than any of the three words do on their own. It also helps to ask what the system is built on: if it calls external tools at all, MCP is usually the plumbing underneath, regardless of which of the three words its maker chose.
To see one narrow, specific answer to all three questions — an assistant that represents one person, keeps a standing thread with contacts who agreed to it, and sends nothing until that person confirms — connect an assistant.