On this page
TLDR
Pick the cheapest tier that actually satisfies the task: an augmented LLM call for a single unaided prompt, a workflow when the steps are known in advance, an agent only when the model must dynamically decide its own path. Anthropic: Building Effective Agents The exam trap is treating "agent" as strictly more advanced - it's a tradeoff, not an upgrade.
What it is
Anthropic's own canonical taxonomy ("Building Effective Agents", Dec 2024 - still the reference doc for this objective) names three tiers of increasing autonomy. An augmented LLM is a single call enhanced with retrieval, tools, or memory but no orchestration layer. A workflow is LLMs and tools orchestrated through predefined code paths - the sequence is fixed by the architect, not the model. An agent is a system where models dynamically direct their own process and tool use, maintaining control over how they accomplish a task - the number and order of steps can't be predetermined.
The architect's job is picking the cheapest, most predictable tier that satisfies the requirement, not defaulting to the most autonomous option available. Anthropic states this directly: "Success in the LLM space isn't about building the most sophisticated system. It's about building the right system for your needs. Start with the simplest solution possible, and only increase complexity when needed." The enterprise framing sharpens this further - the choice is justified by task unpredictability and value at stake, not technical preference.
How it works
Within the workflow tier, Anthropic names five specific patterns. Prompt chaining runs sequential steps, optionally with a programmatic checkpoint between them. Routing classifies the input first, then dispatches to a specialized downstream path. Parallelization runs simultaneous LLM calls, either sectioning a task into independent pieces or voting across redundant attempts. Orchestrator-workers has a central LLM decompose a task and delegate pieces to workers, then synthesizes their results. Evaluator-optimizer pairs a generator with a critic in an iterative refine loop.
Agents differ structurally, not just in degree: "as agents gain complexity, they begin to make more autonomous decisions... their control flow is directed by the LLM itself" rather than by predefined code. That single fact drives the tradeoff - a workflow's fixed path is cheaper, faster, and easier to evaluate for a genuinely predictable task; an agent earns its cost only when the task is open-ended enough that no fixed path could cover it.
A manager/supervisor architecture - one coordinator LLM that decomposes work and dispatches it to subagents - looks like orchestrator-workers on the surface, but which pattern it actually is depends on who decides the decomposition, not on whether subagents are involved. If the split is fixed code ("always send billing questions to worker A, technical to worker B"), it's a workflow using the routing pattern - the branches are predetermined, so this is not orchestrator-workers even though it dispatches to "workers." Orchestrator-workers specifically requires the manager LLM to decide, at run time, how to split and re-split the work as it learns more; only that dynamic-decomposition case earns the orchestrator-workers name (and, if the re-planning is genuinely open-ended, may cross into agentic territory). Either way, subagents improve task execution by giving each worker a clean, narrow context window focused on one piece of the problem - the tradeoff is that subagents do not inherit the coordinator's conversation history, so the manager must pass every fact a worker needs explicitly in its task string.
Because the three tiers share primitives (an LLM call, optional tool use, optional multi-step orchestration), a single production system routinely mixes them: an agent's one tool call can itself trigger a fixed workflow, and a workflow step can be an augmented LLM call with no further orchestration. The decision is per-component, not a single label for the whole system.

Where you'll see it
Support ticket routing
Classify into billing/technical/sales, then run a fixed downstream prompt per category - a workflow (routing pattern), not an agent, because the paths are known in advance.
Autonomous coding agent
Explores an unfamiliar codebase, decides which files matter, and iterates on a fix - an agent, because the step count and order can't be fixed ahead of time; may delegate file-level investigation to narrowly-scoped subagents.
Side-by-side
| Tier | Control flow | Predictability | Best for |
|---|---|---|---|
| Augmented LLM | None - single call, optional tools/retrieval | Highest | One-off task, no orchestration needed |
| Workflow | Predefined code path (one of 5 named patterns) | High - fixed steps | Task steps are known in advance |
| Agent | LLM directs its own process and tool use | Lower - open-ended | Steps can't be predetermined; task needs exploration or iteration |
Decision tree
Does the task need zero orchestration - one prompt, maybe with retrieved context, no chained tool calls?
Is the sequence of steps, and their order, knowable and fixed in advance?
Can the number and order of tool calls NOT be predetermined (the task is exploratory or open-ended)?
Does the task need to be decomposed across a manager and multiple subagents?
How each cert tests this
CCA-P
Practitioner (D1 · Solution Design & Architecture): tests the business-facing decision of which tier to propose to a client - justifying workflow-vs-agent by task predictability and value at stake, not technical preference.
CCD-F
Developer (D1 · Agents & Workflows): tests the implementation-facing decision criteria plus manager/supervisor hierarchy structure and how subagents improve task execution, including their context-isolation tradeoff.
Question patterns

A support system must classify a ticket as billing, technical, or sales, then run one fixed prompt per category. Which architecture fits?
"an agent, since classification requires judgment" - classification into a fixed set of known categories is exactly what a predefined routing path handles, no dynamic control flow needed.A coding assistant must explore an unfamiliar repo, decide which files matter, run tests, and iterate on a fix without a human specifying the exact steps. Which architecture fits?
"a prompt-chaining workflow with a generous number of steps" - no fixed step count can cover an exploratory, iterative investigation.A one-off tool summarizes a single uploaded document with no tool calls and no follow-up steps. Which architecture fits?
"a workflow with exactly one step" - a workflow implies an orchestration layer that this task doesn't need at all.A manager LLM splits a research task across five specialized subagents by a fixed, hand-written dispatch rule, then synthesizes their results. What tier is this system?
"orchestrator-workers, since a manager LLM decomposes a task and delegates to workers" - it names the right-sounding pattern but ignores that orchestrator-workers is defined by run-time, LLM-decided decomposition; a fixed, hand-written split is routing to known branches, whether or not those branches happen to be "workers." A second distractor, "an agent, since multiple LLMs and subagents are involved", is also wrong - using subagents doesn't by itself make a system agentic; who decides the split does.A subagent given a customer-support task returns an answer that contradicts a fact the coordinator clearly established earlier in the conversation. What was missed?
"subagents automatically inherit the full conversation history from the manager" - they don't; that's the exact gap that caused the wrong answer.Frequently asked
Is an agent always the more "advanced" or better choice?
Can workflow patterns and agents be combined in one system?
Work this with your AI
Work this concept hands-on with Claude Code, Codex, or claude.ai. Copy a prompt, paste it into your assistant, and practise in tandem. Each one keeps you active (explain it back, get drilled, or build) rather than just reading.
- Drill it like the exam (scenario MCQs)Practice in the exam's scenario-MCQ format with trap awareness.
- Explain it back (Feynman)Build durable, transferable understanding of a concept you can half-state.
- Test me, adapting the difficultyActive recall practice on a concept you think you know.
- Check my prerequisites firstBefore studying a concept that keeps not sticking.
- Find the high-leverage 20%When a domain feels too big and you are short on time.
