A few days ago I published a post arguing that decision-making is what makes an AI Agent, and that the industry was drifting toward calling workflows agents in a way that emptied the word.

I still think that's right. But two conversations since then have changed how I'd say it.

The first came from JR Pagdanganan, who critiqued that my definition was too anchored to a human cognitive model of decision-making. "The model controls the flow" assumes a unified, self-directed judgment that current AI systems don't have and may never have in that exact form. By that strict definition, nothing today fully qualifies. What he found more useful as a builder: agency isn't binary; it's something you architect. You're not waiting for a model to become autonomous — you're constructing autonomy incrementally. Modularize the decisions. Layer your intelligence and execution. Define scope at each level.

The second came from a conversation with my partner DS, who made a sharper version of the same challenge from a different angle. He pointed at the AI Agents we're actually building in the smart home industry and said: these look like automation. Camera sees something, system does something. But both the "see" and the "do" contain micro-decisions where the model is interpreting and choosing. So where exactly is the line between automation and decision-making?

Sitting with both challenges, I think I had the right instinct in the original post, but the wrong formulation.

Decision-making isn't a binary property of a system

Here's the update: decision-making isn't a binary property of a system. It's a property of specific steps within a system.

A workflow can have genuinely agentic moments. An agent can have rote moments. What separates them isn't whether a model is "in control" — it's how much cumulative decision authority you've handed the model across the layers of your system.

And there are layers. At least four worth naming:

  • The interpretation layer. When the model resolves ambiguity in input. Is that object a person or a shadow? Is this query a refund request or a complaint?
  • The planning layer. When the model chooses what to do, in what order, and what to optimize for.
  • The tool-selection layer. When the model decides which capability to invoke — search, calculate, write, call an API.
  • The recovery-from-failure layer. When something goes wrong, who decides what to do next — the model, or pre-specified fallback code?

DS was pointing at the interpretation layer. He's right that even systems that look like pure automation are doing real decision work there, because the inputs are ambiguous and the model is choosing. JR was pointing at the architecture across all the layers: how you compose them is how you build agency.

Both are correct. Both are pointing at the same underlying thing.

Agency is a budget, not a switch

The cleaner formulation:

Agency is a budget you allocate across the layers of your system, not a switch you flip.

At each layer, you decide how much decision authority the model holds versus how much is pre-specified in code. A system with low autonomy at every layer is automation. A system with high autonomy at every layer is, at the limit, full agency. Most real systems sit in the middle, and the interesting engineering is in how you allocate the budget.

This reframing does three things.

It dissolves the false binary. We stop asking "is this an agent?" and start asking "at which layers does this system actually let the model decide?"

It honors the builder's reality. JR's "architect agency incrementally" is the practical version of allocating the budget. You're not waiting for AGI — you're choosing which decisions to delegate, at which layers, within what scope.

It preserves what the original post was protecting. The reason the word "agent" matters is still that, somewhere in the system, the model is genuinely choosing rather than executing. If every layer is pre-specified, you have automation. Calling it an agent doesn't change that.

What this means in practice

For builders, the better question isn't "Is this an agent?" The question is sharper: at which layers am I delegating real decision authority to the model, and what scope am I giving it at each one?

That question produces design decisions. It maps onto risk, oversight, and accountability — because the layers where you've handed authority to the model are exactly the layers where you need to invest in monitoring, evaluation, and recovery.

For everyone else — including the executives buying these systems — the question shifts in a useful way. Instead of "is this really an AI Agent?" the better question is: where, in this system, is the model actually choosing? And do we trust it there?

That's a much more grown-up conversation than the one we've been having.