What you’ll be able to do
- Decide workflow versus agent from whether steps are enumerable
- Design a manager/subagent split that isolates context
- Give an agent loop an explicit termination condition
- Resist agent architecture where a pipeline would do
What you need to know
The one question that decides it
Can every step be listed before you start? If yes, it's a workflow — a fixed pipeline, cheaper, deterministic, auditable, and far easier to debug. If the path genuinely depends on what each step discovers, that's an agent, and the extra cost and unpredictability are buying you something.
A workflow wearing a chat interface
It isn't. The steps never change, so it's a workflow with a chat front end. Compare a claims-review assistant that decides which forms to pull next based on what it found in the last document — that path cannot be drawn in advance, and it earns being an agent.
Conversational interface is not evidence of agency. Ask only whether the sequence varies with what's discovered.
Manager and subagents
Once you commit to an agent, the structural decision is whether to run everything in one context or delegate. A manager (or supervisor) decomposes the work and hands independent pieces to subagents.
The reason is context isolation, not speed. Each subagent gets its own window, so a subtask that reads a long noisy log file keeps that noise to itself instead of polluting the main thread and every sibling task. Delegation typically increases total API calls — choosing it for raw speed is the wrong justification.
The stopping problem
An agent loop decides its own next move, which means it can decide to keep going indefinitely. Every loop needs an explicit termination condition, and the blueprint expects you to name the forms:
- Goal satisfied — the success criterion is met
- Step or token budget exhausted — a hard ceiling regardless of progress
- Confidence threshold — stop when further iteration stops improving the answer
When a scenario describes an agent that calls tools and re-evaluates without ever producing a final answer, this is the missing piece. Adding tools or context makes it worse.
Key concept
Enumerable steps mean a workflow, full stop — a conversational interface is not evidence of agency. Delegate to subagents for context isolation, not speed, and never build a loop without an explicit termination condition.
Practice scenario
Work it through, then open this
Workflow. A conversational interface is not evidence of agency — ask only whether the sequence varies with what’s discovered. Here it doesn’t, so an agent buys nondeterminism and cost with no added capability. If a later requirement made the next step depend on what insurance verification returns, that’s when the case for an agent opens.
Build exercise — Tell workflow from agent, on paper
15 min
-
Write down every fixed step of a process you actually handle on repeat — patient intake, ticket triage, whatever’s real for you.
- Why: Forces you to test whether the steps are genuinely enumerable, which is the entire workflow-vs-agent decision.
- You should see: A numbered list with no step that depends on discovering something at runtime — that’s your workflow signal.
-
Now write one task where the next step truly depends on what the previous step finds — e.g. which specialist to route to depends on what a referral letter actually says.
- Why: This is the shape that justifies an agent instead of a workflow.
- You should see: A task you can’t finish drawing as a flowchart in advance.
-
For that agent case, name one destructive action a hook should block outright, no matter what the model decides.
- Why: Hooks are the enforceable guarantee — a system prompt is only ever a request.
- You should see: One concrete action tied to code, not to wording in a prompt.
Exam traps
Choosing an agent because the task “involves AI” or feels sophisticated
If the steps can be listed on a whiteboard, a workflow is cheaper, deterministic, and auditable. The agent adds unpredictability with no added capability.
Justifying subagents by speed
Delegation is for context isolation and usually increases total API calls. Speed depends on parallelisation, not the pattern.
Building an agent loop with no termination condition
It will circle. Goal satisfaction, a step budget, or a confidence threshold is required, not optional.
Reading a conversational interface as evidence of an agent
Ask whether the sequence of steps varies with what is discovered. A chat front end on a fixed pipeline is still a pipeline.