Everyone calls everything a bot now. Chat windows, coding agents, phone assistants. So here's the definition this site uses:
A bot is a persistent agentic model that is durable and teachable, built to retain identity and purpose while maintaining a set of memories, skills, and playbooks.
In general, it's also made to hook easily into a large variety of tools. That's a second thought, not part of the definition. A bot would still be a bot without many tools. Tools are just how it gets work done.
Agent vs. bot
An agent takes a goal and acts on it. A bot is one kind of agent: one that lasts.
The difference shows up over time. A long agent session doesn't run forever on raw history. It compacts. It summarizes old turns and throws away detail so it can keep going.
Each compaction is a filter. Most of what it drops is noise. But nothing stops it from dropping something important too. Say you told it at the start, "don't set the building on fire." After enough rounds, that can get filtered out like any other detail. Now you're working with a different agent than the one you started with, and it doesn't know the one rule that mattered.
A bot keeps its identity, purpose, standing rules and playbooks somewhere separate from the chat, and reloads them every time. The conversation can still compact. The core of the bot doesn't.
The test: come back tomorrow
Close the chat. Come back tomorrow. Does it still know who it is, what it's for, and what you taught it?
If yes, it's a bot. If you have to explain it all over again, it's an agent.
A bot notices what to keep
In a normal agent session, you have to spot the moment something matters and say "write this down."
A bot is supposed to watch for that itself. Correct one, and a good bot asks some version of: "Should this be the new default?" That question is the bot deciding whether your correction belongs in its standing memory or just in today's chat.
Protobots
Siri, Alexa and Google Assistant were early tries at this. They remember a little and follow a few set routines, but only inside tight limits. You can't really teach them a new job.
We call them protobots: real steps toward bots, but not bots by this definition.
What it isn't
- A bot isn't a robot. A robot is physical equipment that can be directed to do different kinds of work based on its software program or configuration. A bot can drive a robot, but a bot is software.
- A bot isn't magic. It still makes mistakes, and it still needs a person to say yes before anything important goes out.
- The details aren't the definition. Where it runs, how its memory gets compacted, how many tools it has: those are packaging, and they'll keep changing.
Sources: this definition was worked out in a conversation with Grok, refined from the "come back tomorrow" test in our post "Your AI agent forgot you" on X.