Skill · doctrine · workflows-vs-agents
Workflows versus agents
Decide whether the work is a workflow (named path) or an agent (model directs process). Use at the start of any agentic design, when choosing chain vs ReAct vs crew vs harness, or the user says 'should this be an agent', 'make it autonomous', or reaches for a multi-agent crew because the demo looked collaborative.
GET /api/canon/skills/workflows-vs-agents?format=md
Anthropic's Building Effective Agents is still the north star: chaining, routing, parallelization, orchestrator-workers, evaluator-optimizer — then an autonomous agent last, because it is the most expensive and failure-prone.
When
You are about to pick a topology. Most production systems that work are workflows with a small agentic island.
Do
- 01
Name the path
If you can name the stages and check the intermediates, it is a workflow. If the environment talks back (repo, browser, ticket queue) and the path is not nameable, it is an agent with a budget.
- 02
Start simple
One prompt → workflow → agent → multi-agent last. More LLM calls are not more intelligence.
- 03
Put code gates between hops
A workflow earns its extra hop with a check: schema valid, score above threshold, classifier confident. An agent island only at ambiguity.
Don't
- Encode a five-step invoice pipeline as a free-running ReAct loop.
- Reach for a crew because the slide said 'team of agents'.
- Assume a graph library is required before a for-loop.
Hard rules
- A workflow is not a lesser agent. It is the correct architecture when the graph is knowable.
- Autonomy is a dial on loop iterations, not a type of soul.
- If you cannot draw the loop in four boxes, you have a chat wrapper.
Refuse
- Star-driven selection — Picking the viral harness of the week. Contribution-free clones with disabled PRs.
- Unbounded loop — No max-turns, token, wall-clock, or money budget. The agent rambles until the bill or the context dies.
- Role-play without a different ACI — Backstories that do not change tools, prompt constraints, or schema. Theater.
Load with this
Load next
- The agent loopYou need a loop you can pause, inspect, eval, and resume. Frameworks wrap this; they must not own it.
- Prompt chainYou can name the stages and check the intermediates.
- Pick a frameworkThe raw loop works and you still need one primitive. Not before evals. Not because a README went viral.
- Multi-agent topologiesSpecialists need different tools or a fresh window, and a parent must synthesize.
Trigger tests
Should fire
- “Should this be an agent or a workflow?”
- “Do we need multi-agent for this pipeline?”
- “Make this invoice flow autonomous”
Should not
- “Write the invoice PDF template”
- “Set up Stripe webhooks”