Domain 1 · 14.7% of the CCDV-F exam
Agents and Workflows
Decide when a task is a workflow or an agent, construct the loop with the Claude Agent SDK or a harness you own, and apply isolation, memory, and orchestration frameworks only when they earn their cost.
Task statements
- 1.1 · 4.5%
Agent Architecture
Choose a workflow when the path is known, and an agent when the path is discovered at runtime. A supervisor delegates to isolated subagents. Sequential steps wait on each other. Parallel steps do not. The simplest structure that meets the requirement wins on reliability, predictability, cost, latency, and context.
- 1.2 · 5.3%
Agent Construction with Claude
Once an agent is justified, pick who owns the loop. A custom harness gives you the mechanics. The Claude Agent SDK runs the loop, tool dispatch, and sessions in your process. Claude Managed Agents runs the harness for you, on an Anthropic sandbox or a self-hosted one. Hooks and human approval make the steps that must not fail into code.
- 1.3 · 4.9%
Agent Patterns and Frameworks
Patterns are how an agent uses tools, memory, and context: a tool loop, isolated subagents, and a window you prune on purpose. Frameworks such as Strands, LangGraph, and PydanticAI standardise loop control, state, and branching when that orchestration is actually complex. They do not make the model more capable.
Build exercises
Classify three jobs and draw the control flow
1.1 · Intermediate · 40 minutes
- How to tell a known path from a discovered path.
- Where a supervisor belongs, and where it is extra.
- Which edges are sequential and which can run together.
- Where a side effect needs a code gate even if the rest is an agent.
Build a refund loop with a real gate
1.2 · Advanced · 50 minutes
- How a custom loop treats stop_reason.
- How a tool error returns to the model.
- How a PreToolUse gate differs from a prompt line.
- How a human pause is different from both.
Isolate a search and pick the orchestration
1.3 · Intermediate · 45 minutes
- How a subagent return contract protects the parent window.
- How compaction differs from dumping memory back in.
- How to reject a framework when the graph has one node.
- How LangGraph-style and PydanticAI-style pains differ.