---
title: "AI agent or chatbot | Three tests | Len P. van der Hof"
description: An AI agent holds a goal, uses tools, and continues across steps under a charter. A chatbot answers a turn. Mixing the words is how a chatbot inherits an API…
image: "https://lenvanderhof.com/media/generated/blog-hero-agent-or-chatbot-en.c76cf844ab9e.wide.webp"
---

[AI Systems](https://lenvanderhof.com/en/blog/category/ai-systems/) Research guide

# AI agent or chatbot: three tests before you mix the words

If it cannot refuse a tool call, it is not an agent you can run. It is a demo that can spend money.

Len P. van der HofPublished 29 August 2026Updated 9 September 20266 min read

A message that cannot act. Tools that can.

Direct answer

An AI agent is a system that takes a goal, uses tools, and acts across more than one step without a human prompting each one. A chatbot answers a turn. You type, it replies, and the work dies when the tab closes unless you saved it. An automation runs a fixed script. Mix agent and chatbot and the chatbot inherits an API key. Three tests: does it hold a goal, use tools, and continue across steps? If the answer is no, no, no, you have a chatbot. That is a respectable product. It is not an agent. An agent is only accountable with a charter: inputs, outputs, an authority ceiling, and a named reviewer who can fail the work.

## Key takeaways

- Chatbot = turn. Automation = script. Agent = goal plus tools plus a ceiling.
- Three tests. Fail them and stop using the word agent for that system.
- This page is the comparison. The definition article owns 'what is an AI agent.'
- No charter, no agent. Loose vocabulary is how a chatbot gets production credentials.

People search “AI agent or chatbot” because a vendor used both words on the same slide. The products are not the same. Mixing them is how a chatbot inherits an API key.

**AI agent or chatbot?** An agent takes a goal, uses tools, and acts across more than one step without a human prompting each one. A chatbot answers a turn. You type. It replies. The context window is the memory. Close the tab and the work is gone unless you saved it. Useful for drafting. Dangerous the moment you paste its output into a tool it cannot see.

The mix-up is not a branding argument. It is a permission argument. The word *agent* in a ticket is how a chat window gets a mail token, a payment scope, or a repo write. The word *chatbot* would have kept the same model in a box that only emits text. [What is an AI agent?](https://lenvanderhof.com/en/blog/what-is-an-ai-agent/) owns the full definition, the refuse test, and the charter. This page owns the collision.

## Three tests

Ask the system in the room these three questions.

1. Does it hold a goal overnight, or only the current prompt?
2. Does it use tools, or only emit text?
3. Does it continue across steps without a human typing each one?

If the answer is no, no, no, you have a chatbot. That is a respectable product. It is not an agent. Stop using the word until the tests pass.

A third box exists and people skip it. **Automation** runs a fixed script: when a PDF lands in this folder, extract the total into the sheet. No goal. No tool choice. A path you named. [An agentic workflow is not an automation](https://lenvanderhof.com/en/blog/agentic-workflow-vs-automation/) is that comparison. This page is agent versus chatbot.

Write the answers out loud. A demo that “feels agentic” is not a test result. The three questions are cheap enough to run in the meeting that is about to mint a credential.

## Partial passes are still not an agent

The expensive mix-up is the half-yes. One test passes, the slide still says agent, and someone connects a key.

**Goal, no tools, no continuation.** A chat window with a system prompt that says “you are the invoice agent.” It holds a persona. It does not hold a goal overnight. Tomorrow you paste the sheet again. That is a chatbot with a costume.

**Tools, no goal, no continuation.** A plugin that can search mail, but only when you click. You still type the next step. The tool is real. The worker is still you. That is a chatbot with a socket.

**Goal and tools, no continuation.** A wrapper that can draft one reminder and then waits for you to press send, and then waits for you to start the next row. One tool call is not a run. If the work dies when you leave the tab, you have not given it a goal that survives.

**Continuation without a stop.** The dangerous yes. The system keeps calling tools after you closed the laptop. If nobody wrote what it must refuse, you did not hire a worker. You lit a fuse. The definition article owns that refuse test. Do not skip it because the first three answers sounded good.

A wrapper around a chat model is still a wrapper. A scheduled script that classifies a ticket is still automation. Calling either an agent does not add a ceiling. It adds permission to connect a tool.

## Walk one object through the boxes

Same object, three boxes. If you cannot put the object in one box, you are not ready to name the system.

“Summarise this PDF in the chat” is a chatbot.

“When a PDF lands in this folder, extract the invoice total into the sheet” is automation.

“Chase unpaid invoices this week, using the sheet and the mail tool, and stop if a customer disputes” is an agent, but only if someone wrote the stop.

The stop is the charter: inputs, outputs, an authority ceiling, success criteria, review, escalation. Without those fields you have a demo that can spend money. This page will not restage the template. If you cannot name the stop, you do not have an agent. You have a chatbot you are about to over-permission.

A second object, same three boxes. “Draft a reply to this ticket in the chat” is a chatbot. “When a ticket lands with tag refund, post the canned reply” is automation. “Resolve refund tickets this week, using the order sheet and the mail tool, and stop if the amount is above the ceiling or the customer is angry” is an agent, again only if the stop is written. If the vendor demo used the third sentence and shipped the first machine, you are looking at the mix-up.

## How the word becomes a key

The failure mode is vocabulary. It has a sequence.

Someone pastes a chatbot transcript into Slack. It looks competent. The ticket is titled “add the agent.” Ops wires the same window to mail, because agents use tools. Nobody writes a ceiling, because the demo did not ask for one. The first send that should have been a draft goes to a customer. The post-mortem says the model was too aggressive. The model did what a tool-using chatbot does when you hand it a send scope and no stop.

That sequence does not require a new runtime. It requires a wrong noun. The [glossary capsule](https://lenvanderhof.com/glossary/ai-agent/) is the short form: chatbot answers a turn, automation runs a script, agent holds a goal under a charter. If you cannot point at the noun that matches the machine in the room, do not mint the credential.

Vendors will keep stacking the words. “Agentic chatbot.” “Chat agent.” “Autonomous assistant.” Recite the three tests anyway. Product names change. The tests do not. A literary representative is a different collision; that page is [literary agent or AI agent](https://lenvanderhof.com/en/blog/literary-agent-or-ai-agent/). Do not email a tool hoping it is a person, and do not give a person-shaped prompt a production key.

## Who can fail the next call

The [human in the loop](https://lenvanderhof.com/en/blog/human-in-the-loop-meaning/) is the named person who can fail the next call. If that person is “the team” and the fail line is “looks fine,” you already decided the chatbot may act.

A chatbot does not need that person until you give it a tool. The moment you do, you no longer have a drafting toy. You have a worker with no contract. Name the reviewer before the socket, not after the first send.

Write the three tests on a card. Run them before the demo becomes a credential. If the card says chatbot, call it a chatbot in the ticket, the runbook, and the vendor call. [AI Agents for Startup Strategy](https://lenvanderhof.com/ai-agents-for-startup-strategy/) is live. You do not need the hardcover to refuse the word.

Cite this:AI agent or chatbot: three tests before you mix the words.Len P. van der Hof. [https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/](https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/) · Published 29 August 2026.

## Terminology

- [AI agent](https://lenvanderhof.com/glossary/ai-agent/)
- [Human in the loop](https://lenvanderhof.com/glossary/human-in-the-loop/)

## Sources

1. [AI agent (glossary)](https://lenvanderhof.com/glossary/ai-agent/)
2. [What is an AI agent?](https://lenvanderhof.com/en/blog/what-is-an-ai-agent/)
3. [An agentic workflow is not an automation](https://lenvanderhof.com/en/blog/agentic-workflow-vs-automation/)
4. [Human in the loop meaning](https://lenvanderhof.com/en/blog/human-in-the-loop-meaning/)
5. [AI Agents for Startup Strategy](https://lenvanderhof.com/ai-agents-for-startup-strategy/)

## Related essays

- [What is an AI agent?](https://lenvanderhof.com/en/blog/what-is-an-ai-agent/)
- [AI Agents for Startup Strategy: introduction](https://lenvanderhof.com/en/blog/ai-agents-for-startup-strategy-introduction/)
- [A SENSE intelligence layer in 90 days](https://lenvanderhof.com/en/blog/sense-90-day-intelligence-layer/)
- [An agentic workflow is not an automation](https://lenvanderhof.com/en/blog/agentic-workflow-vs-automation/)
- [A go-to-market system that survives the first ten customers](https://lenvanderhof.com/en/blog/gtm-that-survives-ten-customers/)

## Further reading

- [What is an AI agent?](https://lenvanderhof.com/en/blog/what-is-an-ai-agent/)
- [AI agent (glossary)](https://lenvanderhof.com/glossary/ai-agent/)
- [An agentic workflow is not an automation](https://lenvanderhof.com/en/blog/agentic-workflow-vs-automation/)
- [Human in the loop meaning](https://lenvanderhof.com/en/blog/human-in-the-loop-meaning/)

About the author

## [Len P. van der Hof](https://lenvanderhof.com/en/authors/len-p-van-der-hof/)

Entrepreneur, AI Innovator and Venture Builder

Len P. van der Hof builds practical AI systems, digital ventures and evidence-informed tools for founders.

```json
{
	"@context": "https://schema.org",
	"@graph": [
		{
			"@type": "Person",
			"@id": "https://lenvanderhof.com/#person",
			"name": "Len P. van der Hof",
			"alternateName": [
				"Len van der Hof",
				"L.P. van der Hof",
				"Leendert Pieter van der Hof"
			],
			"honorificSuffix": "MSc",
			"url": "https://lenvanderhof.com/",
			"image": [
				"https://lenvanderhof.com/photos/len-portrait-1.jpg",
				"https://lenvanderhof.com/photos/len-portrait-2.jpg",
				"https://lenvanderhof.com/photos/len-portrait-3.jpg",
				"https://lenvanderhof.com/photos/len-portrait-4.jpg",
				"https://lenvanderhof.com/photos/len-speaking.jpg",
				"https://lenvanderhof.com/photos/len-hero.jpg"
			],
			"jobTitle": "Entrepreneur, AI Innovator and Venture Builder",
			"description": "Len P. van der Hof, MSc, is a Dutch entrepreneur and AI innovator in Zwijndrecht. He builds ReasonKit, MindSesh, Undominated.ai, books under his name, the fiction imprint LPH98.lifestyle, and technology ventures through LPH98.ventures. Eleven titles in Systems for the Strategic Self are available now, in English and Dutch.",
			"address": {
				"@type": "PostalAddress",
				"addressLocality": "Zwijndrecht",
				"addressCountry": "NL"
			},
			"alumniOf": {
				"@type": "CollegeOrUniversity",
				"name": "Rotterdam School of Management, Erasmus University"
			},
			"knowsAbout": [
				"Artificial intelligence",
				"AI agents",
				"Agentic AI systems",
				"LLM routing",
				"SEO",
				"Generative engine optimization",
				"Answer engine optimization",
				"Venture building",
				"Founder performance",
				"Founder psychology",
				"Evidence-based decision-making"
			],
			"sameAs": [
				"https://www.linkedin.com/in/lenvanderhof/",
				"https://x.com/LenvanderHof",
				"https://www.youtube.com/channel/UCTG20buKqYYbitqqf7l3zJA",
				"https://www.instagram.com/Lenvanderhof/",
				"https://www.threads.com/@lenvanderhof",
				"https://github.com/Lenvanderhof",
				"https://huggingface.co/LPH98",
				"https://www.npmjs.com/~lenvanderhof",
				"https://www.goodreads.com/author/show/70983905.Len_P_van_der_Hof",
				"https://www.amazon.com/author/lenvanderhof",
				"https://www.bol.com/nl/nl/b/len-p-van-der-hof-msc/609879394/",
				"https://bsky.app/profile/lenvanderhof.com",
				"https://mastodon.social/@Lenvanderhof",
				"https://crates.io/users/Lenvanderhof",
				"https://cursor.com/@Lenvanderhof",
				"https://medium.com/@Lenvanderhof",
				"https://gitlab.com/Lenvanderhof",
				"https://hub.docker.com/u/lenvanderhof/",
				"https://dev.to/lenvanderhof",
				"https://www.facebook.com/Lenvanderhof",
				"https://soundcloud.com/Lenvanderhof"
			],
			"affiliation": [
				{
					"@id": "https://lenvanderhof.com/#publisher"
				},
				{
					"@id": "https://lenvanderhof.com/#mindsesh"
				},
				{
					"@id": "https://lenvanderhof.com/#lifestyle"
				}
			]
		},
		{
			"@type": "WebSite",
			"@id": "https://lenvanderhof.com/#website",
			"url": "https://lenvanderhof.com/",
			"name": "Len P. van der Hof",
			"description": "Len P. van der Hof, MSc, is a Dutch entrepreneur and AI innovator in Zwijndrecht. He builds ReasonKit, MindSesh, Undominated.ai, books under his name, the fiction imprint LPH98.lifestyle, and technology ventures through LPH98.ventures. Eleven titles in Systems for the Strategic Self are available now, in English and Dutch.",
			"inLanguage": [
				"en",
				"nl"
			],
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#publisher",
			"name": "LPH98.ventures",
			"url": "https://lph98.ventures",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#mindsesh",
			"name": "MindSesh",
			"url": "https://mindsesh.net",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#reasonkit",
			"name": "ReasonKit",
			"url": "https://reasonkit.sh",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "SoftwareApplication",
			"@id": "https://lenvanderhof.com/#undominated",
			"name": "Undominated.ai",
			"url": "https://undominated.ai",
			"creator": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "Organization",
			"@id": "https://lenvanderhof.com/#lifestyle",
			"name": "LPH98.lifestyle",
			"url": "https://lph98.lifestyle",
			"founder": {
				"@id": "https://lenvanderhof.com/#person"
			}
		},
		{
			"@type": "ImageObject",
			"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#primaryimage",
			"url": "https://lenvanderhof.com/media/generated/blog-hero-agent-or-chatbot-en.c76cf844ab9e.wide.webp",
			"contentUrl": "https://lenvanderhof.com/media/generated/blog-hero-agent-or-chatbot-en.c76cf844ab9e.wide.webp",
			"representativeOfPage": true
		},
		{
			"@type": "BreadcrumbList",
			"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#breadcrumb",
			"itemListElement": [
				{
					"@type": "ListItem",
					"position": 1,
					"name": "Home",
					"item": "https://lenvanderhof.com/"
				},
				{
					"@type": "ListItem",
					"position": 2,
					"name": "Blog",
					"item": "https://lenvanderhof.com/en/blog/"
				},
				{
					"@type": "ListItem",
					"position": 3,
					"name": "AI Systems",
					"item": "https://lenvanderhof.com/en/blog/category/ai-systems/"
				},
				{
					"@type": "ListItem",
					"position": 4,
					"name": "AI agent or chatbot: three tests before you mix the words",
					"item": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/"
				}
			]
		},
		{
			"@type": "WebPage",
			"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#webpage",
			"url": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/",
			"name": "AI agent or chatbot: three tests before you mix the words",
			"description": "An AI agent holds a goal, uses tools, and continues across steps under a charter. A chatbot answers a turn. Mixing the words is how a chatbot inherits an API key.",
			"isPartOf": {
				"@id": "https://lenvanderhof.com/#website"
			},
			"primaryImageOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#primaryimage"
			},
			"breadcrumb": {
				"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#breadcrumb"
			},
			"inLanguage": "en-GB"
		},
		{
			"@type": "BlogPosting",
			"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#article",
			"mainEntityOfPage": {
				"@id": "https://lenvanderhof.com/en/blog/ai-agent-or-chatbot/#webpage"
			},
			"headline": "AI agent or chatbot: three tests before you mix the words",
			"description": "An AI agent holds a goal, uses tools, and continues across steps under a charter. A chatbot answers a turn. Mixing the words is how a chatbot inherits an API key.",
			"datePublished": "2026-08-29T07:00:00.000Z",
			"dateModified": "2026-09-08T23:00:00.000Z",
			"author": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"publisher": {
				"@id": "https://lenvanderhof.com/#person"
			},
			"image": [
				"https://lenvanderhof.com/media/generated/blog-hero-agent-or-chatbot-en.c76cf844ab9e.square.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-agent-or-chatbot-en.c76cf844ab9e.landscape.webp",
				"https://lenvanderhof.com/media/generated/blog-hero-agent-or-chatbot-en.c76cf844ab9e.wide.webp"
			],
			"articleSection": "AI Systems",
			"inLanguage": "en-GB"
		}
	]
}
```
