A workflow is a fixed sequence of steps you write in code.
An agent decides its own path, and a workflow follows the one you chose.
The difference is who holds control, and that is the whole distinction.
Workflows are predictable, testable, cheaper and far easier to debug.
You can unit test each step and know what will happen tomorrow.
A model call can still sit inside a step, doing the part that needs language.
Classify this ticket, then route it, then draft a reply is a workflow with three model calls.
None of those steps needs the model to decide the order.
Agents earn their cost when the path genuinely cannot be known in advance.
Open-ended research and debugging are honest examples.
Most production systems should be workflows with an agent in the one place that needs it.
The industry drifted towards agents for everything and is drifting back.
An agent that always takes the same three steps should have been a workflow.
Start with the workflow and let a real failure justify the agent.
You can also let an agent produce a plan and then execute it as a workflow.