I’ve used the word “agent” in nearly every post on this site without ever explaining what actually separates one from a plain assistant, so let me fix that.

The distinction that actually holds up, cutting through the marketing: an assistant responds to a prompt and hands control back to you. An agent takes a goal and decides the steps itself, checking its own progress and adjusting without asking you at every turn. One framing I liked while researching this put it as concretely as I’ve seen: you prompt an assistant, you commission an agent. The unit of work for an assistant is a question. The unit of work for an agent is an outcome.

Put in terms of the tools I actually cover here: when Aider proposes a single edit and waits for you to approve it before touching the next file, that’s assistant-shaped behavior even though the product is called an agent. When a tool plans out a multi-file refactor, runs the test suite itself, reads the failures, and keeps iterating without checking in after every step, that’s the agent behavior the word is actually describing. Most of the tools on this site live somewhere on a spectrum between those two, and plenty of them let you dial the autonomy up or down depending on the task — which is honestly the more useful way to think about it than a strict binary.

Why this matters beyond semantics: Gartner has been tracking something it calls “agent washing” — ordinary software with a chatbot bolted on getting marketed as agentic because the label sells better right now. That’s not a hypothetical concern for this site specifically. I’ve already written about MiniMax calling a restrictive license “modified MIT” and Devin’s benchmark number measuring something narrower than it implied — “agent” is exactly the kind of word that’s cheap to put on a landing page and expensive to actually build, which makes it worth checking rather than taking at face value.

There’s also a real practical reason the distinction matters once you’re actually using these tools: autonomy is inversely related to how easily you can predict what happens next. A tool that stops after every edit is slower, but every mistake gets caught immediately, by you, before it compounds. A tool that runs ten steps unsupervised can get a lot more done per prompt, but if step three goes sideways, steps four through ten are now built on a mistake nobody caught. Security researchers use a specific term for the failure mode this creates — “excessive agency,” meaning a system was handed more autonomy, access, or reach than the task actually needed. It’s the same underlying shape as the CI vulnerability I wrote about a few weeks back, where agents trusted a log they shouldn’t have and acted on it unsupervised.

None of this means more autonomy is bad, or that “agent” is a meaningless word. It just means the honest question isn’t “is this an agent” — nearly everything claims to be one now — it’s “how many steps does this take before it checks back in with me, and what happens if it’s wrong three steps before that check-in.” That’s the actual spec hiding underneath the label, and it’s usually answerable if you read past the landing page.