many AI agents are not agents
Last December I built the first version of NORD as a set of scripts. Bash and Python, routing tasks to different language models from the command line. I wrote the routing logic, the prompts, the parsing, the error handling. All of it by hand. I was proud of it. I thought I had built something clever.
I did not know the word "agent" yet.
When I found out that agents existed as a first-class thing in the tools I was already using, I looked back at my scripts and saw what I had actually made. It was a workflow. A decent one, but a workflow. I had written every branch of it myself. The system never decided anything. It followed the path I laid down, and the first time it hit a case I had not planned for, it stopped.
That is the line I want to draw, because a lot of what I see sold as an agent right now is sitting on the wrong side of it.
Here is the distinction I use. A workflow follows a control flow you wrote in advance. An agent decides its own control flow at runtime. Everything else people put on the agent feature list, tool use, memory, delegation, comes after that one thing. If the system cannot choose what to do next based on what it finds along the way, the tools and the memory are just a nicer-looking script.
The test is quick. If you can draw the flowchart before the thing runs, it is a workflow. If the system draws its own flowchart while it runs, it is an agent. My month-one scripts had a flowchart. I drew it. I could have printed it and taped it to the wall.
NORD today does not work that way. When I hand it a request in plain language, the orchestrator reads the intent and decides which part of the system should handle it. I did not write that as a lookup table of if-this-then-that. I wrote the pieces and the rules they operate under, and the routing happens at runtime against the specific thing I asked for. The difference between that and my first scripts is not that the new one has more features. It is that the new one makes decisions I did not make for it.
This matters because a lot of what is being marketed as an agent is the workflow I built in month one, in better packaging. A single model call behind a clean interface. A chatbot with a long system prompt. A rules engine with a language model bolted onto the front. These are useful. Some of them are genuinely good products. The flowchart is still fixed. The vendor drew it, not the system.
I am not saying this to be pedantic about a word. I am saying it because workflows and agents fail differently, and if you do not know which one you have, you will be surprised by how it breaks. A workflow fails where nobody planned a branch. You can find those failures by reading the code and asking what happens in the case that is not handled. An agent fails where its judgment was wrong, and you cannot find those by reading the code, because the path that failed did not exist until the moment the agent chose it. Those are different problems. They need different testing, different guardrails, and honestly they are worth different money.
When someone tells me they have built an agent, the question I ask is not what it can do. It is what it decides. If the answer is nothing, that it runs the same steps every time in the same order, then what they have is a workflow, and there is nothing wrong with that as long as they call it what it is.
The word is not the point. Knowing which one you actually have is. I built the workflow first, which is exactly why I can tell the difference now.
Get new posts by email
Friday digest, no filler. Drop your email below and I'll send what I publish.