Free 10-Question CCAR-F Quick-Start Practice Test
Check your CCAR-F readiness in under 15 minutes with 10 practice questions spanning all 5 Anthropic exam domains — Agentic Architecture & Orchestration (27%), Claude Code Configuration & Workflows (20%), Prompt Engineering & Structured Output (20%), Tool Design & MCP Integration (18%), and Context Management & Reliability (15%). Instant scoring with detailed explanations, no signup required.
10 CCAR-F Sample Questions with Answers
Sample Question 1 — Agentic Architecture & Orchestration
A support agent calls several account tools before composing a customer response. The current application stops whenever Claude's text contains the word "completed," causing it to terminate before some requested tools run. Which implementation BEST improves reliability?
- A. Continue until two consecutive responses contain no tool names.
- B. Execute requests on tool_use, append matching tool results, and continue until end_turn. (Correct answer)
- C. Begin a new conversation after each tool call to reduce context size.
- D. Require Claude to end every final response with a unique completion phrase.
Correct answer: B
Explanation: Correct answer (B): The application should treat stop_reason as the protocol-level control signal. On tool_use, it executes the requested tool, appends the correctly associated tool result to conversation history, and sends the updated conversation back to Claude. It terminates the current loop on end_turn. This matters in production because free-form wording is variable, whereas protocol-level signals and preserved tool history support reliable multi-step execution.
Why the other options are wrong:
- Option A: Tool names in generated text are not authoritative execution signals, and waiting for two responses could add unnecessary latency.
- Option C: Fresh conversations discard the tool requests and prior observations needed to continue the task coherently.
- Option D: A completion phrase still relies on nondeterministic natural-language compliance rather than the API's stop reason.
Sample Question 2 — Agentic Architecture & Orchestration
A research agent can search regulatory filings, query market data, and retrieve internal reports. The correct next source depends on evidence returned by the previous tool, but production policy requires a maximum of eight tool calls. Which orchestration approach is MOST appropriate?
- A. Always call the three tools in a fixed order and stop after one pass.
- B. Let Claude invoke tools without retaining results or enforcing a call limit.
- C. Let Claude select each next tool while the host preserves results and enforces the limit. (Correct answer)
- D. Ask Claude to list every tool it might need before the host executes any.
Correct answer: C
Explanation: Correct answer (C): Model-driven tool selection is appropriate because each observation can change the next research action. The host should retain every tool request and result, continue according to stop_reason, and enforce the deterministic eight-call limit. This combines adaptive reasoning with application-controlled safety, preventing unbounded production loops while avoiding a rigid sequence.
Why the other options are wrong:
- Option A: A fixed sequence can suit stable workflows, but it cannot adapt when returned evidence indicates a different source or follow-up.
- Option B: Discarding results breaks continuity, and the missing host-enforced limit violates the stated production policy.
- Option D: Up-front planning can be useful, but the complete tool sequence cannot be known reliably before the agent observes intermediate evidence.
Sample Question 3 — Claude Code Configuration & Workflows
A development team needs Claude Code to run `make verify` before proposing changes to a shared repository. Every contributor must receive this instruction after cloning the repository. One developer also wants Claude Code to use concise explanations in all of her projects. Which configuration is MOST appropriate?
- A. Put both instructions in the developer's user-level CLAUDE.md.
- B. Put `make verify` in the project CLAUDE.md and the explanation preference in the user's CLAUDE.md. (Correct answer)
- C. Put both instructions in the project CLAUDE.md and ask other developers to ignore the style preference.
- D. Put `make verify` in a personal slash command and the explanation preference in a directory rule.
Correct answer: B
Explanation: Correct answer (B): The verification command is durable, team-wide repository guidance, so it belongs in the version-controlled project CLAUDE.md. The explanation style is an individual preference spanning projects, so it belongs in the user's CLAUDE.md. Correct configuration scope ensures production workflows are consistently shared without imposing personal preferences on the team.
Why the other options are wrong:
- Option A: A user-level file is appropriate for the explanation preference, but repository verification instructions stored there would not automatically reach every contributor.
- Option C: A project file is appropriate for verification, but committing an individual's presentation preference imposes irrelevant guidance on the entire team.
- Option D: A command could invoke an optional workflow, but mandatory verification guidance and a cross-project personal preference do not fit these scopes.
Sample Question 4 — Claude Code Configuration & Workflows
A team frequently asks Claude Code to prepare database migration checklists for a named service and release identifier. The workflow is optional, should be explicitly invoked with those two arguments, and must be versioned for everyone working in the repository. Which implementation is MOST appropriate?
- A. Create a project slash command under `.claude/commands/` and document the service and release parameters with an argument hint. (Correct answer)
- B. Add the entire checklist workflow to the root CLAUDE.md so it is active during every repository interaction.
- C. Create the command under each developer's `~/.claude/commands/` directory and manually keep the copies synchronized.
- D. Add a path-specific rule matching all source files so the checklist runs whenever application code is examined.
Correct answer: A
Explanation: Correct answer (A): A project slash command is suitable for an optional, explicitly invoked, repository-shared workflow. An argument hint communicates the required service and release inputs. Matching persistence and sharing scope to invocation semantics avoids consuming context on unrelated work and gives the production team one version-controlled workflow.
Why the other options are wrong:
- Option B: CLAUDE.md is suitable for durable instructions, but an optional parameterized workflow should not be loaded into every interaction.
- Option C: Personal commands are useful for individual workflows, but separate user copies are inappropriate when the team needs one shared version.
- Option D: Path rules can conditionally apply file conventions, but examining source code should not automatically trigger an optional release checklist.
Sample Question 5 — Context Management & Reliability
A support agent has accumulated 70,000 tokens of chat history and tool responses while investigating a billing dispute. The agent must retain the exact disputed amount, transaction date, case ID, customer commitments, and unresolved issues. Which architectural change BEST reduces context pressure without risking loss of these facts?
- A. Retain every tool response and remove only the customer's older chat messages.
- B. Maintain a structured case record, trim processed tool output, and place the current case summary prominently. (Correct answer)
- C. Replace the entire history with a short narrative summary generated after each agent turn.
- D. Move the oldest messages into the middle of the prompt and preserve recent tool output.
Correct answer: B
Explanation: Correct answer (B): A structured case record preserves exact values and unresolved items while allowing verbose evidence already processed to be removed from active context. The underlying principle is to separate durable, decision-relevant state from transient conversational detail and keep critical state prominent. In production, this reduces token use and lost-in-the-middle failures without turning exact amounts, dates, or identifiers into vague prose.
Why the other options are wrong:
- Option A: Original tool output preserves evidence, but removing customer messages can discard commitments while retaining large volumes of irrelevant data.
- Option C: Narrative summaries reduce context, but they can omit or blur exact amounts, dates, identifiers, and unresolved issues.
- Option D: Burying older facts in the middle increases retrieval risk and does not meaningfully control context growth.
Sample Question 6 — Context Management & Reliability
An extraction pipeline processes 400-page insurance files. An upstream agent identifies policy values, and a downstream agent validates them against rules and citations. Passing every source page and the upstream agent's full reasoning exceeds the context budget. Source attribution must be preserved, and the validator must recognize missing fields. Which design is MOST appropriate?
- A. Send only a prose summary of the identified policy values and discard the original source pages.
- B. Divide the source into equal chunks and let the validator infer relationships without upstream findings.
- C. Send the complete source and omit upstream reasoning so all validation uses original evidence directly.
- D. Pass a structured fact manifest with values, source locations, and unresolved fields, retaining source text for targeted retrieval. (Correct answer)
Correct answer: D
Explanation: Correct answer (D): A structured manifest makes each extracted value, citation, and unresolved field explicit while allowing the validator to retrieve only the relevant source passages. The underlying principle is that downstream reliability improves when critical state is represented structurally and raw evidence remains available by reference. In production, this controls context size, preserves provenance, and prevents missing information from being mistaken for a confirmed absence.
Why the other options are wrong:
- Option A: A prose summary is compact, but discarding the source prevents citation verification and can hide unresolved fields.
- Option B: Equal-sized chunks can separate related facts and force the validator to reconstruct findings without a reliable manifest.
- Option C: Sending all 400 pages still exceeds the stated context budget and makes key fields difficult to locate.
Sample Question 7 — Prompt Engineering & Structured Output
A team uses Claude Code in CI to review pull requests. Developers complain that the reviewer reports harmless formatting preferences, speculative risks, and inconsistent severity labels. The team wants findings limited to defects supported by evidence in the changed code. Which prompt change is MOST appropriate?
- A. Ask the reviewer to find every possible issue and let developers dismiss low-value findings.
- B. Define report, skip, evidence, and severity criteria, with examples at the decision boundaries. (Correct answer)
- C. Ask the reviewer to focus on serious issues while independently deciding what serious means.
- D. Increase the response token limit so the reviewer can explain every observation in detail.
Correct answer: B
Explanation: Correct answer (B): Defining explicit report and skip criteria tells the reviewer which observations qualify as findings, while evidence requirements and calibrated severity definitions reduce speculation and inconsistency. The underlying principle is that production prompts should make decision boundaries explicit rather than delegate undefined judgments to the model. This matters in CI because predictable, actionable findings preserve developer trust and reduce review noise.
Why the other options are wrong:
- Option A: This may maximize recall during exploratory auditing, but it preserves the false-positive burden the team needs to reduce.
- Option C: This prioritizes important defects in principle, but the undefined meaning of serious permits inconsistent severity judgments.
- Option D: More output space can improve explanations, but it does not define which observations should be reported or skipped.
Sample Question 8 — Prompt Engineering & Structured Output
An insurer uses Claude to extract cancellation dates from customer letters. Some letters quote dates from policy examples or mention a date the customer considered but rejected. The production system must not treat those references as actual cancellation requests, and uncertainty must not be converted into a guessed date. What is the BEST prompt design?
- A. Extract every date near the word cancellation and rely entirely on downstream date validation.
- B. Return the earliest valid date because customers usually discuss events in chronological order.
- C. Require one cancellation date in every response and ask Claude to infer it from context.
- D. Define positive, negative, and ambiguous cases, and permit an explicit uncertain or missing result. (Correct answer)
Correct answer: D
Explanation: Correct answer (D): Positive criteria identify genuine cancellation requests, negative criteria exclude examples and rejected dates, and ambiguous criteria allow uncertainty to be represented without fabrication. The underlying principle is that precise prompt boundaries complement downstream validation by controlling semantic interpretation. This matters in production because a syntactically valid but unsupported cancellation date could trigger an incorrect policy action.
Why the other options are wrong:
- Option A: Proximity-based extraction is simple and favors recall, but date-format validation cannot determine whether a date was illustrative or rejected.
- Option B: A chronological heuristic may help in some document types, but it is unsupported here and can select an unrelated date.
- Option C: Requiring a value simplifies downstream handling, but forcing inference violates the requirement not to guess when evidence is uncertain.
Sample Question 9 — Tool Design & MCP Integration
A customer-support agent has three tools named customer_lookup, account_lookup, and profile_lookup. Their descriptions all say, "Find customer information," but each tool queries a different system and accepts a different identifier. Production traces show that Claude frequently selects the wrong tool. What is the BEST architectural change?
- A. Combine the tools into one interface with optional parameters for every supported identifier and backend.
- B. Rename and document each tool with its purpose, accepted identifier, output, boundaries, and selection examples. (Correct answer)
- C. Keep the interfaces unchanged and instruct Claude to retry another tool whenever no customer is returned.
- D. Provide all three tools through separate MCP servers while retaining their current names and descriptions.
Correct answer: B
Explanation: Correct answer (B): The tools need distinct semantic boundaries and descriptions that state their purpose, inputs, outputs, and appropriate selection conditions. Examples can further clarify similar cases. Clear interfaces reduce model selection ambiguity, which matters in production because choosing the wrong customer system can cause incorrect conclusions or actions.
Why the other options are wrong:
- Option A: Combining distinct backends and identifier types behind many optional parameters would preserve or increase ambiguity rather than create clear boundaries.
- Option C: An empty result can be valid, so speculative retries against unrelated systems are unsafe and do not resolve the underlying interface ambiguity.
- Option D: Separate servers may support security or ownership boundaries, but server separation alone does not clarify ambiguous tool names and descriptions.
Sample Question 10 — Tool Design & MCP Integration
A research agent uses a tool named research_data with a mode parameter supporting patent search, market-metric retrieval, document summarization, and citation export. The modes have different required inputs, permissions, outputs, and failure conditions. Agents frequently omit mode-specific fields and misinterpret results. Which redesign is MOST appropriate?
- A. Split the interface into purpose-specific tools with distinct schemas, boundaries, outputs, and representative usage examples. (Correct answer)
- B. Retain one tool, make every field optional, and have the server infer the intended mode from supplied values.
- C. Retain one tool and expand its description with a complete list of every backend implementation detail.
- D. Create one tool per input field so agents can construct each research operation over multiple calls.
Correct answer: A
Explanation: Correct answer (A): The four modes represent materially different operations with distinct schemas, permissions, outputs, and failure behavior, so purpose-specific tools provide coherent boundaries. This follows the principle that tools should expose understandable capabilities rather than unrelated modes. In production, clearer schemas improve selection, validation, authorization, and result interpretation.
Why the other options are wrong:
- Option B: Making fields optional and inferring the mode preserves ambiguity and makes malformed invocations more likely.
- Option C: Additional description can help a cohesive tool, but backend implementation details do not resolve incompatible schemas and operational boundaries.
- Option D: Dividing operations by individual input fields creates excessive fragmentation and shifts unnecessary assembly work to the agent.
Keep Practicing
Ready for more? The full CCAR-F practice test hub has 250+ questions with per-domain drilling: Agentic Architecture & Orchestration, Claude Code Configuration & Workflows, Prompt Engineering & Structured Output, Tool Design & MCP Integration, and Context Management & Reliability.