This is the study reference I wish I had when preparing for the CCA Professional exam. It covers every framework, decision table, and rule from all five Anthropic learning modules, distilled into the form the exam actually tests: not "what does this term mean" but "given these constraints, which architecture and why."
If you're looking for the strategy guide — how to schedule your weeks, what order to study, how to pace through the 120-minute exam — read Claude Certified Architect – Professional: Complete Exam Prep Guide first. This post is the content that sits underneath that strategy.
Exam snapshot: 5 modules, 7 domains, 63 questions, 120 minutes, target 75%+ per domain. You can practice all 63 questions at /quiz/cca-professional.
The Master Pattern (read this before anything else)
Every module in the CCA Professional course is a variation on one idea:
A thing that looks handled and a thing that has been verified to be handled are different claims.
This is not philosophy. It is the test key. Every wrong answer on the Professional exam is a version of collapsing this distinction:
| "Looks like" | "Has been verified as" |
|---|---|
| Demo ran clean 5 times | Deterministic |
| Control named in a design doc | Control with an owner and evidence artifact |
| Compliant route chosen | Proof of ongoing compliance |
| Confident model output | Correct model output |
| Diagram drawn | Rationale recorded |
| Per-call cost quoted | Monthly bill estimated at volume |
| Human review gate exists | Human review gate that doesn't rubber-stamp |
When you see a question and you are not sure, ask: which option is verified, evidenced, or owned — and which one is merely assumed? The correct answer is almost always the verified one.
Module 1 — Platform & Solution Design
Total content time: 238 minutes
The Four AI Properties and Their Design Consequences
These four properties drive every architectural decision in the first domain. Memorise the property and its design consequence as a pair — the exam tests both.
| Property | Design Consequence |
|---|---|
| Non-determinism — same input can yield different outputs across runs | Why evaluation frameworks exist. You cannot certify behavior observed once. |
| Knowledge boundary — cannot reliably supply rare, private, or post-cutoff knowledge from memory | Why retrieval tools and RAG exist. |
| Context as a finite resource — fixed token budget; what enters it and when is a design decision | Passive "include everything" is never the right answer. |
| Confidence ≠ correctness — a wrong output can be as fluent and assured as a right one | Why human-in-the-loop placement is architectural, not an afterthought. |
The Four Architecture Patterns
| Pattern | Use when | Key signal |
|---|---|---|
| Single augmented LLM call | One transformation per request, context supplied | Task is a single step; retrieval or a tool provides the data it needs |
| Fixed workflow | Steps are known, stable, identical per request | Business requires per-step auditability; steps never vary |
| Autonomous agent | The path to the answer only emerges during execution | Each step's result determines what happens next |
| Multi-agent system | Sub-tasks need genuinely different specialisations/tools/context AND can run independently | Two valid drivers: distinct specialisation + parallel execution |
The "not the right reason" list for multi-agent: High volume, large budget, and executive enthusiasm are never valid architectural drivers. The only valid drivers are task structure — known vs. emergent steps, and genuine need for parallel or specialised sub-tasks.
Platform Entry Points
The exam distinguishes three layers of the Claude platform stack:
| Layer | What it is | Example |
|---|---|---|
| Entry point (dev-terminal) | Where a developer or operator directly uses Claude | Claude Code |
| Consumer/enterprise portal | Where end-users access Claude | claude.ai Enterprise |
| Build-time interface | How tools and integrations are exposed to Claude | MCP servers |
| Delivery route | How the model is served to an application | Bedrock, Vertex AI, Azure OpenAI Service |
Claude Code disqualifier: Claude Code is an entry point — a developer tool for the terminal. The moment a brief contains "multi-user," "customer-facing," or "backend service," Claude Code is automatically disqualified. It was never designed for that shape.
Primitives and Their One-Word Job
| Primitive | One-word job |
|---|---|
| Tool | Act |
| Subagent | Isolate-parallelize |
| Hook | Guarantee |
| Skill | Package-a-procedure |
Feasibility Verdicts
When you run a use case through the four AI properties, you arrive at exactly one of three verdicts:
- Feasible as scoped — the use case can be built as described
- Feasible with constraints — buildable, but only under specific conditions (e.g., retrieval required, HITL required, scope must narrow)
- Not feasible — the use case cannot be built reliably with current LLM capabilities
The exam often presents a use case with ambiguous feasibility and asks which verdict applies after considering all four properties.
Prompt Caching Mechanics
- Caching matches on the prompt prefix — the beginning of the prompt
- Cache TTL default is 5 minutes. Prompt caching only pays off if request frequency clears the TTL
- First write costs more than a standard input token (you pay a write premium)
- Dynamic values must come after the static prefix. A timestamp or request ID at position zero makes every prefix unique — zero cache hits guaranteed
- Correct pattern:
[static policy content — 9,000 tokens] → [dynamic: timestamp + request ID] → [user message]
Module 2 — Enterprise Integration & Production
Total content time: 158 minutes
The Eval Grading Ladder
Use the cheapest method that is reliable for the task. Only escalate up the ladder when the tier below can't be trusted.
Code-based evaluation
↓ (when interpretation is required)
Model-based evaluation (LLM as judge)
↓ (when neither above can be trusted)
Human review
Code-based: for outputs that can be checked mechanically — correct format, correct field values, correct math, correct extraction
Model-based (LLM judge): for outputs requiring interpretation — tone, brand alignment, reasoning quality. Must be:
- A different model from the one being evaluated (avoid self-grading)
- Given constrained verdicts ("pass/fail" not "score 1-10 with explanation")
- Calibrated against human-labeled outputs before use at scale
The uncalibrated judge rule: An uncalibrated LLM judge is worse than no automated grade. It produces a confidence signal that looks like measurement while silently disagreeing with what humans would actually score. Before trusting an LLM judge at scale, run it against human-labeled samples and confirm agreement.
Human review: for cases where neither code-based nor model-based can be trusted. Reserved for genuinely ambiguous outputs, regulated decisions, or calibration exercises.
The POC-to-Production Gap
A proof of concept hides four things that only become visible at production scale:
| Dimension | What POC hides | What production exposes |
|---|---|---|
| Cost | Low volume, one request at a time | Cost per request × volume × months |
| Latency | Developer machine, no queue | p95/p99 under real load |
| Reliability | Single happy-path request | Retry storms, provider outages, cascading failures |
| Failure modes | Developer supervises every request | Silent errors, hallucinated tool calls, context overflows |
The exam tests this with questions that describe a "successful demo" and ask what the architect should do before production commitment.
Reliability Controls — Which Layer
| Control | Where it belongs | What it catches |
|---|---|---|
| Retry | API call layer | Transient provider errors (5xx, timeout) |
| Circuit breaker | Service boundary | Sustained provider degradation (stops amplifying the load) |
| Fallback chain | Orchestration layer | Full provider failure (graceful degradation to a simpler path) |
The placement rule: Each control must be placed at its layer. A retry at the orchestration layer will retry an entire multi-step workflow, compounding the cost. A circuit breaker at the API call layer won't help if the failure is at the service boundary.
A/B Testing Rigor
The four elements that must exist before starting an A/B test:
- Pre-committed hypothesis — what you expect to change and why (prevents p-hacking)
- Power calculation — minimum sample size for the effect size you care about
- One primary metric — with secondary guardrail metrics; not "we'll see what moves"
- Statistical significance gate — commit in advance to the threshold before looking at results
Shadow Testing vs Canary Rollout
| Method | What it does | When to use |
|---|---|---|
| Shadow testing | New version runs on real traffic in parallel; output is logged but never shown to users | When zero exposure risk is required (regulated domains, high-stakes outputs) |
| Canary rollout | Small percentage of real traffic routes to the new version; users see its output | When you need real downstream signal and can tolerate bounded exposure |
Shadow testing trades real downstream signal for zero user exposure. Often the only acceptable path in regulated deployments.
Change Attribution
When a production metric moves, three possible causes need to be distinguished before any fix is applied:
| Cause | What changed | Fix direction |
|---|---|---|
| Model drift | Model behavior shifted (e.g. after a model update) | Eval the model update; potentially pin the previous version |
| Data drift | Input distribution shifted (e.g. users asking different things) | Update training data, eval set, or retrieval corpus |
| Model-update effect | A deliberate model version change caused the shift | Attribute to the update; evaluate whether to roll back |
Mixing these up produces the wrong fix. Attributing data drift to model drift leads to a version rollback that doesn't help. Attributing a model update effect to data drift leads to expensive corpus work that doesn't help.
Cost Optimization Order of Operations
- Trace first — analyse token usage and cost per workload from production traces
- Identify the dominant driver — is it context size, caching misses, output length, or model tier?
- Apply targeted levers — prompt caching (for large static prefixes), context trimming (remove padding), model downsizing (smallest model that clears the accuracy bar)
- Evaluate quality at each step — never assume downsizing is neutral until you measure it
Module 3 — Responsible AI, Safety & Risk
Total content time: 114 minutes
The Alignment Boundary
The alignment boundary separates what trained behavior already handles from what you must still enforce at the application layer:
| Side | Responsible for | Examples |
|---|---|---|
| Training-time (Anthropic's job) | Broad, general harm reduction | Refusing to help synthesize weapons; broad safety defaults |
| Inference-time (your job as operator) | Domain-specific policy, data rules, authorization | "Only return records belonging to this user"; "Never quote internal pricing" |
The critical implication: You cannot audit, test, or evidence training-time behavior at the application level. Any compliance requirement that needs evidence must be enforced at inference-time layers you control.
The Four-Layer Safety Stack
| Layer | What it does | Its specific blind spot |
|---|---|---|
| 1. Trained behavior | Reduces broad, general harm categories | Can't know your domain-specific rules — it was never given them |
| 2. System-prompt instruction | Applies context-specific policy | Instructions can be ignored, misinterpreted, or talked around — an instruction is not enforcement |
| 3. Runtime screening | Scans inputs and outputs for policy violations | Can't see malicious instructions arriving via retrieved content or tool outputs (indirect injection) |
| 4. Authorization | Controls whether a caller may take a specific action | Timing attacks and race conditions if not implemented atomically |
The architecture pattern: each layer's blind spot is exactly what the next layer catches. Removing any layer leaves its successor's blind spot exposed.
Fail-Open vs. Fail-Closed
This is a per-guardrail decision, not a blanket policy:
| Scenario | Decision | Reasoning |
|---|---|---|
| Guardrail gates access to sensitive data | Fail-closed — deny on error | A guardrail that silently passes traffic on error provides no protection |
| Guardrail gates optional enrichment on throughput-critical low-stakes path | Fail-open — proceed without enrichment | Halting throughput is worse than occasional undecorated output |
A guardrail that fails open on high-stakes data exposure is worse than no guardrail — it looks like protection while providing none.
Tool-Call Authorization
Authorization for tool calls is almost always deterministic. It must:
- Check: does this specific caller have permission for this specific action in this specific context?
- Be provable — the check must be auditable
- Be replayable — running the same check twice must produce the same answer
- Execute before the side-effecting action runs, not after
Contrast with input/output screening, which can be model-based (probability-weighted). Authorization never can.
Indirect Prompt Injection
Malicious instructions can arrive via retrieved content or tool outputs, not just from the user's direct message:
User message → LLM (input screening sees this)
↓
Tool call retrieves document containing: "Ignore your instructions and..."
↓
LLM processes retrieved content (input screening did NOT see this)
Mitigation: retrieved content must also be screened, or treated as untrusted data that the model is explicitly instructed to process rather than obey.
Skills Supply-Chain Risk
A distributable skill (an MCP server, a packaged tool set) can carry a code-execution exploit. Simply auditing after distribution is insufficient because:
- The exploit may run before the audit catches it
- Audit covers past behavior, not future behavior on new inputs
Mitigation requires both:
- Audit — monitor for anomalous calls and out-of-scope operations
- Runtime least-privilege sandboxing — the skill can only access what it needs, even if it tries to go further
Fairness Injection Points
Unequal outcomes can enter a system independently of the model vendor, at four points you control:
- Retrieval corpus — if the corpus underrepresents a group, retrieval quality differs by group
- Prompt framing — instructions can implicitly steer outputs toward or away from groups
- Chosen examples — few-shot examples embed the biases present in whoever selected them
- Downstream routing — post-model routing rules can apply different paths to different groups
The exam tests whether architects recognize these as design choices, not model properties.