A chatbot converses — it takes a message and returns a response, typically within a single conversational turn's worth of reasoning. An agent takes actions — it can call tools, observe results, and change its plan based on what it learns.
The Deciding Question
Can this system change the world outside the conversation — query a live database, call an API, modify a record — and adjust its next step based on the result? If no, it's a chatbot (however well it converses). If yes, it's operating as an agent.
Side-by-Side Example
| Chatbot | Agent | |
|---|---|---|
| "What's your return policy?" | Answers from a fixed script or a single retrieval step | Same — this doesn't require agentic behavior |
| "Where is my order #4521?" | Can't answer accurately without live data — may hallucinate or say it can't help | Calls an order-lookup tool, reads the real status, answers accurately |
| "Cancel order #4521 and refund me" | Cannot take real action | Calls a cancellation tool (likely behind a human-approval step for a financial action) |
A Chatbot Can Still Use an LLM Well
Being "just a chatbot" isn't a criticism — a well-scoped, single-turn conversational system grounded in RAG is often the right, simpler choice for FAQ-style support, and is easier to test and make reliable than a full agent. Reaching for agentic complexity when a chatbot would do is a common over-engineering mistake.
Common Mistakes
- Marketing a FAQ chatbot with no tool access as an "AI agent" — inflates capability claims and sets the wrong user expectations
- Assuming any system with a chat interface is automatically "just a chatbot" — the interface doesn't determine whether the underlying system is agentic; a chat UI can sit in front of a full agent
Interview Relevance
Q: "Is a customer support chatbot that answers FAQs from a knowledge base an agent?" Generally no — unless it also takes real actions (e.g. actually processing a refund) based on a dynamic decision loop, it's a grounded chatbot, not an agent.
Practice Question
A support bot answers policy questions from documentation AND can look up a specific order's status by calling an internal API. Is this a chatbot or an agent? Explain using the deciding question above.