Automation & Agents
01Chapter · Automation & Agents
3 min read
automationagentsworkflowsanthropic

Workflow or Agent? Know the Difference

The most expensive automation mistake is reaching for an autonomous agent when a fixed workflow would do. Anthropic draws the line clearly — and so should you.

Last updated ·

The most expensive automation mistake I see is reaching for an autonomous agent when a fixed workflow would have done the job — cheaper, faster, and without the surprises.

Anthropic's distinction is crisp and worth memorising. A workflow is a system where the steps are fixed in advance — the model and its tools run along a path you wrote in code. An agent is a system where the model decides the steps itself, at runtime, choosing what to do next based on what just happened. Fixed path versus decided path. Everything about cost, reliability, and risk follows from that one difference.

And there's a single question that sorts almost every case — run it before you build anything:

Can I write the steps down in advance? yes no Workflow fetch → transform → send you wrote the path Agent act → observe → decide it draws the path as it goes
If the path is knowable, it's a workflow — build it as one. Only when the right next step genuinely depends on what the last one returned does an agent earn its keep.

Most things people reach for an agent over are, on inspection, a workflow they hadn't taken the time to write down. And the reason that matters is that the two sit very differently on every axis you'll care about later:

Workflow Agent
Pathfixed, written by youdecided at runtime
Cost & latencylow, predictablehigher, variable
Debuggabilitytrivial — the path is in the codehard — it varies per run
Same input, same output?yesnot guaranteed
Best formoney, customers, productionopen-ended, unpredictable steps

Read that table and the “sophisticated” choice inverts. An agent that decides its own steps is, by definition, less predictable — the same input can take a different path on Tuesday than it did on Monday. That flexibility is the point when you need it and a liability when you don't. Reaching for the agent first isn't ambition; it's paying for unpredictability you didn't need.

Where it goes wrong

Building an agent because it feels advanced, then adding rule after rule to constrain it until it behaves — at which point you've reinvented a workflow, badly, inside an agent. (The opposite exists too: forcing genuinely open-ended work into a rigid workflow with forty branches.) The skill is honest classification, every time, before you build.

Try this

Take an automation you want to build and try to write its steps as a numbered list, start to finish. If you can, it's a workflow — build it as one and enjoy the predictability. If you reach a step whose honest entry is “it depends on what came back, and I can't list the cases,” you've found the exact spot, and the only spot, where an agent belongs.

Grounded in Anthropic, Building Effective Agents.

New chapters land here as I learn them. Want the next one?