Claude Certified Architect (CCA) Prep
Prep for the Claude Certified Architect exam — the architect’s map, the core concepts, and 50 worked practice questions across all five exam domains.
-
1 Claude Certified Architect (CCA) Exam Guide: All Five Domains on One Diagram The Claude Certified Architect exam mapped to one diagram — all five domains, their weights, and the five things you do to a Claude agent. Jul 24, 2026 -
2 MCP Explained on One Diagram: The USB-C Port for AI Tools What the Model Context Protocol actually standardizes, the client-server-tool round-trip, and when to reach for MCP vs inline functions vs RAG. Jul 24, 2026 -
3 RAG vs Context Engineering: Why 'RAG Is Dead' and What Replaces It RAG didn't die, it got demoted. Learn the four pillars of context engineering and why the context window is a budget, not a memory. Jul 24, 2026 -
4 The Agent Loop Explained: Why Ignoring Tool Results Breaks Your Agent An agent calls a tool, gets results back, then answers from memory anyway. Which part of the agent loop failed? Learn the mechanism, not just the key. Jul 24, 2026 -
5 How to Expose 30 Tools Across 3 Services: MCP vs Inline Tools A CCA practice question on exposing 30 tools across 3 services — why one MCP server per service beats inline function defs, with the mechanism diagram. Jul 24, 2026 -
6 RAG vs MCP: Which Is Which, and When to Use Each RAG retrieves knowledge, MCP exposes tools. A CCA practice question that untangles the difference with a context-budget diagram. Jul 24, 2026 -
7 Why Your Agent Loops Forever: Termination Conditions in the Agent Loop An agent keeps calling the same tool and never stops. This CCA practice question shows the missing exit-guard and how to fix it: max-steps plus a goal check. Jul 24, 2026 -
8 When Two Agents Disagree, Who Decides? The Coordinator-Subagent Pattern Two sub-agents return conflicting answers — what should the orchestrator do? The reconcile-step pattern explained, with the mechanism diagram. Jul 24, 2026 -
9 Your Agent Blew the Context Window: Decompose Before You Overflow A long agent run just overflowed the context window. The exam wants the first lever, not a rebuild — here's the mechanism behind the right answer. Jul 24, 2026 -
10 When NOT to Build an Agent Loop: Workflows vs Agents A CCA practice question on when a single-shot prompt beats an agent loop — the decision rule, the mechanism, and why the other options fail. Jul 24, 2026 -
11 Your Tool Said 'Ignore Your Instructions': Prompt Injection Through Tool Results A tool result contains an instruction. Learn why that's indirect prompt injection, not a hallucination, and how to draw the trust boundary. Jul 24, 2026 -
12 Where Does an Agent Remember Last Week? Session State vs Long-Term Memory Why an agent forgets last week's conversation by default, and the architectural fix: session state vs a persistent long-term memory store. Jul 24, 2026 -
13 The Cheapest Way to Cut Agent Cost: Model Routing and Cheaper Loops The cheapest lever for agent cost isn't a smaller context or fewer tools — it's routing easy steps to a cheap model and escalating only the hard ones. Jul 24, 2026 -
14 Why Does Claude Pick the Wrong Tool? Fixing Tool Selection Claude picks search_web instead of search_docs? Learn why tool descriptions — not schemas — drive tool selection, and how to fix it. Jul 24, 2026 -
15 The Model Sends 'Next Tuesday,' Not a Date: Typing Tool Parameters A tool needs a real date but the model keeps sending free text like 'next Tuesday.' The fix isn't a prompt — it's the JSON schema. Here's the mechanism. Jul 24, 2026 -
16 Your Tool Returns a 500 — Then What? Designing a Tool Error Contract A tool's upstream API returns HTTP 500 — should it throw, return empty, or retry? The mechanism behind structured tool error contracts. Jul 24, 2026 -
17 40 Tools, Wrong Picks, High Latency: Scoping Tools Per Agent An agent with 40 tools picks the wrong one and runs slow. The fix isn't more tools — it's grouping them behind namespaces or MCP servers. Jul 24, 2026 -
18 Same Tool, Three Agents: Inline Tool or MCP Server? A capability is reused across three agents and two teams — inline copy or one MCP server? The mechanism behind the reuse decision, explained. Jul 24, 2026 -
19 A Tool That Can Delete Prod: Designing Safe Destructive Tools How to expose a tool that can delete production data: least privilege plus a human-approval gate, and why the other three options fail fast. Jul 24, 2026 -
20 'Gets Data' Is Too Vague: How to Write Tool Descriptions That Work A CCA D2 practice question on tool descriptions: why 'gets data' breaks tool selection, and what the model actually needs to read instead. Jul 24, 2026 -
21 Your Tool Returns 5,000 Rows: Paginating and Shaping Tool Responses A 5,000-row tool result blows the context window. Learn why pagination, summaries, and handles beat raw dumps — and why bigger context isn't the fix. Jul 24, 2026 -
22 The Param the Model Keeps Skipping: Required vs Optional Tool Parameters A model keeps omitting an optional 'currency' param and totals go wrong. The fix isn't a smarter prompt — it's the JSON schema. Here's why. Jul 24, 2026 -
23 Per-User OAuth Across Many Tenants: MCP Authentication at Scale A CCA practice question on per-user OAuth across tenants — why MCP centralizes auth instead of every tool re-implementing it inline. Jul 24, 2026 -
24 Where Does a Team Convention Live? Project CLAUDE.md Explained Project CLAUDE.md ships with the repo as shared team memory, while user CLAUDE.md is yours alone. The Claude Code memory hierarchy, explained with a CCA practice question. Jul 24, 2026 -
25 A Rule for You, Not Your Team: Local vs Shared Claude Code Settings Where does a personal Claude Code rule live so it follows you across every repo without landing in your teammates' checkouts? Jul 24, 2026 -
26 Instructions or a Hook — Which Runs Every Time? CLAUDE.md vs Hooks A CCA practice question on CLAUDE.md vs hooks: why an instruction is advisory but a PostToolUse hook guarantees the linter runs after every edit. Jul 24, 2026 -
27 Where Does a /review Shortcut Live? Claude Code Slash Commands Custom Claude Code slash commands like /review are markdown files in .claude/commands/ — learn the mechanism, the file tree, and why the other options fail. Jul 24, 2026 -
28 Slash Command or Skill? When to Use Each in Claude Code Model-invoked vs you-invoked: the mechanism that decides whether a capability belongs in a slash command or an Agent Skill. Jul 24, 2026 -
29 Run Claude Code in CI With No Human: Headless Mode Explained Wiring Claude Code into a CI pipeline to triage issues automatically? Learn why headless print mode, not the TUI, is the mechanism that makes it work. Jul 24, 2026 -
30 Allow npm test, Gate Destructive Git: Claude Code Permissions Scoped allow/ask/deny rules let Claude Code run npm test silently while destructive git still prompts. The mechanism behind Claude Code permissions. Jul 24, 2026 -
31 The Setting You Must Not Commit: settings.local.json in Claude Code Where personal, experimental Claude Code settings belong so they never land in a teammate's repo — settings.local.json, gitignored by default. Jul 24, 2026 -
32 Enterprise Denies, You Allow — Who Wins? Claude Code Permission Precedence Enterprise policy denies Bash, your local settings allow it — which one wins? The Claude Code settings precedence ladder, explained with a diagram. Jul 24, 2026 -
33 A Scoped 'Test-Writer' Agent: Custom Subagents in Claude Code Restrict a Claude Code agent to a few tools with a scoped subagent — where the file lives, what frontmatter does, and how delegation works. Jul 24, 2026 -
34 How Do You Guarantee Valid JSON? Forcing Structured Output Why 'return only JSON' in a prompt fails and forced tool_choice with a schema guarantees valid, parseable structured output every call. Jul 24, 2026 -
35 A Number Comes Back as a String: Validating Structured Output Types Extraction returns amount as '42' instead of 42. The fix isn't a downstream cast — it's a typed JSON schema plus a validation gate. Jul 24, 2026 -
36 Keep the Reasoning, Hide It From Output: Chain of Thought With Clean JSON You want Claude to think before it answers, but your downstream code needs clean JSON, not a wall of reasoning. Here's the pattern that gets both. Jul 24, 2026 -
37 Your Few-Shot Examples All Look the Same: Diversity in Few-Shot Prompting A CCA practice question on few-shot overfitting: why examples define the output distribution, and how to fix examples that are all one shape. Jul 24, 2026 -
38 Force the Tool, or Let It Decide? tool_choice Explained Why tool_choice:'tool' beats 'auto' when structured output isn't optional — the four modes explained with the mechanism, not the myth. Jul 24, 2026 -
39 Your Retry Loop Never Stops: Bounded Retries for LLM Output Why validation-retry loops must be bounded, and how feeding the error back into the next prompt turns rejections into self-correcting attempts. Jul 24, 2026 -
40 10,000 Docs Overnight, Cost Matters: Batch Processing LLM Jobs 10,000 documents, cost-sensitive, no latency deadline — the Message Batches API cuts cost ~50%. Learn when to batch vs call synchronously. Jul 24, 2026 -
41 It Ignores the Rule Buried in the Prompt: Where to Put Instructions Claude keeps skipping a rule buried in your system prompt? Learn why structure and position beat volume, caps, and repetition. Jul 24, 2026 -
42 'Unknown' Beats a Hallucinated Field: Preventing Made-Up Output Why a schema that forbids null forces Claude to guess. CCA D4 practice: allow 'unknown' in the schema instead of hoping it won't hallucinate. Jul 24, 2026 -
43 The Output Feeds a Program, Not a Person: Machine-Readable LLM Output Free text, Markdown, or JSON schema? When an LLM's output is consumed by code, not a human, the mechanism that makes it reliable. Jul 24, 2026 -
44 It Forgot Your First Instruction: Lost-in-the-Middle and Context Rot Why long agent runs ignore early instructions, and the mechanism behind lost-in-the-middle attention decay — plus the fix. CCA Domain 5 practice. Jul 24, 2026 -
45 The Task Overflowed the Window: Chunking and Decomposition A CCA Domain 5 practice question: an agent overflows the context window mid-task. The fix is compaction, not a bigger model — here's the mechanism. Jul 24, 2026 -
46 Stop Re-Sending the Same Big Block: Prompt Caching for Context A CCA practice question on prompt caching: why re-sending a fixed policy block every call wastes tokens, and how cache_control on a stable prefix fixes it. Jul 24, 2026 -
47 Why Is Your Cache Never Hitting? Prompt Cache Prefix Rules cache_read stuck at 0 despite adding caching? Learn the model-specific cache floor and why a too-short prefix silently no-ops. Jul 24, 2026 -
48 Where Did That Fact Come From? Grounding and Citations A CCA D5 practice question on provenance: why every fact an agent hands downstream needs a source attached, and what breaks when it doesn't. Jul 24, 2026 -
49 It Failed and Answered Confidently Anyway: Error Propagation in Agents Why a coordinator answers confidently after a subagent fails, the swallowed-error mechanism, and the fix: propagate and escalate. CCA D5 practice. Jul 24, 2026 -
50 When Should It Hand Off to a Human? Escalation Patterns A CCA D5 practice question on confidence-gated escalation: when an agent should hand off to a human, and why the naive answers all fail. Jul 24, 2026 -
51 Confidently Wrong: Confidence Calibration for LLM Output Why LLMs sound just as certain when wrong as when right, and how a confidence score plus a review/retry router fixes it. Jul 24, 2026 -
52 Your Scratchpad Vanished on Compaction: Persisting Agent State Why an agent's scratchpad notes disappear when context is compacted, and the fix: persist working state outside the window. CCA Domain 5 practice. Jul 24, 2026 -
53 80% History, 20% Task: Budgeting the Context Window Your agent's context is 80% conversation history and quality is dropping — why rebalancing the token budget beats a bigger model. CCA D5 practice. Jul 24, 2026