If your "AI agent" follows the same path every single time, I have news for you. That's a script.
The term "agent" has become the new "cloud." Slap it on anything and watch the funding roll in.
Why This Matters Right Now
Developers are in a heated battle over the very definition of "agent". It's a noisy, messy, and ubiquitous debate occurring in every programming community I pay attention to.
And honestly? The confusion is the product. Startups love that nobody agrees on a definition because it lets them call everything an agent.
The Three Things People Keep Conflating
Here's the rough taxonomy I keep seeing developers converge on:
→ Tool-using chatbots — An LLM that can call an API when you ask it to. It's a chatbot with hands. Not an agent.
→ Prompt-driven workflows — A hardcoded sequence of steps where an LLM handles some text processing in the middle. It's a pipeline. Still not an agent.
→ Autonomous decision loops — A system that observes its environment, decides what to do next without a predetermined path, and adjusts based on outcomes. This is the only one that earns the word "agent."
Most of the products I have reviewed are solidly in bucket one or two, but they position themselves as bucket three.
The "If" Statement Test
Here’s my quick gut check. Look at the code (or the architecture diagram, if that’s all you can get).
If you can easily describe what the system does using a simple flowchart that fits on a napkin, then it’s orchestration. If you could rip out the LLM, replace it with a regex or a template, and describe the majority of the behavior in the same way, then it’s a script with an overcomplicated language model tacked on.
An actual agent surprises you. Not because it's buggy — because it chose a path you didn't explicitly wire up. That's the difference. Deterministic control flow with an LLM in the middle is not agency. It's automation with better vibes.
Why Label Inflation Hurts Us 🔥
This is more than just arguing about words. It's actively making tool evaluation harder for working engineers.
When every product out there is an "agent" you cannot filter. You spend hours in demos only to discover the thing is a glorified cron job agent calling GPT-4 in a loop. Devs are getting more vocal about this, and the pushback against generic agent marketing is real.
This type of discussion also has a negative impact on discussions regarding truly agentic systems. Important issues such as goal decomposition, error recovery, and safe autonomy are overlooked because they are overshadowed by the marketing hype of products that are not exposed to such challenges since they never actually allow the model to decide.
The Uncomfortable Truth
Ironically, some of those scripts that are perceived as “mere scripts” are actually quite handy: a well-designed prompt-driven script can be more robust, more maintainable, and less expensive to operate than a fully autonomous agent.
The problem isn't building pipelines. Pipelines are great. The problem is calling your pipeline an agent so you can charge agent prices and ride the hype wave 🏄.
If the industry settled on honest labels, we'd all evaluate tools faster, set better expectations, and stop being disappointed when our "agent" can't handle a task that wasn't in its flowchart.
Where I Land
Refer to your scripts as scripts and your pipelines as pipelines. Reserve the term "agent" for systems that truly operate autonomously in unbounded environments. The threshold should be very high as the term implies a level of capability that most systems do not possess.
Honest naming isn't just good engineering culture — it's how we keep our tools trustworthy and our hype cycles from eating us alive. 💀
So here's my question: what's the most egregious example of "agent-washing" you've seen in the wild?
Top comments (0)