🎓 Claude Architect KB CCAR-F · CCAR-P study guide

Domain 1 – Questions

Agentic Architecture · every question we have for this domain, in one place

Domain 1 lesson · Domain 1 – Facts

Answer each question cold, then open its explanation. In the local app every answer is graded and saved, and Reset all at the top starts a fresh round for this domain (your history is kept). 78 questions in total.

Practice questions (18)

Source: Practice questions.

Q1. A support agent must never issue credits above $50 without human sign-off. Where does this rule live? A) The system prompt B) A deterministic harness gate with an HITL approval queue C) A few-shot example showing refusal D) A CLAUDE.md instruction

Understand Q1 · the situation and each part of the question

The real situation behind this question

Imagine a support application that can send money back to a customer. The customer asks for a $75 credit. The company permits small credits automatically, but an employee must approve anything above $50. Claude may correctly understand the complaint and still propose an action outside that limit. The design question is where to put a control that remains effective even when the model produces the wrong proposal. A human approval queue is application infrastructure: for example, database rows shown in a reviewer dashboard. The application saves the pending action and run state, then stops work on that action. A later authorized decision wakes a worker, which rechecks the action, executes it only if allowed, and continues the same saved run. The LLM does not keep generating while the person decides.

Read the question in parts

Part 1 · never issue credits

This is a requirement about what the payment system actually does, not merely what the assistant says.

Part 2 · without human sign-off

An authorized employee must approve before the credit is issued; notifying someone afterward does not satisfy the rule.

Part 3 · Runtime scope: CLAUDE.md

This asks for enforcement in an application. A plain Messages API loop does not load CLAUDE.md automatically; a runtime may load it, but text still cannot replace a payment authorization check.

What you are being asked to decide

Where can you enforce a dollar limit before a credit is issued? Prevent unauthorized financial actions before they occur.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
sign-offSign-off: approval from the person or role authorized by the application policy.
System prompt — the application’s standing instructionsYour application supplies the system prompt in the API request’s system field. It defines Claude’s general job and rules. The user message supplies the current task. Your code, not an application user’s claim, decides what belongs in the system field.
DeterministicA computation gives the same result for the same complete inputs and state under the same rules.
CLAUDE.md (memory file)A Markdown instruction file read as context by Claude Code.
Examples in a prompt — sample input, correct answer, then a new PDFAn example is a small demonstration you include in the prompt: sample input plus the correct answer. You write both parts. Claude uses that demonstration when answering about a new input. One demonstration is called one-shot prompting; several are called few-shot or multishot prompting.
HarnessThe application code around the model call. It prepares context, handles results, checks policy, and runs tools.

Example: HITL CLAUDE.md — the memory layers (and the exam-speak decoder) HITL — the interception mechanics System prompt Deterministic Few-shot Domain 1 · Agentic Architecture

Understand Q1's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The rule is about what the payment system does, not what the assistant says. A prompt, an example, or a CLAUDE.md line can only ask the model to behave; a $75 credit still goes through if the model proposes it. So the check has to live in code: the harness compares the amount, and above $50 it parks the action in an approval queue until a human signs off.

Connect the design to the situation

A $75 credit request should wait for an authorized reviewer before any payment operation runs.

Best answer: B. Check the amount in backend code before issuing the credit. Above $50, save the request for an authorized human to approve. A prompt or example can describe the rule but does not enforce it.

What each choice would do here

A · Why this does not meet the full requirement

The system prompt

A prompt asks the model to comply; it cannot block a backend call.

You can write the dollar limit in the system prompt to guide the assistant. However, a generated tool call could still request $75, so another component must prevent execution.

B · Why this meets the requirement

A deterministic harness gate with an HITL approval queue

Code checks the amount and parks the operation for approval before execution.

The tool dispatcher reads the amount before calling the payment service. It records a pending approval and resumes only after a trusted approval decision; the model cannot approve itself.

C · Why this does not meet the full requirement

A few-shot example showing refusal

An example teaches behavior but cannot prevent every violation.

A demonstration of refusing a large credit helps teach the desired response. It does not create a lock in the payment service when a different conversation produces a bad call.

D · Why this does not meet the full requirement

A CLAUDE.md instruction

A memory file supplies instructions, not a payment permission boundary.

A repository instruction can tell a coding assistant how to implement the limit. The deployed payment operation still needs executable checks; the file itself is not consulted as a transaction gate. In a custom Messages API application the file is not automatically loaded at all. A deployed Claude Code or configured Agent SDK can load it, but even then its text is guidance, not an enforced payment gate. The missing executable check is why this option fails.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Walk through approval and replay — offline simulation

PYTHON
# Offline teaching simulation: no payment or shipment is performed.
# Production must make effect recording atomic with the operation, or use
# the provider's idempotency support and reconcile uncertain outcomes.
ledger = {}

def propose(operation_id, amount, approved=False):
    if operation_id in ledger:
        return ledger[operation_id]
    if amount > 50 and not approved:
        return {"status": "pending_approval"}
    result = {"status": "completed", "operation_id": operation_id}
    ledger[operation_id] = result
    return result

print(propose("credit-104", 75))
print(propose("credit-104", 75, approved=True))
print(propose("credit-104", 75, approved=True))

The first call waits for approval. The next records a completed operation; the repeated ID returns that record. This in-memory demonstration is not a durable or concurrency-safe production implementation. A real service needs persistent atomic effect handling, authenticated approvals, and recovery checks.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Where can you enforce a dollar limit before a credit is issued?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Start and resume: run IDs, checkpoints, and retry code Complete API request, response, and every field Complete Python loop and the JSON it sends Where the HITL queue lives and how the run resumes Which runtime reads CLAUDE.md? Guidance versus enforcement

Example: HITL CLAUDE.md — the memory layers (and the exam-speak decoder) HITL — the interception mechanics System prompt Deterministic Few-shot Domain 1 · Agentic Architecture

Return to Q1's situation and clause-by-clause explanation

Q2. A pipeline summarizes a document, then extracts entities from the summary, then formats a report. The steps never change. The most appropriate architecture is: A) A single agent with three tools B) Prompt chaining workflow C) Evaluator–optimizer D) Orchestrator–workers

Understand Q2 · the situation and each part of the question

The real situation behind this question

Suppose a document-processing service always performs three steps: summarize the document, find entities in that summary, and format the results as a report. Each step needs the previous step's output. Nothing in the task asks the model to invent a plan or choose which stage should happen next. You are choosing how to express this known process in software, rather than choosing the most powerful-sounding agent framework. A worker is simply a component assigned work; the word does not tell you whether it uses an LLM or a thread. In the orchestrator–workers option, a coordinator model would decide how to split this request. That decision is unnecessary here because the stages and their dependencies are already specified.

Read the question in parts

Part 1 · steps never change

The order is already known before the request arrives. Code can encode it directly.

Part 2 · most appropriate architecture

Several designs could produce a report; compare their unnecessary decisions and operational complexity for this specific requirement.

Part 3 · Orchestrator–workers is not a threading instruction

The orchestrator is a coordination role. Application code launches assignments; a model does not spawn OS threads just by describing a plan. Independent worker calls may overlap using async, threads, or separate services.

Part 4 · Several LLM calls versus several agents

A fixed chain can call an LLM three times and still be a workflow. Worker agents are separately managed task contexts with decision loops. Parallel model calls do not automatically imply autonomous agents.

What you are being asked to decide

Choose an architecture for three stages whose order is already fixed. Avoid unnecessary planning when a process is already fixed.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Orchestrator–workersIn this named pattern, a coordinator LLM chooses subtasks dynamically and delegates them to worker LLMs or agents. These are responsibilities, not Python threads.
Workflow (vs agent)A sequence or branching process whose structure is defined by application code.

When evaluator–optimizer IS useful: full example Study: workflows vs agents Orchestrator–workers Workflow Domain 1 · Agentic Architecture

Understand Q2's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The three steps are fixed and each one feeds the next. When the sequence never changes, there is nothing for a model to plan; an agent or orchestrator would just be deciding what you already know. So write the sequence as a prompt chain, with a code check between the stages.

Connect the design to the situation

Document → summary → entity list → formatted report, with a check between stages.

Best answer: B. The sequence is already known: summarize, extract, format. A chaining workflow expresses those stages directly and can check each intermediate result. A dynamically planning agent adds decisions this task does not require.

What each choice would do here

A · Why this does not meet the full requirement

A single agent with three tools

An agent could work but introduces unnecessary choices about the next step.

This would ask an agent to decide when to use each of three tools, although the application already knows the order. That freedom adds failure possibilities without satisfying an additional requirement.

B · Why this meets the requirement

Prompt chaining workflow

A prompt chain directly expresses the known sequence.

Code sends the summary to extraction and the extracted values to formatting. A failed intermediate check can stop the chain before a misleading final report is produced.

C · Why this does not meet the full requirement

Evaluator–optimizer

Repeated critique is useful for iterative improvement, not necessary for a fixed sequence.

An evaluator-optimizer is useful when an initial draft needs repeated critique and revision. Here the stated task describes dependent processing stages, not an improvement cycle with a stopping criterion.

D · Why this does not meet the full requirement

Orchestrator–workers

Workers help divide independent or dynamically assigned tasks; these stages depend on each other.

Separate workers are useful for independent research assignments. Assigning one worker per dependent stage does not make those stages independent; each still waits for the previous result. In this named pattern, the distinguishing feature is that the coordinator LLM determines subtasks based on the input. Q2 already supplies the stages. Even if you package them as workers, extraction must wait for the summary and formatting must wait for extraction. Threading does not remove those dependencies.

Check your understanding · explain the design in your own words

Choose an architecture for three stages whose order is already fixed.

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

When evaluator–optimizer IS useful: full example Decode orchestrator, worker, multi-agent, thread, and parallelism Complete API request, response, and every field Complete Python loop and the JSON it sends

When evaluator–optimizer IS useful: full example Study: workflows vs agents Orchestrator–workers Workflow Domain 1 · Agentic Architecture

Return to Q2's situation and clause-by-clause explanation

Q3. Your research system must scan 40 sources in parallel and synthesize findings. Choose: A) Orchestrator–workers with subagents returning summaries B) 40 parallel calls merged by string concatenation C) One agent looping 40 times D) Evaluator–optimizer

Understand Q3 · the situation and each part of the question

The real situation behind this question

Picture a research assistant that must examine many unrelated sources and produce one report. Reading one source does not depend on reading another, so workers can investigate separately. However, their findings may overlap or contradict each other. The system therefore needs both a way to distribute research and a way to compare and combine evidence afterward. The question tests the complete research design, not just whether you can start many API calls.

Read the question in parts

Part 1 · independent research

Different workers can make progress without waiting for each other's source analysis.

Part 2 · one coherent answer

The final step must remove duplication, preserve evidence, and explain disagreements rather than merely join text.

What you are being asked to decide

How can independent research happen concurrently and still produce one coherent answer? Divide independent research without losing coherent synthesis.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Orchestrator–workersA coordinator that divides a task, assigns work, and combines returned results.

Study: workflows vs agents Orchestrator–workers Subagent Domain 1 · Agentic Architecture

Understand Q3's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Forty sources means forty contexts' worth of raw material, and no single conversation should carry all of it. Concatenating outputs doesn't resolve contradictions or produce one coherent answer either. So an orchestrator hands each source to a subagent that reads in its own clean context and returns a short sourced summary, and the coordinator synthesizes from those.

Connect the design to the situation

Workers read different sources; a coordinator compares their evidence and resolves disagreements.

Best answer: A. Workers can investigate independent sources in separate contexts. The coordinator receives concise findings with sources and combines them. Concatenating outputs alone does not resolve contradictions or produce a coherent synthesis.

What each choice would do here

A · Why this meets the requirement

Orchestrator–workers with subagents returning summaries

Separate workers plus synthesis fit independent research.

Each worker returns a concise finding with its source. The coordinator compares those findings and writes the report, while raw browsing detail stays out of the shared conversation.

B · Why this does not meet the full requirement

40 parallel calls merged by string concatenation

Pasting outputs together does not compare evidence or resolve contradictions.

Concatenation can produce forty sections with different assumptions and conflicting numbers. It performs the parallel work but leaves the reader to do the synthesis the application was supposed to provide.

C · Why this does not meet the full requirement

One agent looping 40 times

A sequential loop gives up the requested parallelism.

A single loop can eventually read all the sources, but it waits for one investigation after another. It does not meet the scenario's reason for using independent concurrent research.

D · Why this does not meet the full requirement

Evaluator–optimizer

Critique and revision do not themselves distribute the source research.

A critic can improve a draft after research exists. Critiquing one report does not by itself assign independent sources, run their investigations, or collect attributable findings.

Check your understanding · explain the design in your own words

How can independent research happen concurrently and still produce one coherent answer?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: workflows vs agents Orchestrator–workers Subagent Domain 1 · Agentic Architecture

Return to Q3's situation and clause-by-clause explanation

Q4. An agent's response has stop_reason: "max_tokens" and the JSON parses with fields missing. Root cause? A) Truncated output parsed as complete B) Model hallucination C) Schema too strict D) Temperature too high

Understand Q4 · the situation and each part of the question

The real situation behind this question

Your invoice service receives text that starts like valid JSON, but it ends before the amount is finished. The API response also says stop_reason is max_tokens. This is a strong diagnostic clue: generation reached its allowed output size. The question asks you to connect the machine-readable signal with the broken result, rather than guess which prompting technique might usually improve JSON.

Read the question in parts

Part 1 · max_tokens stop reason

This is a value returned by the API explaining why generation stopped; it is not the input-token count.

Part 2 · parsed as complete

The application accepted or attempted to consume a result without first deciding whether generation had finished normally.

What you are being asked to decide

The API reports that generation reached its output limit. Should the remaining JSON be trusted as complete? Distinguish valid syntax from complete generation.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
max_tokensmax_tokens: the output-token allowance for one model call, not the whole loop or a money amount.
stop_reasonStop reason: the API response field explaining why generation stopped.
Temperature — variation in generated choicesOn models that support it, temperature adjusts how strongly the model favors its most likely next pieces of text. Lower values generally make choices more predictable; higher values allow more variation.

Study: the stop-reason table temperature max_tokens Domain 1 · Agentic Architecture

Understand Q4's answer · full reasoning and worked examples
Claude synthesized · the point, straight

max_tokens means the model was cut off at your output ceiling, so whatever came back is incomplete by definition. That the JSON parsed is luck, not a signal; the missing fields were never generated. So the harness must branch on stop_reason before parsing, and treat a truncated response as a retry or review case, never as a complete result.

Connect the design to the situation

A response contains an invoice ID but ends before producing the total.

Best answer: A. The response says generation reached the output limit. Even if the remaining text parses, do not treat it as a complete extraction. Handle the incomplete result within a retry or review policy.

What each choice would do here

A · Why this meets the requirement

Truncated output parsed as complete

The explicit stop reason is evidence of incomplete generation.

The application should detect this stop reason before accepting the extraction. It can use a bounded retry with an appropriate output budget, simplify the task, or route the item for review.

B · Why this does not meet the full requirement

Model hallucination

A fabricated value is a different failure; the log already identifies an output-limit stop.

Hallucination means the generated content contains unsupported facts. That could occur in a complete response, but it does not explain the explicit signal that this response exhausted its output allowance. For example, a finished answer says the invoice total is USD 90 when the source says USD 60. That unsupported value would justify investigating hallucination and source validation, even without truncation.

C · Why this does not meet the full requirement

Schema too strict

A strict schema does not explain the reported output-token limit.

A restrictive schema changes which output structures are allowed. The evidence here points to insufficient generation room, so relaxing the schema would weaken the contract without addressing the observed stop condition. A schema review is relevant when legitimate data cannot be represented, such as a missing purchase-order number that your contract requires as a nonempty string. That evidence is different from reaching an output-token limit.

D · Why this does not meet the full requirement

Temperature too high

Temperature is not the direct explanation given by the stop reason.

Changing randomness does not extend the number of output tokens available. The immediate fix must handle the incomplete result; sampling adjustments would be a separate evaluated experiment. On a supporting model, temperature could be relevant when brainstorming slogans or reducing unwanted variation in repeated classifications. Sampling means choosing the next text token, not controlling how long the output may be. Even temperature zero is not a correctness guarantee.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Complete API response with incomplete answer text

JSON
{
  "id": "msg_demo_2",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "{\"invoice_number\": \"INV-104\", \"total_cents\":"
    }
  ],
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

The outer API response is valid JSON. The text inside content is an unfinished JSON answer. This is why parsing the envelope successfully does not prove the extraction finished.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

The API reports that generation reached its output limit. Should the remaining JSON be trusted as complete?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Temperature — what it changes and what it cannot fix Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: the stop-reason table temperature max_tokens Domain 1 · Agentic Architecture

Return to Q4's situation and clause-by-clause explanation

Q5. Which problem benefits most from semantic evaluation, such as an independently evaluated model judge plus human calibration? A) Rate limiting B) Tool timeout C) JSON schema violations D) Subtle factual/quality drift in generated summaries

Understand Q5 · the situation and each part of the question

The real situation behind this question

A summary can be syntactically perfect and still communicate the opposite of its source. For example, the source says a treatment did not improve outcomes, while the summary says that it did. No missing brace or timeout identifies that mistake. This question separates failures that ordinary program checks can detect from failures that require examining meaning and comparing the generated content with trusted evidence.

Read the question in parts

Part 1 · meaning-based review

Someone or something must evaluate what the sentence claims, not only whether the response has the expected structure.

Part 2 · subtle factual drift

A small wording change can alter the conclusion while leaving the answer fluent and apparently professional.

What you are being asked to decide

Which failure needs a meaning-based review rather than a simple technical check? Choose an evaluator appropriate to the type of failure.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
semanticSemantic evaluation: assess meaning or quality, beyond syntax and field types.
Rate limitingRestricting how quickly requests or tokens may be submitted or generated.
JSON SchemaA machine-readable description of allowed JSON fields, types, and constraints.

Example: eval Study: the structured-output ladder Deterministic JSON Schema Domain 1 · Agentic Architecture

Understand Q5's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Rate limits, timeouts, and schema violations are binary: code detects them exactly, so a model judge adds nothing there. Subtle quality drift in summaries is different: the output is valid text, and only meaning tells you it got worse. That is where a semantic evaluator earns its place, with human calibration so the judge itself is checked.

Connect the design to the situation

A summary is grammatical and valid JSON but subtly reverses the source's conclusion.

Best answer: D. A semantic evaluator can help assess subtle summary quality that simple syntax checks miss. Independent model judgments can complement human review and labeled examples. A different model family is not a universal requirement or a guarantee of correctness.

What each choice would do here

A · Why this does not meet the full requirement

Rate limiting

Rate limits are handled using request rates and API responses.

An API rate-limit status tells the application that too many requests were submitted. A semantic judge is unnecessary for detecting that status; retry scheduling and load control address it.

B · Why this does not meet the full requirement

Tool timeout

Timeouts can be detected with elapsed-time/error checks.

The application can measure elapsed time and catch a timeout exception. Asking another model whether the operation timed out would add uncertainty to a fact already available from execution.

C · Why this does not meet the full requirement

JSON schema violations

A schema validator detects structural violations directly.

A schema validator can check required keys and types. Use that direct check first; a language model judging whether JSON looks valid is not the strongest structural test.

D · Why this meets the requirement

Subtle factual/quality drift in generated summaries

Meaning and faithfulness need semantic evaluation, calibrated against trusted examples and humans.

A semantic evaluator can compare claims with the source and flag contradictions. Its judgments still require evaluation against reliable labels or human review, especially before they become automatic acceptance gates.

Check your understanding · explain the design in your own words

Which failure needs a meaning-based review rather than a simple technical check?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Example: eval Study: the structured-output ladder Deterministic JSON Schema Domain 1 · Agentic Architecture

Return to Q5's situation and clause-by-clause explanation

Q6. The agent occasionally re-executes a refund after a network retry. Fix: A) Idempotency keys + effects ledger in the tool layer B) Lower temperature C) Longer timeout D) Prompt: "never refund twice"

Understand Q6 · the situation and each part of the question

The real situation behind this question

A refund request reaches the payment service and succeeds, but the network connection fails before your application receives the reply. From the application's perspective, the outcome is unknown. Retrying may be necessary, yet treating the retry as a new payment would refund twice. The design must recognize two submissions as the same intended operation even when a model, queue, or network retries the work.

Read the question in parts

Part 1 · reply was lost

A timeout does not prove that the underlying refund failed. The effect may already exist.

Part 2 · same refund twice

The system must distinguish retrying one operation from legitimately issuing a separate refund later.

What you are being asked to decide

How do you stop a retry from performing the same refund twice? Make retries safe when the first outcome is uncertain.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
IdempotencyRepeating the same logical operation does not create an additional effect.
Temperature — variation in generated choicesOn models that support it, temperature adjusts how strongly the model favors its most likely next pieces of text. Lower values generally make choices more predictable; higher values allow more variation.

Study: harness controls Idempotency temperature Domain 1 · Agentic Architecture

Understand Q6's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The refund ran twice because a network retry replayed the same call, and the backend had no way to recognize it as the same operation. No prompt or temperature setting can stop that; the model isn't even involved in the retry. So the tool layer needs an idempotency key per logical action and an effects ledger, so a repeat returns the existing result instead of a second refund.

Connect the design to the situation

The payment succeeded, but its reply was lost. The client sends the same operation again.

Best answer: A. The tool service must recognize a retry of the same logical refund and return the existing result. Use a stable operation key with durable, atomic effect handling. Lower temperature or longer prompts cannot prevent a duplicate backend write.

What each choice would do here

A · Why this meets the requirement

Idempotency keys + effects ledger in the tool layer

A durable operation key lets the backend return the existing outcome.

Use a stable operation identity across retries and durable handling at the effect boundary. A repeated request returns the recorded result instead of issuing a second refund; a read-then-write check alone must not permit races.

B · Why this does not meet the full requirement

Lower temperature

Temperature cannot stop a duplicate database or payment operation.

Even a model that always generates identical text can cause duplicate payments if the backend treats each call as new. Reproducible language is not the same property as idempotent execution.

C · Why this does not meet the full requirement

Longer timeout

A longer timeout may reduce some retries but cannot eliminate uncertain outcomes.

Waiting longer may avoid some premature retries, but connections can still fail after execution. The uncertain-outcome case remains possible regardless of the chosen timeout duration.

D · Why this does not meet the full requirement

Prompt: "never refund twice"

Instructions cannot enforce uniqueness at the backend.

The instruction is useful as guidance but cannot reliably determine whether a previous remote call succeeded. The backend's durable operation record provides that evidence and enforcement.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Walk through approval and replay — offline simulation

PYTHON
# Offline teaching simulation: no payment or shipment is performed.
# Production must make effect recording atomic with the operation, or use
# the provider's idempotency support and reconcile uncertain outcomes.
ledger = {}

def propose(operation_id, amount, approved=False):
    if operation_id in ledger:
        return ledger[operation_id]
    if amount > 50 and not approved:
        return {"status": "pending_approval"}
    result = {"status": "completed", "operation_id": operation_id}
    ledger[operation_id] = result
    return result

print(propose("credit-104", 75))
print(propose("credit-104", 75, approved=True))
print(propose("credit-104", 75, approved=True))

The first call waits for approval. The next records a completed operation; the repeated ID returns that record. This in-memory demonstration is not a durable or concurrency-safe production implementation. A real service needs persistent atomic effect handling, authenticated approvals, and recovery checks.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

How do you stop a retry from performing the same refund twice?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: harness controls Idempotency temperature Domain 1 · Agentic Architecture

Return to Q6's situation and clause-by-clause explanation

Q7. When is a single-agent loop preferable to multi-agent? A) When subagents are unavailable B) When latency doesn't matter C) When the task fits one context window and one tool set D) Never at scale

Understand Q7 · the situation and each part of the question

The real situation behind this question

Imagine one support task whose relevant facts fit comfortably in one conversation and whose work can be performed with a small, coherent tool set. Splitting it among several agents would require passing state, coordinating responsibility, and combining results. Before adding those costs, ask what independent work or context isolation the split would provide. The question is about architectural need, not whether multi-agent software is available or fashionable.

Read the question in parts

Part 1 · fits one context window

One model call sequence can carry the relevant information without needing separate research workspaces.

Part 2 · one tool set

The same agent can access the operations needed for the task without switching among unrelated specialist environments.

What you are being asked to decide

When does splitting work among multiple agents add more overhead than value? Justify additional agents by a concrete need.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Context windowThe model's limit on the information and generation it can process in one call.
LatencyThe time taken to return a result or complete an operation.

Study: workflows vs agents Context window Subagent Domain 1 · Agentic Architecture

Understand Q7's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Multi-agent isn't free: every extra agent adds coordination, cost, and a handoff where context can be lost. If the whole task fits one context window with one tool set, that overhead buys nothing. So default to a single loop, and add agents only when work is genuinely independent or context needs isolating.

Connect the design to the situation

One agent can inspect a small order and use three tools without needing separate research contexts.

Best answer: C. A bounded task fitting one context and tool set may be simpler with one agent. Multiple agents add communication, cost, and coordination work. Add them when independent work or context isolation justifies that overhead.

What each choice would do here

A · Why this does not meet the full requirement

When subagents are unavailable

Unavailability is a constraint, not the architectural reason to prefer simplicity.

If subagents are unavailable, you cannot use them, but that says nothing about which architecture best fits the task. The question asks for a design reason that remains valid even when every option is available.

B · Why this does not meet the full requirement

When latency doesn't matter

Ignoring latency does not establish a need for multiple agents.

Tolerating latency only removes one constraint. It does not create independent subtasks or justify the coordination and debugging burden of multiple agents.

C · Why this meets the requirement

When the task fits one context window and one tool set

One bounded task fitting one context and tool set is a good starting point for one agent.

Begin with one agent and measure its limitations. Add workers when there is a concrete benefit, such as separate large investigations, rather than splitting a bounded task solely because it runs in production.

D · Why this does not meet the full requirement

Never at scale

Scale does not automatically require multi-agent execution.

A high request volume can be served by many independent instances of a simple agent. Scaling the number of customer requests is different from using multiple collaborating agents for each request.

Check your understanding · explain the design in your own words

When does splitting work among multiple agents add more overhead than value?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: workflows vs agents Context window Subagent Domain 1 · Agentic Architecture

Return to Q7's situation and clause-by-clause explanation

Q8. A long-running provisioning agent dies mid-run after step 7 of 12. The architecture should have: A) Used a bigger model B) Emailed an admin C) Retried the whole run D) Checkpointed state per step and resumed at 8, replaying nothing with side effects

Understand Q8 · the situation and each part of the question

The real situation behind this question

A service is processing a twelve-step job when its process crashes. Steps one through seven have completed, possibly including external writes. A fresh process has no reliable memory of those completions unless they were stored durably. The question asks what state makes recovery safe: the goal is to continue useful work without accidentally repeating effects that already happened.

Read the question in parts

Part 1 · after step seven

There is completed work worth preserving; starting from the beginning is not automatically safe.

Part 2 · resume safely

The system must know confirmed completions and investigate operations whose outcome was uncertain at the crash.

What you are being asked to decide

What should survive a crash so a twelve-step job can resume safely? Recover progress without repeating completed effects.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
CheckpointA durable record of progress used to resume a stopped run.

Example: checkpoint Study: harness controls Domain 1 · Agentic Architecture

Understand Q8's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Steps 1 through 7 already ran, and some of them had real effects. Retrying the whole run repeats those effects; a bigger model or an email fixes nothing. So the design must checkpoint state after each step and resume at step 8, reconciling any step whose outcome is uncertain rather than blindly replaying it.

Connect the design to the situation

A durable record says steps 1–7 completed; the service checks uncertain effects before continuing.

Best answer: D. Persist completed progress and resume from the next unfinished step. Before repeating an operation whose outcome is uncertain, reconcile its status or use idempotency. Restarting the full workflow can repeat real effects.

What each choice would do here

A · Why this does not meet the full requirement

Used a bigger model

A larger model cannot restore lost execution records.

Model size changes reasoning capacity, not whether execution state survives a process restart. A larger model cannot infer a reliable transaction history from memory that was never persisted.

B · Why this does not meet the full requirement

Emailed an admin

An alert informs a human but does not provide resumable state.

An email may alert an operator, but the operator still needs durable evidence of what completed. Notification complements recovery state; it does not substitute for it.

C · Why this does not meet the full requirement

Retried the whole run

Restarting everything risks repeating completed mutations.

Repeating the whole job may duplicate shipments, writes, or notifications. It is only safe when every repeated operation is harmless or protected by appropriate idempotency and reconciliation.

D · Why this meets the requirement

Checkpointed state per step and resumed at 8, replaying nothing with side effects

Checkpoints record progress; reconciliation/idempotency handles uncertain side effects.

Persist progress at meaningful step boundaries and record external operation identities. Resume the next confirmed unfinished step, checking uncertain effects before issuing another mutation rather than blindly assuming nothing happened.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Complete illustrative application checkpoint

JSON
{
  "job_id": "job-104",
  "completed_steps": [
    1,
    2,
    3,
    4,
    5,
    6,
    7
  ],
  "next_step": 8,
  "effects": {
    "shipment-104": {
      "status": "confirmed",
      "provider_reference": "ship_demo_104"
    }
  },
  "uncertain_operations": []
}

This is state your application persists, not a Claude API response. completed_steps tracks confirmed progress; effects links completed mutations to their provider records. On recovery, investigate uncertain operations before creating new effects. Save state durably with appropriate transaction/reconciliation handling.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

What should survive a crash so a twelve-step job can resume safely?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Example: checkpoint Study: harness controls Domain 1 · Agentic Architecture

Return to Q8's situation and clause-by-clause explanation

Q31. In a production agent loop, the model emits a tool_use block for create_replacement with JSON arguments, and the tool has a real side effect. Which statement correctly assigns the schema-validation work that must happen before the shipment is created? A) The model validates the arguments against input_schema before the tool runs B) The Claude API executes the tool once the arguments match input_schema C) The harness validates the arguments against input_schema before the tool runs D) input_schema is enforced end-to-end by the API, so no validation step exists inside the loop

Understand Q31 · the situation and each part of the question

The real situation behind this question

Claude returns a proposed call to create a shipment. The response contains a tool name and argument object, but no shipment should exist yet. Your application must decide whether those arguments are structurally valid and whether the caller is allowed to perform the action. This question identifies the component that sits between a generated proposal and the backend operation, a boundary that remains necessary even with strict tool inputs.

Read the question in parts

Part 1 · client tool

This is a function implemented by your application, not a built-in operation executed by Anthropic's service.

Part 2 · before the tool runs

Validation and authorization must happen before the external effect, while the application can still reject it.

What you are being asked to decide

Who checks a proposed client-tool call before it creates a real shipment? Assign pre-execution checks to the correct component.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
side effectSide effect: a real change, such as a payment, shipment, or database write.
schemaSchema: a machine-readable description of allowed fields, types, and other structural rules.
tool_useTool use: the model’s request to execute a named operation with arguments.
The Claude API (Anthropic's Messages endpoint)The service interface your application calls to send a task to Claude and receive its response.
HarnessThe application code around the model call. It prepares context, handles results, checks policy, and runs tools.

Study: the structured-output ladder input_schema vs output_config — the vantage decode Deterministic Agent loop The Claude API Guardrail Domain 1 · Agentic Architecture

Understand Q31's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The tool has a real side effect, so something must check the arguments before the shipment exists. The model can't validate its own output, and the API never executes your tools; it only returns the request. So the harness validates the arguments against input_schema and business rules before running the tool; strict mode helps during generation but doesn't replace that check.

Connect the design to the situation

The harness receives arguments, validates them, authorizes the action, and dispatches the shipping function.

Best answer: C. The harness or trusted tool backend performs the pre-execution checks. Strict tool inputs can enforce a supported schema during generation, but do not authorize shipment or prove business values correct. The client tool still executes only after application checks.

What each choice would do here

A · Why this does not meet the full requirement

The model validates the arguments against input_schema before the tool runs

The model's generated proposal is not a backend validation step.

The API may constrain supported strict arguments, but that is different from a model performing your backend's validation step. It also cannot establish customer ownership or shipment eligibility merely from schema compliance.

B · Why this does not meet the full requirement

The Claude API executes the tool once the arguments match input_schema

The Claude API does not execute your ordinary client-tool implementation.

Providing a definition does not upload and execute your shipping function. The application receives the proposal and must dispatch the ordinary client tool through its own implementation.

C · Why this meets the requirement

The harness validates the arguments against input_schema before the tool runs

The harness owns its pre-execution validation and dispatch checks.

The harness can reject malformed arguments, verify access and business rules, and then call the shipping backend. These checks are explicit application behavior, not an automatic consequence of writing input_schema.

D · Why this does not meet the full requirement

input_schema is enforced end-to-end by the API, so no validation step exists inside the loop

API strict generation, when enabled, does not provide end-to-end business authorization or execute the function.

A schema only describes permitted structure. Even perfectly shaped arguments can request shipment for another customer, so end-to-end authorization and execution safety remain outside the generation guarantee.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

1 · Complete request to Claude

JSON
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You help customers check order status. Use get_order for order facts. Never invent a status.",
  "tools": [
    {
      "name": "get_order",
      "description": "Read the status of an order the signed-in customer may access.",
      "input_schema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "The order identifier, for example O-104."
          }
        },
        "required": [
          "order_id"
        ],
        "additionalProperties": false
      },
      "strict": true
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Where is order O-104?"
        }
      ]
    }
  ],
  "stream": false
}

Your application sends definitions, instructions, and the customer question. Tool code stays in your backend.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

2 · Complete response requesting a tool

JSON
{
  "id": "msg_demo_1",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "tool_use",
      "id": "toolu_demo_1",
      "name": "get_order",
      "input": {
        "order_id": "O-104"
      }
    }
  ],
  "stop_reason": "tool_use",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Claude supplied the tool_use block and its call ID. The proposed arguments are in input; no backend lookup has happened yet.

3 · Complete next request with the result

JSON
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You help customers check order status. Use get_order for order facts. Never invent a status.",
  "tools": [
    {
      "name": "get_order",
      "description": "Read the status of an order the signed-in customer may access.",
      "input_schema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "The order identifier, for example O-104."
          }
        },
        "required": [
          "order_id"
        ],
        "additionalProperties": false
      },
      "strict": true
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Where is order O-104?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "type": "tool_use",
          "id": "toolu_demo_1",
          "name": "get_order",
          "input": {
            "order_id": "O-104"
          }
        }
      ]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "tool_result",
          "tool_use_id": "toolu_demo_1",
          "content": "{\"order_id\": \"O-104\", \"status\": \"shipped\"}",
          "is_error": false
        }
      ]
    }
  ],
  "stream": false
}

The application appends the assistant response and a user-role tool_result. tool_use_id copies the returned call ID. The result content is a serialized JSON string.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

4 · Complete final response

JSON
{
  "id": "msg_demo_2",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "Order O-104 has shipped."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

end_turn indicates this model turn finished. The application still checks whether the user task was actually satisfied.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Who checks a proposed client-tool call before it creates a real shipment?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: the structured-output ladder input_schema vs output_config — the vantage decode Deterministic Agent loop The Claude API Guardrail Domain 1 · Agentic Architecture

Return to Q31's situation and clause-by-clause explanation

Q32. In the support-agent walkthrough, turn 1's response carries "id": "toolu_01A" on the tool_use block, yet the tool definition you sent had no id field. Which statement is exactly right? A) The API generates a fresh id for every tool_use block; the returned tool_result must echo it as tool_use_id B) The harness generates a fresh id for every tool_use block; the returned tool_result must echo it as tool_use_id C) The id is declared in the tool definition alongside name and input_schema, once per tool D) Ids are optional correlation hints, required only when one response carries several tool requests

Understand Q32 · the situation and each part of the question

The real situation behind this question

Two requests can call the same tool with different arguments, and one response may request several calls. The system therefore needs an identifier for each invocation, not just a function name. When the application returns a result, it must preserve that association. The question asks where that invocation ID is obtained and which field carries it on the return path.

Read the question in parts

Part 1 · fresh ID per tool_use

The identifier distinguishes this particular requested operation from other calls to the same tool.

Part 2 · echo as tool_use_id

Copy the returned call's ID into the result; do not generate a new identifier for that pairing.

What you are being asked to decide

Where does a tool call's correlation ID come from, and what do you send back? Distinguish a reusable tool definition from one invocation's identity.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
tool_useTool use: the model’s request to execute a named operation with arguments.
tool_result (content block)Data your application sends back to answer a tool_use request.
tool_use (stop reason & content block)A response block describing a requested tool call: its name, arguments, and an ID.
HarnessThe application code around the model call. It prepares context, handles results, checks policy, and runs tools.

Study: the structured-output ladder input_schema vs output_config — the vantage decode tool_result The Claude API tool_use Harness Domain 1 · Agentic Architecture

Understand Q32's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Your tool definition has a name and a schema, nothing more; the toolu_01A id appeared on the response, so the API minted it for that specific call. It is the correlation key: when you return the result, tool_use_id must echo it exactly, every time, not just when several calls arrive together.

Connect the design to the situation

The returned call has id toolu_01A; the result echoes tool_use_id toolu_01A.

Best answer: A. The returned tool_use block supplies the call ID. Your application copies that ID into tool_use_id in the corresponding result. The tool's definition name and one call's correlation ID have different jobs.

What each choice would do here

A · Why this meets the requirement

The API generates a fresh id for every tool_use block; the returned tool_result must echo it as tool_use_id

Use the ID returned on that call to associate its result.

Read block.id from the actual tool_use response and use it in the matching result. You can maintain additional internal operation IDs, but they do not replace this protocol correlation.

B · Why this does not meet the full requirement

The harness generates a fresh id for every tool_use block; the returned tool_result must echo it as tool_use_id

Do not replace the returned ID with an independently invented harness ID.

Your backend may create its own transaction ID for logging or idempotency. That is separate from the API-returned tool-call ID needed to pair the conversation result with the request.

C · Why this does not meet the full requirement

The id is declared in the tool definition alongside name and input_schema, once per tool

A tool definition describes a reusable operation, not one invocation's ID.

The tool definition is reusable across many turns. An ID permanently attached to that definition could not distinguish two invocations of get_order in the same response.

D · Why this does not meet the full requirement

Ids are optional correlation hints, required only when one response carries several tool requests

Even a single tool call needs its matching result ID.

The pairing remains part of the protocol even when only one call is present. Do not switch to an uncorrelated result format merely because this particular example is simple.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

1 · Complete request to Claude

JSON
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You help customers check order status. Use get_order for order facts. Never invent a status.",
  "tools": [
    {
      "name": "get_order",
      "description": "Read the status of an order the signed-in customer may access.",
      "input_schema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "The order identifier, for example O-104."
          }
        },
        "required": [
          "order_id"
        ],
        "additionalProperties": false
      },
      "strict": true
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Where is order O-104?"
        }
      ]
    }
  ],
  "stream": false
}

Your application sends definitions, instructions, and the customer question. Tool code stays in your backend.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

2 · Complete response requesting a tool

JSON
{
  "id": "msg_demo_1",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "tool_use",
      "id": "toolu_demo_1",
      "name": "get_order",
      "input": {
        "order_id": "O-104"
      }
    }
  ],
  "stop_reason": "tool_use",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Claude supplied the tool_use block and its call ID. The proposed arguments are in input; no backend lookup has happened yet.

3 · Complete next request with the result

JSON
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You help customers check order status. Use get_order for order facts. Never invent a status.",
  "tools": [
    {
      "name": "get_order",
      "description": "Read the status of an order the signed-in customer may access.",
      "input_schema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "The order identifier, for example O-104."
          }
        },
        "required": [
          "order_id"
        ],
        "additionalProperties": false
      },
      "strict": true
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Where is order O-104?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "type": "tool_use",
          "id": "toolu_demo_1",
          "name": "get_order",
          "input": {
            "order_id": "O-104"
          }
        }
      ]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "tool_result",
          "tool_use_id": "toolu_demo_1",
          "content": "{\"order_id\": \"O-104\", \"status\": \"shipped\"}",
          "is_error": false
        }
      ]
    }
  ],
  "stream": false
}

The application appends the assistant response and a user-role tool_result. tool_use_id copies the returned call ID. The result content is a serialized JSON string.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

4 · Complete final response

JSON
{
  "id": "msg_demo_2",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "Order O-104 has shipped."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

end_turn indicates this model turn finished. The application still checks whether the user task was actually satisfied.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Where does a tool call's correlation ID come from, and what do you send back?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: the structured-output ladder input_schema vs output_config — the vantage decode tool_result The Claude API tool_use Harness Domain 1 · Agentic Architecture

Return to Q32's situation and clause-by-clause explanation

Q33. A team must process vendor invoices nightly: classify the document type, extract fields, then validate totals — the same three steps in the same order, every invoice. All four designs below would produce correct output. Which should the architect choose? A) A single agent loop with a tight toolset covering all three steps B) Orchestrator–workers with one specialized worker per step C) An evaluator-optimizer loop that critiques extractions until the totals validate D) A prompt-chaining workflow with programmatic checks between the fixed steps

Understand Q33 · the situation and each part of the question

The real situation behind this question

A nightly invoice pipeline always extracts fields, validates the result, and formats an accepted record. These are known dependent stages, with failure handling between them. You are not asking the model to discover a novel plan for each invoice. The question revisits the workflow-versus-agent distinction in a concrete business process: choose the control structure that makes this fixed sequence easy to inspect and test.

Read the question in parts

Part 1 · every invoice follows the same stages

The next step can be determined by code and validation results rather than free-form planning.

Part 2 · programmatic checks

A failed extraction or validation can stop or route the item before formatting an accepted result.

Part 3 · Nightly invoice volume does not require dynamic planning

Each document follows the known sequence, while different documents run concurrently. A bounded queue-worker pool increases throughput without asking an LLM to invent stages.

What you are being asked to decide

Which design is simplest when every invoice follows the same three stages? Prefer a simple architecture for a known recurring process.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Evaluator–optimizerA workflow that generates a candidate, evaluates it against criteria, and revises within a limit.
Prompt chaining — several calls with checks between themYour application divides a larger job into smaller model calls. It takes a result from one call, checks it, and supplies the relevant data to the next call. A numbered list inside one prompt is still one call; chaining requires your code to make separate calls.
Orchestrator–workersA coordinator that divides a task, assigns work, and combines returned results.
Agent loopRepeated model calls with tool results returned between calls, until the application stops the run.
Workflow (vs agent)A sequence or branching process whose structure is defined by application code.

When evaluator–optimizer IS useful: full example Q33: runnable parallel workflow across many documents Study: harness controls Evaluator–optimizer Orchestrator–workers Agent loop Batch API Domain 1 · Agentic Architecture

Understand Q33's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Same three steps, same order, every invoice, and all four designs produce correct output, so the question is which adds the least machinery. An agent, an orchestrator, or a critic loop each put a model in charge of deciding what to do next, when you already know. So a prompt chain with programmatic checks between the fixed steps is the right size.

Connect the design to the situation

Classify → extract → validate is fixed for every invoice.

Best answer: D. Use code-defined stages for the known repeated sequence. Scale throughput with queues and bounded workers if needed; that does not require a model to plan the stages. Orchestrator-workers and iterative critics address different problems.

What each choice would do here

A · Why this does not meet the full requirement

A single agent loop with a tight toolset covering all three steps

An agent loop can work but adds unnecessary next-step selection.

An agent could choose among extraction, validation, and formatting tools. That adds a next-step decision the requirements have already resolved and makes order mistakes possible without an identified benefit.

B · Why this does not meet the full requirement

Orchestrator–workers with one specialized worker per step

Specialized workers are not needed just to express sequential dependencies.

Separate specialists can be useful for complex independent work. Here they still depend on one another's output, so assigning an agent per stage adds coordination without changing the fixed process.

C · Why this does not meet the full requirement

An evaluator-optimizer loop that critiques extractions until the totals validate

Open-ended critique is more machinery than the stated fixed process requires.

Repeated critique is appropriate when improvement has an evaluable goal and stopping rule. It should not replace direct checks or turn a simple known pipeline into an open-ended revision process.

D · Why this meets the requirement

A prompt-chaining workflow with programmatic checks between the fixed steps

A coded chain with checks directly represents the required order.

Encode the stage order and failure branches explicitly. The extraction step may use an LLM, while validation and routing remain ordinary code; a workflow can include both kinds of operations.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Runnable offline Python: bounded workers around a fixed workflow

PYTHON
"""Offline Python 3.11+ demo: fixed workflow, bounded concurrent documents.
No API calls or real PDFs. Async sleeps simulate network waits, not model work.
SQLite records outcomes; the in-memory queue is NOT a durable production queue.
"""
import asyncio
import sqlite3
import tempfile
from pathlib import Path


async def classify(document_id):
    await asyncio.sleep(0.002)  # Stand-in for an awaited I/O or model request.
    return "invoice"


async def extract(document_id, document_type):
    assert document_type == "invoice"  # This stage requires classification first.
    await asyncio.sleep(0.002)
    # One bad invoice demonstrates per-document failure isolation.
    return {"line_totals_cents": [1000, 250],
            "total_cents": 999 if document_id == 7 else 1250}


def validate(fields):
    # Simplified invoice: no taxes/discounts. Real rules must account for those.
    if sum(fields["line_totals_cents"]) != fields["total_cents"]:
        raise ValueError("Invoice total does not match its line totals")


async def process_document(document_id):
    # Fixed order WITHIN one document; no LLM chooses these stages.
    document_type = await classify(document_id)
    fields = await extract(document_id, document_type)
    validate(fields)
    return fields


async def run(database, document_count=100, worker_count=4):
    if worker_count < 1 or document_count < 0:
        raise ValueError("Invalid worker/document count")
    db = sqlite3.connect(database)
    db.execute("CREATE TABLE IF NOT EXISTS outcomes "
               "(document_id INTEGER PRIMARY KEY, status TEXT, detail TEXT)")
    db.commit()
    queue = asyncio.Queue(maxsize=worker_count * 2)
    active = 0
    peak_active = 0

    async def produce():
        # Lazy IDs: no list of a million PDFs or a million asyncio tasks.
        for document_id in range(document_count):
            await queue.put(document_id)  # Waits if bounded queue is full.
        for _ in range(worker_count):
            await queue.put(None)  # One shutdown marker per consumer.

    async def consume():
        nonlocal active, peak_active
        while True:
            document_id = await queue.get()
            try:
                if document_id is None:
                    return
                active += 1
                peak_active = max(peak_active, active)
                try:
                    fields = await process_document(document_id)
                    status, detail = "completed", str(fields["total_cents"])
                except Exception as error:
                    # Record failure of this document, not failure of all workers.
                    status, detail = "failed", str(error)
                finally:
                    active -= 1
                # Small synchronous writes are sufficient for this demo.
                # Use suitable pooled/async persistence in a production service.
                with db:
                    db.execute("INSERT OR REPLACE INTO outcomes VALUES (?, ?, ?)",
                               (document_id, status, detail))
            finally:
                queue.task_done()

    try:
        # Fixed task count regardless of input size. TaskGroup cancels sibling
        # tasks on infrastructure failure instead of leaving a blocked producer.
        async with asyncio.TaskGroup() as group:
            group.create_task(produce())
            for _ in range(worker_count):
                group.create_task(consume())
        counts = dict(db.execute("SELECT status, COUNT(*) FROM outcomes GROUP BY status"))
        return counts, peak_active
    finally:
        db.close()


if __name__ == "__main__":
    with tempfile.TemporaryDirectory() as folder:
        counts, peak = asyncio.run(run(str(Path(folder) / "jobs.sqlite")))
        assert counts == {"completed": 99, "failed": 1}
        assert 1 < peak <= 4
        print(f"{counts}; peak concurrent documents: {peak}")

Python 3.11+. Four async consumers overlap different documents, while each process_document awaits classification, then extraction, then validation. No model APIs or real PDFs are used; sleeps simulate I/O. The queue is memory-only, so production requires durable jobs, claims, limits, and recovery. See the linked scaling walkthrough.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Which design is simplest when every invoice follows the same three stages?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

When evaluator–optimizer IS useful: full example Q33: runnable parallel workflow across many documents Complete API request, response, and every field Complete Python loop and the JSON it sends

When evaluator–optimizer IS useful: full example Q33: runnable parallel workflow across many documents Study: harness controls Evaluator–optimizer Orchestrator–workers Agent loop Batch API Domain 1 · Agentic Architecture

Return to Q33's situation and clause-by-clause explanation

Q34. A PM asks for a positioning memo comparing 12 competitors' pricing pages; each fetched page is roughly 12K tokens of HTML. Any of these designs would eventually finish. Which is the Anthropic-doctrine best? A) One agent loop that fetches sequentially, with aggressive compaction of the growing messages array B) Orchestrator–workers: a coordinator plans, each worker researches one competitor in a clean scoped context and returns a compressed structured summary C) A prompt chain stepping through the competitors one at a time in a single conversation D) An evaluator-optimizer pass that critiques one combined research dump until it reads well

Understand Q34 · the situation and each part of the question

The real situation behind this question

A coordinator needs a comparison of twelve competitors, each with many pages to read. Most raw material about competitor A is irrelevant while investigating competitor B. Putting all browsing into one conversation increases context load and makes evidence harder to organize. The question asks for independent investigations that return concise, attributable findings for a final comparison rather than one ever-growing research transcript.

Read the question in parts

Part 1 · large independent sources

Workers can inspect different competitors separately, without needing every other worker's raw pages.

Part 2 · compressed structured summary

Return the findings, sources, and uncertainties needed for comparison, not the complete exploration history.

What you are being asked to decide

How do you research twelve large independent sources without filling one conversation with all raw pages? Distribute independent source work while preserving evidence quality.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Evaluator–optimizerA workflow that generates a candidate, evaluates it against criteria, and revises within a limit.
The messages array (conversation history)The ordered conversation content you include in a Messages request.
Orchestrator–workersA coordinator that divides a task, assigns work, and combines returned results.
Agent loopRepeated model calls with tool results returned between calls, until the application stops the run.
Compaction (who actually runs it?)Replacing some conversation history with a shorter representation.

Study: workflows vs agents Evaluator–optimizer The messages array Orchestrator–workers Agent loop Domain 1 · Agentic Architecture

Understand Q34's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Twelve pages at 12K tokens each is roughly 150K tokens of raw HTML, and one conversation can't hold that without compaction losing detail. Sequential fetching in one context, chained or not, hits the same wall. So an orchestrator assigns each competitor to a worker with a clean context that returns a compact structured summary, and the coordinator writes the memo from those.

Connect the design to the situation

Each worker reads one competitor page and returns prices, dates, and evidence links.

Best answer: B. Separate workers can investigate independent competitors and return compact, sourced findings. This reduces raw-page material in the coordinator's context. Assess the cost and completeness of summaries; context isolation does not automatically guarantee better quality.

What each choice would do here

A · Why this does not meet the full requirement

One agent loop that fetches sequentially, with aggressive compaction of the growing messages array

Sequential accumulation makes one context carry unrelated source detail.

Summarization can keep a sequential agent running longer, but it still mixes unrelated source investigations in one context. It also gives up the independent work that could occur concurrently.

B · Why this meets the requirement

Orchestrator–workers: a coordinator plans, each worker researches one competitor in a clean scoped context and returns a compressed structured summary

Workers isolate source detail while the coordinator synthesizes concise evidence.

The coordinator assigns scoped research and receives a consistent findings format. It must still compare sources and resolve conflicts; separate workers do not automatically make the final report coherent.

C · Why this does not meet the full requirement

A prompt chain stepping through the competitors one at a time in a single conversation

A single sequential chain does not exploit independent work.

A chain is useful when one stage depends on the previous stage's result. These competitor investigations are largely independent, so a single ordered chain does not exploit the main structural opportunity.

D · Why this does not meet the full requirement

An evaluator-optimizer pass that critiques one combined research dump until it reads well

Polishing a combined dump does not solve the initial research/context organization.

An evaluator may improve a finished report, but it cannot recover evidence discarded or confused during a poorly organized combined investigation. Solve research isolation and attribution before polishing the prose.

Check your understanding · explain the design in your own words

How do you research twelve large independent sources without filling one conversation with all raw pages?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: workflows vs agents Evaluator–optimizer The messages array Orchestrator–workers Agent loop Domain 1 · Agentic Architecture

Return to Q34's situation and clause-by-clause explanation

Q35. Call 1 of an agent loop returns stop_reason tool_use, and the harness has executed the tool. Remembering that the Claude API is stateless, in what order does the messages array change before call 2? A) Append the assistant's response verbatim (tool_use block included), then append the tool_result inside a user-role message — both at the end of the array B) Append the tool_result first so the model reads the freshest data last, then the assistant response C) Prepend both new turns so the model encounters them before the older history D) Append only the tool_result; re-sending the model its own words is redundant

Understand Q35 · the situation and each part of the question

The real situation behind this question

After a model requests an order lookup, your application obtains the order status. The next API call must show both that the assistant requested the lookup and that the application supplied its result. The API does not reconstruct missing prior turns for you. The question tests the exact chronology and roles that make a tool exchange understandable and correctly paired in the next request.

Read the question in parts

Part 1 · assistant response verbatim

Preserve required returned blocks, including the tool-use ID, rather than rewriting the assistant request from memory.

Part 2 · tool_result in a user message

The application supplies the result on the input side; it is not another assistant-generated statement.

What you are being asked to decide

What history must the application send after completing a tool call? Preserve conversation order and tool-call correlation across requests.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
harnessHarness: application code around the model that manages calls, history, checks, and tool execution.
statelessStateless model request: supply the needed conversation history with the next API call.
tool_useTool use: the model’s request to execute a named operation with arguments.
stop_reasonStop reason: the API response field explaining why generation stopped.
tool_result (content block)Data your application sends back to answer a tool_use request.
tool_use (stop reason & content block)A response block describing a requested tool call: its name, arguments, and an ID.

Study: the stop-reason table The messages array tool_result Agent loop The Claude API Domain 1 · Agentic Architecture

Understand Q35's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The API is stateless, so call 2 only knows what the messages array says. The model's own tool_use block is part of the record, and the tool_result must follow it. So append the assistant response verbatim, then append the tool_result in a user-role message, both at the end, in that order, so request and result stay paired.

Connect the design to the situation

Keep the assistant's tool request, then attach the matched backend result in a user message.

Best answer: A. Append the assistant's tool request, then the corresponding result in a user-role message. The next request must preserve valid request/result pairing. Keep required response blocks unchanged according to the API's replay rules.

What each choice would do here

A · Why this meets the requirement

Append the assistant's response verbatim (tool_use block included), then append the tool_result inside a user-role message — both at the end of the array

This preserves the request→result order and correlation.

Append the returned assistant content, then the linked result blocks. This preserves the conversation's sequence and gives the model both the requested operation and its observed outcome.

B · Why this does not meet the full requirement

Append the tool_result first so the model reads the freshest data last, then the assistant response

The result should not appear before the request it answers.

A result appearing before its request reverses the exchange. Freshness does not justify breaking request-result ordering or making an outcome refer to a call that has not appeared yet.

C · Why this does not meet the full requirement

Prepend both new turns so the model encounters them before the older history

Prepending reverses the conversation's chronological structure.

Prepending new turns changes chronological history. The model would encounter later effects before the earlier reasoning and requests that produced them, which is not the intended continuation contract.

D · Why this does not meet the full requirement

Append only the tool_result; re-sending the model its own words is redundant

Omitting the assistant request removes the context and ID being answered.

The model's previous words still have to be included in a stateless continuation. Removing the tool request removes the ID and context to which the tool_result refers.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

1 · Complete request to Claude

JSON
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You help customers check order status. Use get_order for order facts. Never invent a status.",
  "tools": [
    {
      "name": "get_order",
      "description": "Read the status of an order the signed-in customer may access.",
      "input_schema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "The order identifier, for example O-104."
          }
        },
        "required": [
          "order_id"
        ],
        "additionalProperties": false
      },
      "strict": true
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Where is order O-104?"
        }
      ]
    }
  ],
  "stream": false
}

Your application sends definitions, instructions, and the customer question. Tool code stays in your backend.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

2 · Complete response requesting a tool

JSON
{
  "id": "msg_demo_1",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "tool_use",
      "id": "toolu_demo_1",
      "name": "get_order",
      "input": {
        "order_id": "O-104"
      }
    }
  ],
  "stop_reason": "tool_use",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

Claude supplied the tool_use block and its call ID. The proposed arguments are in input; no backend lookup has happened yet.

3 · Complete next request with the result

JSON
{
  "model": "claude-sonnet-4-6",
  "max_tokens": 1024,
  "system": "You help customers check order status. Use get_order for order facts. Never invent a status.",
  "tools": [
    {
      "name": "get_order",
      "description": "Read the status of an order the signed-in customer may access.",
      "input_schema": {
        "type": "object",
        "properties": {
          "order_id": {
            "type": "string",
            "description": "The order identifier, for example O-104."
          }
        },
        "required": [
          "order_id"
        ],
        "additionalProperties": false
      },
      "strict": true
    }
  ],
  "tool_choice": {
    "type": "auto"
  },
  "messages": [
    {
      "role": "user",
      "content": [
        {
          "type": "text",
          "text": "Where is order O-104?"
        }
      ]
    },
    {
      "role": "assistant",
      "content": [
        {
          "type": "tool_use",
          "id": "toolu_demo_1",
          "name": "get_order",
          "input": {
            "order_id": "O-104"
          }
        }
      ]
    },
    {
      "role": "user",
      "content": [
        {
          "type": "tool_result",
          "tool_use_id": "toolu_demo_1",
          "content": "{\"order_id\": \"O-104\", \"status\": \"shipped\"}",
          "is_error": false
        }
      ]
    }
  ],
  "stream": false
}

The application appends the assistant response and a user-role tool_result. tool_use_id copies the returned call ID. The result content is a serialized JSON string.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

4 · Complete final response

JSON
{
  "id": "msg_demo_2",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "Order O-104 has shipped."
    }
  ],
  "stop_reason": "end_turn",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

end_turn indicates this model turn finished. The application still checks whether the user task was actually satisfied.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

What history must the application send after completing a tool call?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: the stop-reason table The messages array tool_result Agent loop The Claude API Domain 1 · Agentic Architecture

Return to Q35's situation and clause-by-clause explanation

Q36. A support agent's HITL policy auto-approves replacements under $100. Mid-run, the model emits create_replacement for a $600 order. What happens first? A) The harness executes the tool under an idempotency key, then routes the receipt to a human for retroactive sign-off B) The model is re-prompted to ask the customer for permission before continuing C) The tool executes normally and the audit trail flags the run for post-hoc review D) The gate fires before execution: the run parks, a human receives the handoff packet, and nothing has executed

Understand Q36 · the situation and each part of the question

The real situation behind this question

A support workflow proposes an expensive replacement that company policy requires a human to approve. The shipment tool can create a real order as soon as it executes. You must place the approval boundary while the system can still prevent that effect. The question distinguishes permission before execution from documentation after execution; both may be useful, but they are not interchangeable.

Read the question in parts

Part 1 · expensive replacement

The proposed action crosses a policy threshold requiring additional authority.

Part 2 · human sign-off

The reviewer must be authorized for this business decision; a customer's request is not automatically that approval.

What you are being asked to decide

When must approval happen for an expensive replacement? Place approval before the protected side effect.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
HITLHuman in the loop: an authorized person reviews an action at a defined decision point.
IdempotencyRepeating the same logical operation does not create an additional effect.
Audit trailA durable record that helps reconstruct decisions and actions.
HarnessThe application code around the model call. It prepares context, handles results, checks policy, and runs tools.

Study: the stop-reason table HITL — the interception mechanics Idempotency tool_result Guardrail tool_use Domain 1 · Agentic Architecture

Understand Q36's answer · full reasoning and worked examples
Claude synthesized · the point, straight

$600 is over the $100 threshold, so the gate is a precondition, not a receipt. Executing then asking for retroactive sign-off, or flagging for later review, both ship the order first. So the gate fires before execution: the run parks, a human gets the handoff packet, and nothing has happened yet.

Connect the design to the situation

A $600 replacement is proposed under a policy requiring review above $100.

Best answer: D. Check the approval rule before shipping. Save the proposed action and evidence, and wait for an authorized decision. Idempotency prevents duplicate effects; it is not a substitute for permission.

What each choice would do here

A · Why this does not meet the full requirement

The harness executes the tool under an idempotency key, then routes the receipt to a human for retroactive sign-off

Idempotency prevents duplicates, not unauthorized first execution.

An idempotency key prevents issuing the same shipment repeatedly. It does not make the first unapproved shipment acceptable, so running first and asking later still violates the policy.

B · Why this does not meet the full requirement

The model is re-prompted to ask the customer for permission before continuing

Customer consent is not automatically the required authorized-human approval.

The customer may consent to receiving a replacement, but company approval may require a support manager. The application must use the correct authority, not accept whatever approval the model obtains conversationally.

C · Why this does not meet the full requirement

The tool executes normally and the audit trail flags the run for post-hoc review

An audit after execution is too late to prevent the unauthorized shipment.

An audit trail helps investigate an action after it happens. It cannot undo the fact that the prohibited shipment was already created before the required decision.

D · Why this meets the requirement

The gate fires before execution: the run parks, a human receives the handoff packet, and nothing has executed

The gate pauses before execution and supplies the reviewer with the needed evidence.

Persist a pending operation and the evidence a reviewer needs, then resume only after approval. This makes the pause durable and keeps the actual backend call on the permitted side of the boundary.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Complete illustrative pending-approval record

JSON
{
  "operation_id": "replacement-104",
  "action": "create_replacement_shipment",
  "status": "pending_approval",
  "executed": false,
  "requested_by": "customer_demo",
  "required_approver_role": "support_manager"
}

The application stores this record before shipment execution. The customer request is not support-manager approval. A trusted approval path must verify the reviewer, record the decision, and guard against duplicate execution when resuming.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

When must approval happen for an expensive replacement?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: the stop-reason table HITL — the interception mechanics Idempotency tool_result Guardrail tool_use Domain 1 · Agentic Architecture

Return to Q36's situation and clause-by-clause explanation

Q37. Decode stop_reason: max_tokens — exactly. A) The messages array outgrew the context window, so the API rejected the request before any generation B) The model finished its turn comfortably under the output ceiling C) Generation halted at the output-token ceiling you set for this call — the response is incomplete and must never be parsed as complete D) A custom stop string you configured was matched mid-generation

Understand Q37 · the situation and each part of the question

The real situation behind this question

A response arrives successfully, but its stop_reason is max_tokens. It may contain a plausible beginning of an answer or partial JSON. This signal describes generation stopping at the output cap for that call. The question asks you to distinguish that situation from a request rejected because the input did not fit, from normal completion, and from a custom string stopping the output.

Read the question in parts

Part 1 · response arrives

The API produced a model response; this is not the same shape as an input-validation error before generation.

Part 2 · output ceiling

max_tokens limits generated output for the call, rather than increasing the model's input capacity.

What you are being asked to decide

Which limit does the response's max_tokens stop reason identify? Interpret the reported stop condition without mixing different limits.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
max_tokensmax_tokens: the output-token allowance for one model call, not the whole loop or a money amount.
stop_reasonStop reason: the API response field explaining why generation stopped.
Context windowThe model's limit on the information and generation it can process in one call.
The messages array (conversation history)The ordered conversation content you include in a Messages request.

Study: the stop-reason table Context window The messages array stop_reason max_tokens Domain 1 · Agentic Architecture

Understand Q37's answer · full reasoning and worked examples
Claude synthesized · the point, straight

max_tokens is about output: generation hit the ceiling you set for this call. Not an oversized input (that is a request rejection), not a comfortable finish (end_turn), not a matched stop string (stop_sequence). So the response is incomplete and must never be parsed as complete.

Connect the design to the situation

The request was accepted, then generation exhausted its output allowance.

Best answer: C. max_tokens describes output generation reaching its configured limit. It differs from an oversized input request and from matching a custom stop sequence. Treat the returned result as potentially incomplete.

What each choice would do here

A · Why this does not meet the full requirement

The messages array outgrew the context window, so the API rejected the request before any generation

Input context overflow is a different failure, often detected before generation.

A context-overflow rejection usually concerns whether the input and allowed output fit the model's limits. It is a different diagnostic path from receiving a response whose generation reached its cap.

B · Why this does not meet the full requirement

The model finished its turn comfortably under the output ceiling

Normal completion has a different stop reason.

A normally completed turn is not identified by max_tokens. Even if the partial text looks polished, use the response signal rather than appearance to decide whether it is safe to accept.

C · Why this meets the requirement

Generation halted at the output-token ceiling you set for this call — the response is incomplete and must never be parsed as complete

This identifies an output-limit stop; do not accept it as complete.

Treat the result as requiring explicit recovery or review. Increase the output allowance only when appropriate and within limits, or simplify the task; do not blindly label a partial extraction complete.

D · Why this does not meet the full requirement

A custom stop string you configured was matched mid-generation

Matching a custom string is reported as stop_sequence, not max_tokens.

Custom stop strings have their own stop_reason and singular matched-value field. Confusing the two prevents the application from choosing the right recovery strategy.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Complete API response with incomplete answer text

JSON
{
  "id": "msg_demo_2",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "{\"invoice_number\": \"INV-104\", \"total_cents\":"
    }
  ],
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

The outer API response is valid JSON. The text inside content is an unfinished JSON answer. This is why parsing the envelope successfully does not prove the extraction finished.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Which limit does the response's max_tokens stop reason identify?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: the stop-reason table Context window The messages array stop_reason max_tokens Domain 1 · Agentic Architecture

Return to Q37's situation and clause-by-clause explanation

Q38. Anthropic's Building Effective Agents draws one line between "workflow" and "agent." Which option decodes the official distinction exactly? A) A workflow is any system where an LLM calls tools; an agent is one that additionally loops B) A workflow orchestrates LLM calls through predefined code paths; an agent dynamically directs its own process and tool usage C) A workflow dynamically directs its own process; an agent follows predefined code paths D) A workflow contains no model calls; an agent is any model call wrapped in a harness

Understand Q38 · the situation and each part of the question

The real situation behind this question

Both a workflow and an agent can call models, use tools, and repeat steps. Those visible features alone do not tell you which architecture you have. The important question is who decides the next step: predefined application logic or the model's task-dependent decisions. This distinction helps you explain why a fixed invoice pipeline and an exploratory research assistant may need different control structures.

Read the question in parts

Part 1 · predefined code paths

The application specifies the stages and branches before the model runs.

Part 2 · dynamically directs its process

The model selects next actions within the tools, limits, and policy the application permits.

What you are being asked to decide

Who decides the sequence in a workflow versus an agent? Distinguish code-defined control flow from dynamic model decisions.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
workflowWorkflow: a process whose stages or branches are defined in application code.
HarnessThe application code around the model call. It prepares context, handles results, checks policy, and runs tools.

Study: workflows vs agents Agent loop Workflow Harness Domain 1 · Agentic Architecture

Understand Q38's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Anthropic's line is about who decides the path. A workflow orchestrates LLM calls through predefined code paths; an agent dynamically directs its own process and tool usage. Both may loop and both may call tools, so those aren't the distinction; control is.

Connect the design to the situation

A workflow's code always executes A→B; an agent selects a next tool based on intermediate results.

Best answer: B. The distinction is who determines the sequence: code defines a workflow's paths; a model chooses more of an agent's next steps. Both can use tools, loops, and parallel work. Choose based on the task's uncertainty.

What each choice would do here

A · Why this does not meet the full requirement

A workflow is any system where an LLM calls tools; an agent is one that additionally loops

Tools and loops can appear in workflows too, so this is not the defining distinction.

A workflow may call tools and loop over documents using ordinary code. Counting tools or repetitions therefore cannot establish that a system is an agent.

B · Why this meets the requirement

A workflow orchestrates LLM calls through predefined code paths; an agent dynamically directs its own process and tool usage

Predefined paths versus dynamic model-directed decisions is the relevant distinction.

Look at the next-step decision. A workflow follows coded transitions; an agent proposes task-dependent actions, while the surrounding harness still enforces permissions and termination limits.

C · Why this does not meet the full requirement

A workflow dynamically directs its own process; an agent follows predefined code paths

This reverses the two definitions.

This reverses the central definitions. An agent is not characterized by following a fixed path while a workflow invents one; the distinction runs in the opposite direction.

D · Why this does not meet the full requirement

A workflow contains no model calls; an agent is any model call wrapped in a harness

Workflows can contain model calls; their control flow is predefined.

A workflow can contain many LLM calls as processing stages. Wrapping one model call in application code does not automatically give it dynamic planning or action selection.

Check your understanding · explain the design in your own words

Who decides the sequence in a workflow versus an agent?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: workflows vs agents Agent loop Workflow Harness Domain 1 · Agentic Architecture

Return to Q38's situation and clause-by-clause explanation

Q39. A transient network timeout hit mid-run, the harness retried the turn, and the customer received two replacement shipments for one lost order. Root cause? A) Missing checkpointing — the agent restarted from scratch instead of resuming its saved state B) The HITL approval threshold was set too high to catch the second shipment C) The turn budget was generous enough to allow a second attempt D) Missing idempotency — the retry re-executed the side effect instead of consulting an effects ledger keyed on the action

Understand Q39 · the situation and each part of the question

The real situation behind this question

A shipping operation times out after submission. The application tries again, and two shipments appear. The critical uncertainty is whether the first request had already created the shipment before the timeout. The question asks which control identifies the second submission as a replay of the same intended action, rather than merely reducing retries or recording overall workflow progress.

Read the question in parts

Part 1 · uncertain operation

The missing reply does not reveal whether the external system completed the action.

Part 2 · duplicate shipment

The dangerous effect happens when the backend treats a retry as a new business operation.

What you are being asked to decide

Why can retrying an uncertain shipping operation create a duplicate? Separate recovery checkpoints from duplicate-effect prevention.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
harnessHarness: application code around the model that manages calls, history, checks, and tool execution.
IdempotencyRepeating the same logical operation does not create an additional effect.
BudgetAn application limit on time, turns, tokens, or spending.
Human-in-the-loop (HITL)Human-in-the-loop: an application pauses an action for a person's decision.

Study: harness controls HITL — the interception mechanics Idempotency Harness Domain 1 · Agentic Architecture

Understand Q39's answer · full reasoning and worked examples
Claude synthesized · the point, straight

One lost order produced two shipments, so the same side effect ran twice: a retry replayed it. Checkpointing would resume progress but wouldn't stop an uncertain external write from repeating; thresholds and turn budgets don't touch duplication at all. So the fix is idempotency: key each action and consult an effects ledger before executing.

Connect the design to the situation

The warehouse accepted the first request, but the acknowledgement was lost.

Best answer: D. The repeated shipment indicates that the same logical side effect was performed more than once. Idempotent operation handling prevents that duplicate. A checkpoint helps resume progress but does not by itself resolve an uncertain external write.

What each choice would do here

A · Why this does not meet the full requirement

Missing checkpointing — the agent restarted from scratch instead of resuming its saved state

Checkpoints help resume progress, but do not alone deduplicate an uncertain mutation.

A checkpoint can say which workflow stage was reached, but a crash can occur between the external effect and checkpoint persistence. The effect boundary still needs duplicate protection and reconciliation.

B · Why this does not meet the full requirement

The HITL approval threshold was set too high to catch the second shipment

Approval thresholds govern authorization, not whether the same shipment already ran.

An approval threshold decides whether a shipment is permitted. Two copies of an approved shipment can both pass the threshold unless the system also recognizes duplicate execution.

C · Why this does not meet the full requirement

The turn budget was generous enough to allow a second attempt

A shorter turn budget does not make a retry idempotent.

Restricting turns may reduce opportunities to retry, but it also risks abandoning recoverable tasks. It does not make an allowed second attempt safe when the first outcome is unknown.

D · Why this meets the requirement

Missing idempotency — the retry re-executed the side effect instead of consulting an effects ledger keyed on the action

A stable operation key and durable effect record identify replay of the same shipment.

Reuse the same operation identity and consult durable effect handling for the shipment. The retry should recover the existing outcome rather than create another shipment for the same action.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Walk through approval and replay — offline simulation

PYTHON
# Offline teaching simulation: no payment or shipment is performed.
# Production must make effect recording atomic with the operation, or use
# the provider's idempotency support and reconcile uncertain outcomes.
ledger = {}

def propose(operation_id, amount, approved=False):
    if operation_id in ledger:
        return ledger[operation_id]
    if amount > 50 and not approved:
        return {"status": "pending_approval"}
    result = {"status": "completed", "operation_id": operation_id}
    ledger[operation_id] = result
    return result

print(propose("credit-104", 75))
print(propose("credit-104", 75, approved=True))
print(propose("credit-104", 75, approved=True))

The first call waits for approval. The next records a completed operation; the repeated ID returns that record. This in-memory demonstration is not a durable or concurrency-safe production implementation. A real service needs persistent atomic effect handling, authenticated approvals, and recovery checks.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Why can retrying an uncertain shipping operation create a duplicate?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Study: harness controls HITL — the interception mechanics Idempotency Harness Domain 1 · Agentic Architecture

Return to Q39's situation and clause-by-clause explanation

Q40. An extraction sometimes fails parsing. Logs for each failed response show stop_reason max_tokens, but the harness accepts responses without checking that field. Root cause? A) The harness parses responses without branching on stop_reason, so max_tokens truncations are treated as complete output B) The model intermittently ignores the input_schema on its tool arguments C) A guardrail is rejecting valid JSON on alternating runs D) Missing checkpointing corrupts the messages array between turns

Understand Q40 · the situation and each part of the question

The real situation behind this question

A log shows that some model responses end at their output cap, and the application immediately feeds their text into a parser. Parse failures then appear intermittent because shorter answers finish while longer ones are cut off. The question asks you to identify the missing decision between receiving a response and using its data. The log provides a specific cause; do not replace it with an unrelated theory.

Read the question in parts

Part 1 · logged stop_reason

The application already has a machine-readable signal explaining the generation outcome.

Part 2 · intermittent parse failures

Different output lengths can make the same missing check fail only on some requests.

What you are being asked to decide

Which logged fact should the parser have checked first? Use explicit failure evidence before guessing a model problem.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
harnessHarness: application code around the model that manages calls, history, checks, and tool execution.
max_tokensmax_tokens: the output-token allowance for one model call, not the whole loop or a money amount.
stop_reasonStop reason: the API response field explaining why generation stopped.
The messages array (conversation history)The ordered conversation content you include in a Messages request.
max_tokens (output ceiling)The maximum output-token allowance for a single request.
GuardrailA check that helps keep the application within an allowed boundary. In this guide, action guardrails are enforced by trusted code.

Example: stop reason Study: the stop-reason table input_schema vs output_config — the vantage decode The messages array Deterministic stop_reason Agent loop Domain 1 · Agentic Architecture

Understand Q40's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Every failed response logs stop_reason: max_tokens, and the harness never looks at that field. So truncated output is handed to the parser as if complete, and sometimes it fails. The root cause is the missing branch: check stop_reason before accepting a response, and route max_tokens to retry or review.

Connect the design to the situation

Every failed extraction reports an output-limit stop, yet the harness attempts to accept it.

Best answer: A. The recorded max_tokens stop reason supplies the evidence for truncation. Branch on it before accepting the result, even if some output can be parsed. Without that evidence, intermittent parse failure alone would not establish one unique cause.

What each choice would do here

A · Why this meets the requirement

The harness parses responses without branching on stop_reason, so max_tokens truncations are treated as complete output

Ignoring stop_reason explains why incomplete results enter the parser.

Inspect the stop reason before treating text as a complete extraction. A parser can still be used diagnostically, but successfully reading part of an object is not acceptance of a completed model result.

B · Why this does not meet the full requirement

The model intermittently ignores the input_schema on its tool arguments

Schema problems can exist, but do not supersede the explicit truncation evidence.

A schema mismatch could cause other failures, but the explicit max_tokens evidence identifies truncation here. Debug the observed completion issue before assuming the model ignored argument definitions.

C · Why this does not meet the full requirement

A guardrail is rejecting valid JSON on alternating runs

The logs do not show a guardrail rejecting valid output.

A rejection of valid data would require evidence that the data was complete and a gate rejected it incorrectly. That is not the failure sequence described in these logs.

D · Why this does not meet the full requirement

Missing checkpointing corrupts the messages array between turns

No checkpoint corruption is described; the reported stop condition is sufficient evidence.

Checkpoint corruption might damage history in another scenario. Nothing here establishes it, and adding checkpoints would not fix a parser that accepts output-limit responses without checking them.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Complete API response with incomplete answer text

JSON
{
  "id": "msg_demo_2",
  "type": "message",
  "role": "assistant",
  "model": "claude-sonnet-4-6",
  "content": [
    {
      "type": "text",
      "text": "{\"invoice_number\": \"INV-104\", \"total_cents\":"
    }
  ],
  "stop_reason": "max_tokens",
  "stop_sequence": null,
  "usage": {
    "input_tokens": 180,
    "output_tokens": 35,
    "cache_creation_input_tokens": 0,
    "cache_read_input_tokens": 0
  }
}

The outer API response is valid JSON. The text inside content is an unfinished JSON answer. This is why parsing the envelope successfully does not prove the extraction finished.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

Which logged fact should the parser have checked first?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Complete API request, response, and every field Complete Python loop and the JSON it sends

Example: stop reason Study: the stop-reason table input_schema vs output_config — the vantage decode The messages array Deterministic stop_reason Agent loop Domain 1 · Agentic Architecture

Return to Q40's situation and clause-by-clause explanation

Concept drills (30)

Source: Concept drills.

Q220. A freight company's coordinator asks a subagent to normalise 40,000 shipping addresses. The delegation prompt is eleven numbered steps (split on commas, uppercase the third field, pad postcodes to five digits, and so on). Partway through, the subagent meets a new region whose addresses contain no commas, keeps executing step two anyway, and reports success on thousands of mangled rows. Which diagnosis is exactly right? A) The subagent had too many tools available, which distracted it from the address-parsing steps it was supposed to follow in order. B) The subagent ran out of output budget while reasoning about the new format, so it fell back to the literal steps it had been given. C) The steps were sound; the prompt only needed a rule telling the subagent to halt and ask the coordinator whenever input deviates from the script. D) The prompt specified how to work but never what a correct result looks like, so when the data broke the script the subagent had no criterion to notice failure or adapt toward.

Understand Q220 · the situation and each part of the question

The real situation behind this question

A freight company is cleaning its address book before switching carriers, and a bad address means a failed delivery and a support call. The coordinator wanted control, so it scripted every move for the worker. When addresses from a newly acquired region arrived without commas, the script silently produced garbage, and the worker had no idea anything was wrong because nobody had told it what a correct address looks like.

Read the question in parts

Part 1 · eleven numbered steps

The prompt is procedural: it fixes the method and never defines the result the worker is responsible for.

Part 2 · reports success on thousands of mangled rows

The worker could not detect failure, which points to missing success criteria rather than a lack of effort or tools.

What you are being asked to decide

Why did a step-by-step delegation prompt fail when the data changed? Tests writing subagent prompts as goals plus success criteria rather than procedures.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Subagentthe address worker that received eleven steps but no picture of a good result
Handoffthe delegation prompt; it should carry the goal and the checks for done
Orchestratorthe coordinator that wrote the step list instead of the outcome

Study: Coordinator communication from plan to final report Subagent Handoff Orchestrator

Understand Q220's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The worker obeyed the script and still failed, because a script cannot anticipate every input and it gave no definition of a correct result. Delegate the outcome plus checks the worker can verify, and let it choose the method.

Connect the design to the situation

A subagent follows address-cleaning steps literally on data the steps never anticipated.

Best answer: D. The subagent did exactly what the steps said, which is why it failed: nothing in the prompt described a correct address, so it could not see the damage or choose a different method. A halt-and-ask rule keeps the brittle script and still leaves success undefined.

What each choice would do here

A · Why this does not meet the full requirement

The subagent had too many tools available, which distracted it from the address-parsing steps it was supposed to follow in order.

Tool scoping matters, but the failure here is the missing definition of done.

Trimming tools is a valid hygiene step for tool-selection errors. Here the subagent used the right tool exactly as instructed; the instruction itself was the problem, so a smaller menu would change nothing.

B · Why this does not meet the full requirement

The subagent ran out of output budget while reasoning about the new format, so it fell back to the literal steps it had been given.

Budget did not cause this; the subagent never had a reason to question step two.

Raising max_tokens gives longer replies but changes nothing about what the subagent is aiming for. It would still execute the numbered steps faithfully and still report success on rows that the script mangled.

C · Why this does not meet the full requirement

The steps were sound; the prompt only needed a rule telling the subagent to halt and ask the coordinator whenever input deviates from the script.

A halt rule keeps the brittle script and still gives no definition of a good result.

An escalate-on-deviation rule turns every regional quirk into a round trip to the coordinator. The subagent still cannot tell good output from bad, so any deviation the script did not anticipate slips through silently.

D · Why this meets the requirement

The prompt specified how to work but never what a correct result looks like, so when the data broke the script the subagent had no criterion to notice failure or adapt toward.

Right: a procedure without success criteria cannot detect its own failure or guide adaptation.

Rewriting the handoff as a goal plus checks (every record parses into street, city, postcode; unparseable rows are returned, not guessed) lets the subagent change method for the comma-less region and still know when it is done.

Check your understanding · explain the design in your own words

Why did a step-by-step delegation prompt fail when the data changed?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Coordinator communication from plan to final report

Study: Coordinator communication from plan to final report Subagent Handoff Orchestrator

Return to Q220's situation and clause-by-clause explanation

Q221. A documentation platform's coordinator receives two jobs at once: correct a misspelled word in one README heading, and audit 400 API reference pages for broken cross-links. The coordinator already has the README open. Which assignment keeps coordination cost lowest while keeping the coordinator's own context clean? A) Two subagents, one per job, so the coordinator stays a pure router and never edits files itself. B) A subagent fixes the heading, while the coordinator audits the pages because link checking needs the global view only it holds. C) The coordinator fixes the heading itself and hands the 400-page audit to one subagent that returns only the list of broken links. D) The coordinator does both, reading all 400 pages into its own context so it has a complete picture for future requests.

Understand Q221 · the situation and each part of the question

The real situation behind this question

A docs team runs a coordinator agent that fields maintenance requests. One morning two requests land together: a typo in a README heading and a full link audit ahead of a major release. The team pays for tokens and waits on latency, and the coordinator must stay sharp for the rest of the day's requests. Deciding what to delegate is a cost judgement, not a matter of keeping roles pure.

Read the question in parts

Part 1 · correct a misspelled word in one README heading

The first job is tiny and single-location, so a handoff would cost more than the work itself.

Part 2 · keeps coordination cost lowest while keeping the coordinator's own context clean

Two constraints at once: minimise handoffs and avoid flooding the coordinator, which points to delegating only the bulky job.

What you are being asked to decide

Which of two jobs should the coordinator delegate, and which should it just do? Tests weighing handoff cost against the benefit of isolated context.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Context isolationkeeping 400 pages of link checks out of the coordinator's working context
Handoffthe brief-and-collect cost paid every time work goes to a subagent

Study: Choosing the simplest sufficient design Subagent Context isolation Handoff

Understand Q221's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Delegation costs a brief, a spawn and a result collection, and repays that only when the work is large or noisy enough to deserve its own context. Do the one-word fix inline and send the 400-page audit to a subagent that returns just the broken links.

Connect the design to the situation

A one-word fix and a 400-page link audit arrive together.

Best answer: C. A subagent buys a fresh, focused context at the price of a handoff, so it pays off for bulky work like a 400-page audit and not for a one-word fix. Sending both jobs out pays the handoff twice for no gain.

What each choice would do here

A · Why this does not meet the full requirement

Two subagents, one per job, so the coordinator stays a pure router and never edits files itself.

Delegating a one-word fix pays full handoff overhead for almost no work.

Spawning a worker for the typo means writing a brief, starting a context, and collecting a result for an edit the coordinator could make in one step. Purity of role is not worth that overhead.

B · Why this does not meet the full requirement

A subagent fixes the heading, while the coordinator audits the pages because link checking needs the global view only it holds.

This inverts the cost logic: the large job needs isolation, the small one does not.

Link checking needs the page set and link targets, which a subagent can be given. Keeping the heavy job in the coordinator while outsourcing the trivial one maximises both context load and handoff cost.

C · Why this meets the requirement

The coordinator fixes the heading itself and hands the 400-page audit to one subagent that returns only the list of broken links.

Right: the tiny edit is cheaper inline; the large audit benefits from its own context and returns a compact result.

The one-word fix costs a single edit where the file is already open. The audit would flood the coordinator with 400 pages, so isolating it in a subagent keeps that noise out and returns only what matters.

D · Why this does not meet the full requirement

The coordinator does both, reading all 400 pages into its own context so it has a complete picture for future requests.

Inlining the audit bloats the coordinator's context with pages it will never need again.

Four hundred pages of link checking would crowd out the coordinator's planning context and degrade later decisions. The audit is exactly the kind of bulky, self-contained work that deserves isolation.

Check your understanding · explain the design in your own words

Which of two jobs should the coordinator delegate, and which should it just do?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Choosing the simplest sufficient design

Study: Choosing the simplest sufficient design Subagent Context isolation Handoff

Return to Q221's situation and clause-by-clause explanation

Q222. A market-intelligence system is asked to profile the payment methods used by consumers across Southeast Asia. The final report covers credit cards and bank transfers in depth but never mentions e-wallets, buy-now-pay-later or cash on delivery. Reviewers agree each worker's section is thorough and well sourced. Which single piece of evidence would most directly confirm where the gap originated? A) The synthesis worker's prompt, to check whether it was told to flag categories missing from its inputs. B) The retrieval index, to verify whether documents about e-wallets and buy-now-pay-later exist in the corpus at all. C) The coordinator's delegation record showing the list of subtopics it assigned before any worker started. D) The search worker's query log, to see whether its queries were phrased too narrowly to surface wallet providers.

Understand Q222 · the situation and each part of the question

The real situation behind this question

A fintech is deciding which checkout options to build for its regional launch, and the market-intel report is the input to that roadmap. In much of Southeast Asia, e-wallets and cash on delivery dominate. A report that silently omits them could send the product team to build the wrong features. The team wants proof of where the omission began before changing anything.

Read the question in parts

Part 1 · each worker's section is thorough and well sourced

Workers performed well within scope, which rules out worker quality as the origin of the gap.

Part 2 · where the gap originated

The question asks for the earliest point of failure, not a control that would catch the gap later.

What you are being asked to decide

Where would you look to prove why the report missed whole payment categories? Tests tracing a coverage gap to the coordinator's task decomposition.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Decompositionthe coordinator's split of 'payment methods' into subtopics, which left three out
Hub-and-spokeworkers receive scope only from the coordinator, so its plan bounds what they can find

Study: Successful workers can still produce an incomplete report Study: Diagnose the earliest evidenced failure Decomposition Orchestrator Hub-and-spoke

Understand Q222's answer · full reasoning and worked examples
Claude synthesized · the point, straight

When every worker did good work and whole categories are still missing, the categories were never assigned. Read the coordinator's delegation record first: it is the earliest point where the gap could appear, and fixing coverage planning there fixes everything downstream.

Connect the design to the situation

A payments report covers cards and transfers but skips wallets, BNPL and cash on delivery.

Best answer: C. Thorough workers plus missing whole categories means nobody was assigned those categories, and the coordinator's delegation record is the evidence that shows that directly. Query logs and synthesis prompts describe behaviour inside the assigned scope, not how the scope was chosen.

What each choice would do here

A · Why this does not meet the full requirement

The synthesis worker's prompt, to check whether it was told to flag categories missing from its inputs.

A gap-flagging synthesis is a useful detective control, but it is downstream of the origin.

Even a perfect gap-flagging prompt would only report the hole after the fact. The question asks where the gap originated, and synthesis can only summarise what the workers were assigned and returned.

B · Why this does not meet the full requirement

The retrieval index, to verify whether documents about e-wallets and buy-now-pay-later exist in the corpus at all.

Source availability is irrelevant if no worker was ever asked to look for those methods.

The corpus almost certainly contains wallet documents. Confirming that would show the sources were available, but it still leaves open why no worker went looking, which is the planning question.

C · Why this meets the requirement

The coordinator's delegation record showing the list of subtopics it assigned before any worker started.

Right: if the missing methods were never assigned, the decomposition is the origin.

Workers only research what they are handed. If the delegation record lists only cards and transfers, the gap was created at planning time and no downstream component could have filled it, which confirms the root cause directly.

D · Why this does not meet the full requirement

The search worker's query log, to see whether its queries were phrased too narrowly to surface wallet providers.

Query scope matters only inside an assignment; it cannot explain topics nobody assigned.

The query log would show thorough searches for cards and transfers, because that is what the worker was asked about. It tells you about search quality within scope, not about why three whole payment categories never entered scope.

Check your understanding · explain the design in your own words

Where would you look to prove why the report missed whole payment categories?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Successful workers can still produce an incomplete report Study: Diagnose the earliest evidenced failure

Study: Successful workers can still produce an incomplete report Study: Diagnose the earliest evidenced failure Decomposition Orchestrator Hub-and-spoke

Return to Q222's situation and clause-by-clause explanation

Q223. A support agent's loop ends when the assistant's text contains the sentinel "FINAL ANSWER:". Some tickets end mid-task because the agent quotes a customer email that happens to contain that phrase; others grind on until the 25-turn safety cap even though the work finished earlier. Which statement about the loop's exit condition is exactly right? A) A rarer sentinel such as a random token would fix both failures, because customers could never type it by accident. B) Every response already carries a stop_reason that separates wanting a tool (tool_use) from being finished (end_turn), so the loop should branch on that field rather than on text. C) Keep the sentinel but normalise case and require it at the very end of the message, so quoted text cannot trigger it. D) The 25-turn cap is the real defect; raising it lets long tickets reach the sentinel before the loop gives up.

Understand Q223 · the situation and each part of the question

The real situation behind this question

A help-desk team built its first agent loop quickly and used a text sentinel to decide when to stop. In production, customers paste email threads into tickets, and some of those threads contain the same phrase. Other tickets finish early but keep calling the model until the cap. The team is paying for wasted turns and closing tickets with half-done work, and wants to know what the exit condition should really be.

Read the question in parts

Part 1 · ends when the assistant's text contains the sentinel

Completion is being inferred from prose, which the model or the user can produce for unrelated reasons.

Part 2 · grind on until the 25-turn safety cap

The loop misses real completion, showing the text check is not a reliable finished signal.

What you are being asked to decide

What should decide when an agent loop stops? Tests using stop_reason, not text patterns, as the loop's control signal.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
stop_reasonthe response field that says tool_use (keep going) or end_turn (done)
Agent loopthe code that calls the model, runs tools and decides whether to call again

Study: Stop reasons — memorize this table Study: The agentic loop — the exam's core object stop_reason Agent loop Stop reason

Understand Q223's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Both failures come from reading completion out of text. The response's stop_reason is the structured answer: continue on tool_use, stop on end_turn, and keep the turn cap only as a safety ceiling.

Connect the design to the situation

A support loop exits on a phrase that customers sometimes write themselves.

Best answer: B. The Messages API already reports why each turn ended: tool_use means run the requested tools and continue, end_turn means the model is done. A rarer or better-anchored sentinel still guesses at completion from wording, so one of the two failures survives.

What each choice would do here

A · Why this does not meet the full requirement

A rarer sentinel such as a random token would fix both failures, because customers could never type it by accident.

A rarer phrase still depends on the model choosing to emit it.

An unusual token solves the accidental-quote case but not the other one: the model can finish its work without printing the token, and the loop then runs to the cap. It is still inferring completion from prose.

B · Why this meets the requirement

Every response already carries a stop_reason that separates wanting a tool (tool_use) from being finished (end_turn), so the loop should branch on that field rather than on text.

Right: the API signals completion structurally; text matching is a guess.

Branching on stop_reason removes both failures: quoted phrases no longer end the loop, and a finished turn ends it immediately instead of spinning to the cap. Other values such as max_tokens get their own handling.

C · Why this does not meet the full requirement

Keep the sentinel but normalise case and require it at the very end of the message, so quoted text cannot trigger it.

Tighter matching narrows one failure but keeps completion tied to wording.

Anchoring the phrase reduces false triggers from quotes, yet any run where the model finishes without the exact ending still loops to the cap. The loop is still reading prose when a structured field exists.

D · Why this does not meet the full requirement

The 25-turn cap is the real defect; raising it lets long tickets reach the sentinel before the loop gives up.

Raising the cap makes the over-running case worse and leaves the false stops untouched.

Tickets that already finished would spin even longer, costing tokens and latency. The early exits caused by quoted text would still happen. A safety ceiling is fine, but it is not the completion signal.

Check your understanding · explain the design in your own words

What should decide when an agent loop stops?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Stop reasons — memorize this table Study: The agentic loop — the exam's core object

Study: Stop reasons — memorize this table Study: The agentic loop — the exam's core object stop_reason Agent loop Stop reason

Return to Q223's situation and clause-by-clause explanation

Q224. A travel-planning coordinator runs a flight agent and then a hotel agent. The flight agent finds that the only affordable flight lands a day later than the traveller asked for and returns that itinerary. The hotel agent then books rooms starting on the originally requested date, leaving a paid night unused. The two agents never exchange messages. Which change fixes this at the right layer? A) Add a shared table that both agents poll while they work, so each can see the other's latest decisions. B) Run the hotel agent first, so the booked dates constrain which flights the flight agent is allowed to choose. C) The coordinator puts the flight agent's confirmed arrival date and time into the hotel agent's delegation prompt. D) Give the hotel agent read access to the flight agent's working log so it can find the arrival date on its own.

Understand Q224 · the situation and each part of the question

The real situation behind this question

A travel startup sells complete trip bookings. Travellers are furious when they pay for a hotel night they cannot use because the flight lands a day later. The flight agent did its job, and so did the hotel agent, given what each was told. The failure sits in the gap between them, and the team needs to decide which component owns closing it.

Read the question in parts

Part 1 · The two agents never exchange messages

Workers are isolated spokes, so any dependency between them must travel through the coordinator.

Part 2 · at the right layer

The fix belongs where both results are visible, which is the coordinator rather than either worker.

What you are being asked to decide

How should a later agent learn what an earlier agent decided? Tests that the coordinator must inject dependent results into later delegations.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Hub-and-spokethe coordinator is the hub; the flight and hotel agents are spokes that never talk
Handoffthe hotel brief, which must include the confirmed arrival from the flight step
Context isolationeach agent sees only its own brief, not its sibling's results

Study: Coordinator handoffs: wait, pass context, then continue Study: See the handoff as data Hub-and-spoke Handoff Context isolation

Understand Q224's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Sibling workers do not see each other's results; the coordinator does. When one step's output constrains another, the coordinator must write that output into the next brief. Here, the flight's real arrival date belongs in the hotel agent's prompt.

Connect the design to the situation

A hotel is booked for a night the traveller will still be in the air.

Best answer: C. The hotel agent booked from the traveller's original request because that is all it was given. Only the coordinator sees both results, so it must forward the confirmed arrival; reordering or side channels still leave that handoff missing.

What each choice would do here

A · Why this does not meet the full requirement

Add a shared table that both agents poll while they work, so each can see the other's latest decisions.

A side channel bypasses the coordinator and adds timing races.

Polling a shared table invites the hotel agent to read a half-finished flight search, and it removes the coordinator's control of what each worker knows. The simpler fix is an explicit handoff after the flight result is final.

B · Why this does not meet the full requirement

Run the hotel agent first, so the booked dates constrain which flights the flight agent is allowed to choose.

Reordering does not create a handoff; it just moves the dependency the other way.

If hotels are booked first, the flight agent still needs those dates passed to it, and the cheapest flight may no longer be available. Sequencing is necessary but not sufficient without passing the result.

C · Why this meets the requirement

The coordinator puts the flight agent's confirmed arrival date and time into the hotel agent's delegation prompt.

Right: the dependency is carried by the hub, which is the only party that sees both results.

The hotel agent can only act on what its brief contains. Handing it the confirmed arrival makes the booking start on the right night, and it keeps the flow explicit and auditable in the coordinator.

D · Why this does not meet the full requirement

Give the hotel agent read access to the flight agent's working log so it can find the arrival date on its own.

Self-discovery works around the missing handoff and couples workers to each other's internals.

The hotel agent would have to know the log exists, parse another agent's scratch notes, and pick out the final choice from rejected options. The coordinator already holds the clean result and should simply pass it on.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

The hotel brief with the dependency carried by the coordinator

JSON
{
 "task": "Book a hotel near the conference venue",
 "constraints": {
  "check_in": "2026-11-04",
  "check_out": "2026-11-07",
  "max_nightly_rate_usd": 220
 },
 "from_flight_agent": {
  "arrival_local": "2026-11-04T21:40",
  "airport": "SIN",
  "note": "Only affordable option lands one day after the requested date"
 },
 "return_format": "hotel name, confirmation id, total cost"
}

The check-in date comes from the flight agent's confirmed arrival, not from the traveller's original request. The coordinator is the only party that sees both, so it writes the dependency into this brief.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

How should a later agent learn what an earlier agent decided?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Coordinator handoffs: wait, pass context, then continue Study: See the handoff as data

Study: Coordinator handoffs: wait, pass context, then continue Study: See the handoff as data Hub-and-spoke Handoff Context isolation

Return to Q224's situation and clause-by-clause explanation

Q225. A hospital's procurement officer wants three infusion-pump vendors compared on recall history, five-year total cost of ownership and nurse usability, with every criterion measured the same way for all three vendors so the committee can read the table across. Which decomposition is MOST likely to produce a comparison that cannot be read side by side? A) One worker per criterion, each covering all three vendors, followed by a synthesis step. B) One worker per criterion, with the coordinator fixing the metric definition in each brief, then synthesis. C) One worker per vendor, each researching all three criteria for its own vendor, merged at the end. D) A single worker researching every vendor and criterion in one pass, filling a supplied comparison template.

Understand Q225 · the situation and each part of the question

The real situation behind this question

A hospital is replacing hundreds of infusion pumps, a decision with patient-safety and budget consequences. The procurement committee meets once and must compare vendors quickly. If one vendor's recall count covers five years and another's covers two, the committee could pick the less safe pump without realising the numbers were never comparable. The officer needs a research plan that guarantees aligned columns.

Read the question in parts

Part 1 · measured the same way for all three vendors

Comparability is the explicit requirement, so the decomposition must keep one definition per criterion.

Part 2 · MOST likely to produce a comparison that cannot be read side by side

The question asks for the failing design, so the answer is the split that lets metrics diverge.

What you are being asked to decide

Which way of splitting a comparison task breaks like-for-like results? Tests choosing decomposition axes that preserve comparability.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Decompositionthe choice to split by vendor or by criterion, which decides whether metrics match
Parallelizationrunning the criterion tracks at once without letting each invent its own measure

Study: Multi-agent design judgments (scenario 3 territory) Decomposition Parallelization Orchestrator

Understand Q225's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Comparability is decided by the decomposition axis. Give each criterion to one worker that covers every vendor, ideally with the metric fixed in the brief. Splitting by vendor invites three private definitions of the same measure.

Connect the design to the situation

Three pump vendors must be compared on the same three measures.

Best answer: C. Splitting by vendor lets each worker pick its own measures, so the merged columns do not line up. Splitting by criterion keeps one measure per row across all vendors, and fixing the metric in each brief makes that even stronger.

What each choice would do here

A · Why this does not meet the full requirement

One worker per criterion, each covering all three vendors, followed by a synthesis step.

This keeps each criterion's metric consistent across vendors because one worker measures it everywhere.

The recall worker applies one definition to all three vendors, and so do the cost and usability workers. Synthesis then assembles rows that are already comparable, which is exactly what the committee asked for.

B · Why this does not meet the full requirement

One worker per criterion, with the coordinator fixing the metric definition in each brief, then synthesis.

This is the strongest version of criterion-based decomposition, not a failure case.

Fixing the metric in the brief (for example, recalls per 10,000 units over five years) removes the last source of drift. It is the design that most reliably produces a table the committee can read across.

C · Why this meets the requirement

One worker per vendor, each researching all three criteria for its own vendor, merged at the end.

Right: three independent workers will each choose their own metrics, breaking comparability.

One worker may report recalls per year, another recalls per 10,000 units, and a third only class I recalls. Cost may include consumables in one track and not another. The merged table looks complete but its columns do not line up.

D · Why this does not meet the full requirement

A single worker researching every vendor and criterion in one pass, filling a supplied comparison template.

Slower and less parallel, but one worker applies one set of definitions throughout.

A single pass may take longer and strain context on large comparisons, yet its metrics stay consistent because the same worker defines them. It is less efficient, not less comparable, so it is not the design most likely to fail here.

Check your understanding · explain the design in your own words

Which way of splitting a comparison task breaks like-for-like results?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Multi-agent design judgments (scenario 3 territory)

Study: Multi-agent design judgments (scenario 3 territory) Decomposition Parallelization Orchestrator

Return to Q225's situation and clause-by-clause explanation

Q226. A platform team is choosing an orchestration style for four upcoming jobs. Which TWO jobs are better served by a fixed prompt chain than by dynamic adaptive decomposition? (Select TWO.) A) Migrating an undocumented internal library whose callers and hidden dependencies have not yet been mapped. B) A weekly compliance check that runs the same five named checks on every pull request in a fixed order. C) Investigating why a mobile app's crash rate doubled after an unknown combination of recent releases. D) Nightly processing of supplier invoices: extract fields, validate totals, post to the ledger, the same three steps every night.

Understand Q226 · the situation and each part of the question

The real situation behind this question

A platform team is standardising how it builds agentic jobs and wants a rule for when to use a simple chain versus a planner that decides subtasks at runtime. Adaptive planning costs more tokens and is harder to test, while a chain is cheap and predictable but brittle when the work is open-ended. The team lists four real jobs and asks which ones deserve the simpler design.

Read the question in parts

Part 1 · better served by a fixed prompt chain

The question is inverted: it asks where predictable structure wins, not where adaptivity is needed.

Part 2 · dynamic adaptive decomposition

The alternative style, which pays off only when subtasks cannot be known until the work begins.

What you are being asked to decide

Which jobs have steps known in advance, so a fixed chain beats adaptive planning? Tests recognising when work is predictable enough for a fixed pipeline.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Prompt chaininga fixed sequence of focused steps, right for invoices and weekly checks
Decompositionadaptive splitting that is needed when subtasks only emerge from findings

Study: A known sequence is a chain, not delegation Study: A case that does need dynamic delegation Prompt chaining Decomposition Workflow

Understand Q226's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Ask whether you can write the steps and their order before the run. If yes, as with invoices and fixed weekly checks, use a chain. If the subtasks only show up as findings come in, as with crash diagnosis and an unmapped migration, plan adaptively.

Connect the design to the situation

Four jobs: invoices, weekly checks, a crash investigation and an unmapped migration.

Best answer: BD. A chain fits when the steps and their order are known before the run starts, as with nightly invoices and a fixed set of weekly checks. Crash investigation and an unmapped migration only reveal their subtasks as findings arrive, so they call for adaptive decomposition.

What each choice would do here

A · Why this does not meet the full requirement

Migrating an undocumented internal library whose callers and hidden dependencies have not yet been mapped.

Unknown scope; the plan has to grow as callers and dependencies are discovered.

Until the callers are found, nobody knows how many subtasks exist or in what order they must run. That is exactly the situation adaptive decomposition is for, so a fixed chain would be the wrong fit.

B · Why this does not meet the full requirement

A weekly compliance check that runs the same five named checks on every pull request in a fixed order.

Right: a predictable, repeated set of checks needs no runtime planning.

Each check is known and ordered in advance, so a fixed chain or parallel set is simpler, cheaper and easier to audit. Nothing the checks find changes which checks should run next.

C · Why this does not meet the full requirement

Investigating why a mobile app's crash rate doubled after an unknown combination of recent releases.

Open-ended diagnosis; the next step depends on what each finding reveals.

The investigator does not know which release, library or device class matters until early findings narrow it down. A fixed chain would either miss the cause or waste effort on irrelevant steps, so adaptive decomposition fits.

D · Why this does not meet the full requirement

Nightly processing of supplier invoices: extract fields, validate totals, post to the ledger, the same three steps every night.

Right: known steps in a stable order are the definition of a chain.

The work never changes shape, so a chain gives predictable cost, easy testing of each step, and clear failure points. An adaptive planner would spend tokens rediscovering a plan that is already known.

Check your understanding · explain the design in your own words

Which jobs have steps known in advance, so a fixed chain beats adaptive planning?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: A known sequence is a chain, not delegation Study: A case that does need dynamic delegation

Study: A known sequence is a chain, not delegation Study: A case that does need dynamic delegation Prompt chaining Decomposition Workflow

Return to Q226's situation and clause-by-clause explanation

Q227. An analytics team inherits a data warehouse of 900 tables with no lineage documentation, and nobody knows which tables actually feed the revenue dashboards. An agent is asked to produce useful documentation for the warehouse. What should the agent's first phase be? A) Trace lineage backward from the dashboards' queries to find which tables matter, then set documentation depth according to what that map reveals. B) Document every table alphabetically with one uniform template so coverage is even and progress is easy to track. C) Write the complete documentation outline for all 900 tables in a single pass before looking at any query history. D) Split the 900 tables evenly across ten parallel workers, each documenting its 90 tables in full.

Understand Q227 · the situation and each part of the question

The real situation behind this question

An analytics team took over a warehouse from a group that left the company. Finance relies on the revenue dashboards, and an outage or misunderstanding could delay quarterly reporting. There is no lineage map and no list of critical tables. The team asked an agent to document the warehouse, and wants effort focused where it matters rather than spread thinly across hundreds of stale tables.

Read the question in parts

Part 1 · no lineage documentation

Dependencies are unknown, so any upfront plan would guess at relationships between tables.

Part 2 · nobody knows which tables actually feed the revenue dashboards

Priorities are unknown, which means discovering importance must come before deciding effort.

What you are being asked to decide

What should an agent do first when nobody knows what matters in a large unfamiliar system? Tests choosing explore-then-plan for work with unknown structure and priorities.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Decompositionsplitting the documentation job in a way that follows discovered dependencies
Progressive discoverylearning the warehouse's shape step by step before committing to a plan

Study: A case that does need dynamic delegation Decomposition Structured discovery Progressive discovery

Understand Q227's answer · full reasoning and worked examples
Claude synthesized · the point, straight

When you do not yet know the structure or what matters, a fixed plan spreads effort blindly. Start by mapping from the business-critical outputs backward, then let the documentation plan follow what the map shows.

Connect the design to the situation

Nine hundred undocumented warehouse tables, only some of which feed revenue dashboards.

Best answer: A. No lineage and no known priorities mean a fixed plan would be guesswork. Mapping from the dashboards backward reveals which tables matter and how they connect, and the documentation plan then grows from that map. Even or alphabetical splits spend equal effort on everything.

What each choice would do here

A · Why this meets the requirement

Trace lineage backward from the dashboards' queries to find which tables matter, then set documentation depth according to what that map reveals.

Right: map first to discover priorities and dependencies, then let the plan adapt.

Starting from the dashboards reveals the small set of tables that carry business weight and how they connect. The agent can then document those deeply and treat unused tables lightly, adjusting as new dependencies appear.

B · Why this does not meet the full requirement

Document every table alphabetically with one uniform template so coverage is even and progress is easy to track.

Uniform effort spends as much on dead tables as on revenue-critical ones.

Alphabetical order ignores dependencies and importance. The agent would write the same depth for abandoned staging tables as for the tables behind revenue reporting, and would describe tables before understanding how they relate.

C · Why this does not meet the full requirement

Write the complete documentation outline for all 900 tables in a single pass before looking at any query history.

A full plan written before exploration encodes guesses as structure.

Without query history the outline cannot know which tables matter or how they connect, so it will over-plan unimportant areas and miss hidden dependencies. The plan should follow the map, not precede it.

D · Why this does not meet the full requirement

Split the 900 tables evenly across ten parallel workers, each documenting its 90 tables in full.

Parallel even splits scale the wrong plan faster.

Even splits scatter related tables across workers who never see each other's findings, and they spend equal effort regardless of importance. Parallelism is useful later, once the map shows which clusters to document together.

Check your understanding · explain the design in your own words

What should an agent do first when nobody knows what matters in a large unfamiliar system?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: A case that does need dynamic delegation

Study: A case that does need dynamic delegation Decomposition Structured discovery Progressive discovery

Return to Q227's situation and clause-by-clause explanation

Q228. A law firm's intake assistant has five specialists: conflict checking, jurisdiction research, fee estimation, document drafting and translation. Its coordinator invokes all five for every inquiry, including "What are your office hours?", and the partners complain about cost and slow replies. Where should the fix live? A) In the coordinator: assess each inquiry and dispatch only the specialists it actually needs. B) In the front end: add a separate FAQ bot so simple questions never reach the multi-agent system. C) In the specialists' configuration: lower each one's output budget so unnecessary runs finish faster. D) In each specialist: add an early check that returns "not applicable" when an inquiry is outside its area.

Understand Q228 · the situation and each part of the question

The real situation behind this question

A mid-size law firm launched an intake assistant to handle website inquiries around the clock. Most inquiries are simple: hours, parking, whether the firm handles a type of case. A few are real new matters that need conflicts checked and fees estimated. Every inquiry currently runs the full specialist set, so the bill is high and simple questions wait many seconds for an answer.

Read the question in parts

Part 1 · invokes all five for every inquiry

The coordinator uses a fixed full pipeline, which is the design flaw to correct.

Part 2 · Where should the fix live

The question asks for the right component to own the change, not just any change that lowers cost.

What you are being asked to decide

Who should decide which specialists a request needs? Tests putting per-request specialist selection in the coordinator.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Workflow routingclassifying each inquiry and sending it only to the specialists it needs
Orchestratorthe intake coordinator, which sees each whole inquiry and can make that call once

Study: The five workflow patterns (parallelization comes in two flavors) Study: Choosing the simplest sufficient design Workflow routing Orchestrator Latency

Understand Q228's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Deciding which specialists a request needs is a routing decision, and the coordinator is the only component that sees the whole request. Have it classify each inquiry and dispatch only the specialists required, so simple questions stay cheap and complex ones keep full coverage.

Connect the design to the situation

A simple office-hours question triggers five legal specialists.

Best answer: A. Running five specialists for an office-hours question is a routing failure, and routing belongs to the coordinator, which sees the whole inquiry. Specialists that decline, a second bot, or smaller budgets all keep paying for work that should never start.

What each choice would do here

A · Why this meets the requirement

In the coordinator: assess each inquiry and dispatch only the specialists it actually needs.

Right: routing is the coordinator's job, and it removes unnecessary invocations entirely.

An office-hours question then goes to no specialist or one, while a new-matter inquiry still gets conflicts, jurisdiction and fees. Cost and latency fall for simple inquiries without weakening complex ones.

B · Why this does not meet the full requirement

In the front end: add a separate FAQ bot so simple questions never reach the multi-agent system.

A second system duplicates routing logic and maintenance for a problem one coordinator can solve.

Now two systems must agree on what counts as simple, and borderline inquiries fall between them. The existing coordinator already sees every inquiry and can make the same decision with less machinery.

C · Why this does not meet the full requirement

In the specialists' configuration: lower each one's output budget so unnecessary runs finish faster.

Smaller budgets shave cost per run but keep every unnecessary run.

The office-hours question would still trigger five specialists, just with shorter answers, and the needed specialists on complex matters might now be truncated. It treats the symptom, not the routing problem.

D · Why this does not meet the full requirement

In each specialist: add an early check that returns "not applicable" when an inquiry is outside its area.

The specialists still start, load context and consume a turn before declining.

Five spawns per inquiry remain, each paying startup cost just to say no. It spreads a routing decision across five components instead of making it once where the whole request is visible.

Check your understanding · explain the design in your own words

Who should decide which specialists a request needs?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: The five workflow patterns (parallelization comes in two flavors) Study: Choosing the simplest sufficient design

Study: The five workflow patterns (parallelization comes in two flavors) Study: Choosing the simplest sufficient design Workflow routing Orchestrator Latency

Return to Q228's situation and clause-by-clause explanation

Q229. A security analyst has spent a long session triaging an intrusion and building a detailed attack timeline. She now wants to evaluate two containment plans (isolate the affected subnet, or rotate every credential and keep services running), each reasoned from the same full timeline, without either plan's reasoning leaking into the other. What should she do? A) Export the timeline to a notes file and open two new sessions that each read the file. B) Resume the session, evaluate the subnet plan, then clear the conversation and evaluate the credential plan. C) Fork the session from the finished timeline twice and evaluate one containment plan in each branch. D) Ask the agent to evaluate both plans side by side in a single reply so neither one is favoured.

Understand Q229 · the situation and each part of the question

The real situation behind this question

During an active intrusion, the security lead must choose between two disruptive containment plans. Isolating the subnet stops lateral movement but takes customer services down; rotating credentials keeps services running but may miss a persistence mechanism. The analyst's timeline is the product of hours of log reading. She needs each plan judged fairly, on the same evidence, before the lead decides.

Read the question in parts

Part 1 · each reasoned from the same full timeline

Both evaluations need the complete baseline, which rules out selective summaries.

Part 2 · without either plan's reasoning leaking into the other

Independence is required, which rules out doing both in one context or sequentially.

What you are being asked to decide

How do you test two alternatives from the same analysis without mixing them? Tests using a session fork to branch from a shared baseline.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Checkpointthe finished timeline, the point in the session from which both branches start
Context isolationkeeping the subnet plan's reasoning out of the credential plan's branch

Study: Fork, resume, or start fresh? Study: Sessions, forking, and spawning — the mechanics the exam names Checkpoint Context isolation Agent SDK

Understand Q229's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Two alternatives, one shared baseline, no cross-talk: that is what a fork is for. Branch the session after the timeline is complete and evaluate one plan per branch.

Connect the design to the situation

Two containment plans must each be reasoned from one detailed intrusion timeline.

Best answer: C. Both evaluations need the same complete baseline and must stay isolated from each other. Forking copies the full session history into each branch; a notes export keeps only a selective summary, and working in one context lets each plan's reasoning shape the other.

What each choice would do here

A · Why this does not meet the full requirement

Export the timeline to a notes file and open two new sessions that each read the file.

A written summary drops evidence and tool results the full session holds.

The notes preserve conclusions but not the log lines, indicators and rejected hypotheses behind them. Exporting is a fallback when forking is unavailable, but here it trades away detail the analyst needs.

B · Why this does not meet the full requirement

Resume the session, evaluate the subnet plan, then clear the conversation and evaluate the credential plan.

Clearing the conversation also discards the timeline the second plan needs.

After a clear, the second evaluation starts without the detailed evidence built during triage. The analyst would either rebuild it or reason from memory, so the two plans no longer share a baseline.

C · Why this meets the requirement

Fork the session from the finished timeline twice and evaluate one containment plan in each branch.

Right: each fork starts with the full timeline, and later turns stay independent.

Both branches inherit every tool result and finding that produced the timeline, and neither sees what the other concludes. That gives two clean evaluations from an identical starting point.

D · Why this does not meet the full requirement

Ask the agent to evaluate both plans side by side in a single reply so neither one is favoured.

One reply means one context: each plan's reasoning shapes the other.

Writing both evaluations together invites the model to frame the second plan against the first, carrying assumptions across. It is fast but gives up the independence the analyst explicitly wanted.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Forking one saved session into two branches (CLI)

TEXT
# baseline session id comes from the triage run
claude --resume 7c1e-triage --fork-session -p "Evaluate containment plan one: isolate the affected subnet."
claude --resume 7c1e-triage --fork-session -p "Evaluate containment plan two: rotate all credentials, keep services running."

Each command resumes the same saved triage session but forks it, so each run gets a new session id whose history starts as a copy of the timeline. Neither branch writes into the original or sees the other.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

How do you test two alternatives from the same analysis without mixing them?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Fork, resume, or start fresh? Study: Sessions, forking, and spawning — the mechanics the exam names

Study: Fork, resume, or start fresh? Study: Sessions, forking, and spawning — the mechanics the exam names Checkpoint Context isolation Agent SDK

Return to Q229's situation and clause-by-clause explanation

Q230. During a long session tuning a pricing service, operations roll back a deployment and several configuration files on disk change. The agent keeps quoting the old values it read an hour ago. A teammate says, "Just tell it to reread the changed files." Why is that alone unlikely to fully fix the problem? A) The context window is already full, so any new file contents are silently dropped before the model sees them. B) Rereading works fully; the agent simply needs extended thinking enabled to notice that the values changed. C) The earlier reads stay in the conversation beside the new ones, so the agent can still anchor on the outdated values in later reasoning. D) File tools cache results for the lifetime of a session, so a reread returns the same stale content.

Understand Q230 · the situation and each part of the question

The real situation behind this question

A pricing engineer has spent an afternoon with an agent tuning discount rules. A production incident forced operations to roll back the latest deployment, which reverted several configuration files. The agent is now recommending changes against values that no longer exist, which could ship a pricing mistake to customers. The team wants to understand why a quick reread might not be enough before choosing a recovery.

Read the question in parts

Part 1 · keeps quoting the old values it read an hour ago

Stale tool results are still active in context and still shaping answers.

Part 2 · Why is that alone unlikely to fully fix the problem

The question asks for the mechanism behind the failure, not just a recovery step.

What you are being asked to decide

Why doesn't rereading changed files fully cure stale context? Tests understanding that stale tool results persist in history and how to recover.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Messages arraythe growing history where the old file reads still sit after a reread
Context windoweverything the model sees each turn, now containing two versions of each file

Study: Fork, resume, or start fresh? Context window Compaction Messages array

Understand Q230's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Tool results stay in the conversation, so rereading adds current values without removing old ones. When stale reads are widespread, start a fresh session seeded with the decisions that still hold and read the current files there; a fork would copy the stale history along.

Connect the design to the situation

A rollback changed config files an agent read an hour earlier.

Best answer: C. A reread appends current file contents while the stale reads, and everything reasoned from them, stay in context. The agent can keep anchoring on the old values. Starting fresh with a summary of the decisions that still hold, then reading the current files, removes the conflict.

What each choice would do here

A · Why this does not meet the full requirement

The context window is already full, so any new file contents are silently dropped before the model sees them.

A full window produces errors or compaction, not silent dropping of new tool results.

If the conversation were at its limit, the request would fail or the runtime would compact older content. Nothing in the situation suggests that, and rereading would still deliver current contents to the model.

B · Why this does not meet the full requirement

Rereading works fully; the agent simply needs extended thinking enabled to notice that the values changed.

More reasoning does not remove conflicting evidence from context.

Extended thinking might help the agent reconcile the two versions sometimes, but it still reasons over a history full of stale reads and conclusions drawn from them. Removing the stale material is more reliable than hoping the model sorts it out.

C · Why this meets the requirement

The earlier reads stay in the conversation beside the new ones, so the agent can still anchor on the outdated values in later reasoning.

Right: rereading appends; it does not remove the stale observations.

The context now holds two versions of the same files, and older content has been reinforced by an hour of reasoning built on it. A fresh session carrying a summary of still-valid decisions, followed by current reads, removes the conflict.

D · Why this does not meet the full requirement

File tools cache results for the lifetime of a session, so a reread returns the same stale content.

A reread returns current disk contents; there is no session-long file cache.

The read tool fetches the file as it is now, so the new values do arrive. The trouble is that the old values also remain in history, not that the reread is served from a cache.

Check your understanding · explain the design in your own words

Why doesn't rereading changed files fully cure stale context?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Fork, resume, or start fresh?

Study: Fork, resume, or start fresh? Context window Compaction Messages array

Return to Q230's situation and clause-by-clause explanation

Q231. A due-diligence system produces a memo on an acquisition target. The coordinator's review finds that one revenue figure has no source and the question about pending litigation was never answered; everything else is solid. Which next step keeps the good work and closes the holes? A) Ask the synthesis worker to supply the revenue source and litigation status from what it already knows. B) Send narrowly scoped follow-up tasks for the unsourced revenue figure and the litigation question, then rerun synthesis with the new findings. C) Discard the memo and rerun every worker with a longer, more detailed brief. D) Mark the two gaps as unverified and deliver the memo, letting the client's analysts chase the missing evidence.

Understand Q231 · the situation and each part of the question

The real situation behind this question

A private-equity firm uses the system to screen acquisition targets before committing lawyers and bankers. A memo with an unsourced revenue figure or a missing litigation check could lead to a bad bid. Most of this memo is solid, and the deal team wants it quickly. The coordinator must close two holes without delaying everything or letting unsupported claims through.

Read the question in parts

Part 1 · one revenue figure has no source

A specific evidence gap that needs new retrieval, not rewording.

Part 2 · everything else is solid

The verified sections should be preserved, which argues against a full restart.

What you are being asked to decide

What does the coordinator do when a mostly good synthesis has two specific gaps? Tests targeted re-delegation to fill gaps before re-synthesis.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Provenanceeach claim in the memo must point to a source, which the revenue figure lacks
Hallucination vs retrievalasking synthesis to fill gaps from memory invites invention; follow-up research retrieves

Study: Evaluator-optimizer: follow one draft Study: Coordinator communication from plan to final report Evaluator-optimizer Provenance Hallucination vs retrieval

Understand Q231's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Specific gaps need specific evidence. The coordinator sends targeted follow-up research to workers that can retrieve it, then re-runs synthesis, keeping everything that was already verified.

Connect the design to the situation

An acquisition memo lacks a source for revenue and an answer on litigation.

Best answer: B. Two specific holes call for two specific follow-ups, not a restart and not an answer from a synthesis step that has no way to search. Re-delegating targeted research and then re-running synthesis keeps the verified work and fills the gaps with evidence.

What each choice would do here

A · Why this does not meet the full requirement

Ask the synthesis worker to supply the revenue source and litigation status from what it already knows.

Synthesis has no research tools, so this invites invented citations.

The synthesis worker only has the findings it was given. Asking it to fill evidence gaps pushes it toward plausible-sounding sources and a guessed litigation status, which is the worst outcome in due diligence.

B · Why this meets the requirement

Send narrowly scoped follow-up tasks for the unsourced revenue figure and the litigation question, then rerun synthesis with the new findings.

Right: targeted re-delegation fills exactly the gaps and preserves the rest.

Research workers with search and filing access can find the revenue source and court records. Synthesis then updates the memo with evidence instead of guesses, and the verified sections are left untouched.

C · Why this does not meet the full requirement

Discard the memo and rerun every worker with a longer, more detailed brief.

A full restart throws away verified work to fix two specific holes.

Most of the memo is sound. Rerunning everything costs time and tokens, risks new inconsistencies in sections that were fine, and may still leave the same two gaps if the briefs do not target them.

D · Why this does not meet the full requirement

Mark the two gaps as unverified and deliver the memo, letting the client's analysts chase the missing evidence.

Flagging gaps is honest but pushes the system's job onto the client.

Labelling the holes avoids false claims, which is better than inventing them, but the coordinator has workers that can close these gaps now. Delivering incomplete diligence shifts risk to the buyer without need.

Check your understanding · explain the design in your own words

What does the coordinator do when a mostly good synthesis has two specific gaps?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Evaluator-optimizer: follow one draft Study: Coordinator communication from plan to final report

Study: Evaluator-optimizer: follow one draft Study: Coordinator communication from plan to final report Evaluator-optimizer Provenance Hallucination vs retrieval

Return to Q231's situation and clause-by-clause explanation

Q232. An insurance intake agent is meant only to collect and verify policy details, but it has eleven tools, including approve_payout, draft_denial_letter and score_fraud_risk. In testing it sometimes drafts denial letters during intake. A system-prompt warning has already been tried. Which fix removes the cause rather than the symptom? A) Give the intake agent only its collection and verification tools, and move payout, denial and fraud tools to the adjudication agent. B) Strengthen the system prompt with a bold rule that the intake agent must never use adjudication tools. C) Keep all eleven tools but add a hook that rejects adjudication tool calls coming from the intake agent. D) Rewrite the adjudication tools' descriptions to say they are only for use after intake is complete.

Understand Q232 · the situation and each part of the question

The real situation behind this question

An insurer is automating first notice of loss. The intake agent should gather and verify details, then hand off to adjudication. In testing it occasionally drafted denial letters on day one of a claim, which would be a regulatory and reputational disaster if it reached a customer. The team already tried a stern instruction and wants a fix that addresses why this happens.

Read the question in parts

Part 1 · eleven tools

The agent's menu is much larger than its role, which is the underlying cause.

Part 2 · removes the cause rather than the symptom

The answer must change what the agent can choose, not just catch or discourage the wrong choice.

What you are being asked to decide

How do you stop an agent from using tools that belong to another role? Tests scoping each agent's tool menu to its role.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Least-privilege toolinggiving the intake agent only collection and verification tools
Capability bloateleven tools on an agent whose job needs three or four

Study: Decision rule: scope the menu to the role, then enforce it in code Study: A tool menu is not an execution sequence Least-privilege tooling Tool selection Capability bloat

Understand Q232's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The number and kind of tools an agent sees shape what it does. Give the intake agent only its intake tools and let adjudication own the rest; keep hooks as a backstop, not as the primary fix.

Connect the design to the situation

An intake agent drafts denial letters because it can see a denial tool.

Best answer: A. The intake agent drafts denials because it can see a tool for it. A prompt warning has already failed, and a hook only rejects the call after the wrong choice is made. Scoping the menu to the role removes the choice itself.

What each choice would do here

A · Why this meets the requirement

Give the intake agent only its collection and verification tools, and move payout, denial and fraud tools to the adjudication agent.

Right: removing out-of-role tools removes the wrong choices from the menu.

With only collection and verification tools visible, the intake agent cannot choose to draft a denial, and its tool selection gets easier. The adjudication agent keeps the tools where they belong.

B · Why this does not meet the full requirement

Strengthen the system prompt with a bold rule that the intake agent must never use adjudication tools.

A prompt rule was already tried; the tools remain visible and callable.

Instructions compete with tool descriptions the model sees every turn. Having already failed once, a louder version is still guidance rather than a structural change, and the tools stay on the menu.

C · Why this does not meet the full requirement

Keep all eleven tools but add a hook that rejects adjudication tool calls coming from the intake agent.

A hook blocks the call after the model has already chosen wrongly.

Blocking prevents damage, which is useful as defence in depth, but the agent still spends turns choosing forbidden tools and then recovering from rejections. The menu still invites the wrong action.

D · Why this does not meet the full requirement

Rewrite the adjudication tools' descriptions to say they are only for use after intake is complete.

Better descriptions help, but the tools remain on a menu they should not be on.

Clearer descriptions might reduce misuse somewhat, yet the intake agent still sees and can call approve_payout. The cleanest fix for a role mismatch is to take those tools off its menu entirely.

Check your understanding · explain the design in your own words

How do you stop an agent from using tools that belong to another role?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Decision rule: scope the menu to the role, then enforce it in code Study: A tool menu is not an execution sequence

Study: Decision rule: scope the menu to the role, then enforce it in code Study: A tool menu is not an execution sequence Least-privilege tooling Tool selection Capability bloat

Return to Q232's situation and clause-by-clause explanation

Q233. A release pipeline uses three generator subagents: one writes the iOS client, one the Android client, and one the shared API contract. After a run, Android sends timestamps as epoch milliseconds, iOS sends ISO strings, and the contract expects ISO strings. Each generator's output is internally consistent. Where should the consistency check live? A) In the coordinator's own planning turn, with extended thinking enabled so it can compare the three outputs itself. B) In a dedicated reviewer that receives all three outputs from the coordinator and checks only cross-component agreement. C) In each generator, by letting it browse the other generators' working directories while it runs. D) In each generator, re-prompted with an instruction to match the other platforms' formats before returning.

Understand Q233 · the situation and each part of the question

The real situation behind this question

A mobile team generates both native clients and the API contract with separate subagents to move fast. Each output looks fine on its own, but integration keeps failing on small mismatches like timestamp formats. Every failure costs a slow integration run and a debugging session. The team wants mismatches caught right after generation, and needs to decide which component should own that check.

Read the question in parts

Part 1 · Each generator's output is internally consistent

Individual generators are not the problem; the failures are between them.

Part 2 · Where should the consistency check live

The question asks which component owns the check, which must be one that sees all outputs.

What you are being asked to decide

Where should you check that separately generated parts agree with each other? Tests adding a dedicated cross-output validation step.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Hub-and-spokegenerators never see each other, so the coordinator must gather outputs for any comparison
Context isolationwhy no single generator can notice the mismatch on its own

Study: Diagnose the earliest evidenced failure Study: What does single-purpose mean? Subagent Hub-and-spoke Context isolation

Understand Q233's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Cross-component bugs need a check that sees all components. Have the coordinator pass every output to a single-purpose reviewer that looks only for disagreements, so mismatches are caught before integration.

Connect the design to the situation

iOS and Android clients disagree on timestamp format with each other and the API.

Best answer: B. Each generator was right in isolation, and every error sits between components. Only a step that receives all three outputs can check agreement, and giving that check its own reviewer keeps it focused and out of the coordinator's planning context.

What each choice would do here

A · Why this does not meet the full requirement

In the coordinator's own planning turn, with extended thinking enabled so it can compare the three outputs itself.

The coordinator can do this, but mixing review into planning dilutes both.

Loading three full code outputs into the coordinator crowds its context and adds a detailed review to a role meant for routing. A separate reviewer with a single purpose is more focused and easier to test.

B · Why this meets the requirement

In a dedicated reviewer that receives all three outputs from the coordinator and checks only cross-component agreement.

Right: only a step that sees every output together can check agreement between them.

A reviewer with one job compares field names, formats and endpoints across the three outputs. It catches the timestamp mismatch before integration tests, and its focused brief makes it more reliable than a side task.

C · Why this does not meet the full requirement

In each generator, by letting it browse the other generators' working directories while it runs.

Workers reading each other's in-progress files creates races and coupling.

The generators run concurrently, so each would see half-finished files from the others. Consistency would depend on timing, and responsibility for the check would be spread across three agents instead of one.

D · Why this does not meet the full requirement

In each generator, re-prompted with an instruction to match the other platforms' formats before returning.

No generator can see the others' output, so the instruction cannot be followed.

Telling the Android generator to match iOS is meaningless when it has never seen the iOS code. Each generator will simply reassert its own assumptions and report that it is consistent.

Check your understanding · explain the design in your own words

Where should you check that separately generated parts agree with each other?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Diagnose the earliest evidenced failure Study: What does single-purpose mean?

Study: Diagnose the earliest evidenced failure Study: What does single-purpose mean? Subagent Hub-and-spoke Context isolation

Return to Q233's situation and clause-by-clause explanation

Q234. A database team's coordinator runs a migration-writer subagent and then a rollback-writer subagent for each ticket. Reviewers notice the rollback scripts reliably undo what each ticket describes, but miss extra changes the migration writer actually made, such as an index it added for performance. What explains the pattern? A) The tickets are too vague; more precise tickets would keep both scripts in agreement. B) The rollback writer lacks a database connection to inspect the live schema after the migration runs. C) The two writers run on different model tiers and therefore interpret the ticket differently. D) The rollback writer receives only the ticket, never the migration script the first writer produced.

Understand Q234 · the situation and each part of the question

The real situation behind this question

A database platform team automates schema changes. Each ticket gets a migration and a matching rollback, and the rollback is the safety net if a deploy goes wrong. Reviewers discovered rollbacks that would leave behind indexes and columns the migration quietly added. In an incident, an incomplete rollback could leave production in an unknown state, so the team wants to find the root cause.

Read the question in parts

Part 1 · reliably undo what each ticket describes

The rollbacks track the ticket, which reveals what the rollback writer is using as its input.

Part 2 · extra changes the migration writer actually made

Changes beyond the ticket are visible only in the migration output, which the rollback writer lacks.

What you are being asked to decide

Why do rollback scripts match the ticket but not the actual migration? Tests that dependent workers need the real upstream artefact, not just the spec.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Handoffthe rollback brief, which must contain the generated migration, not only the ticket
Orchestratorthe coordinator that holds the migration and must forward it

Study: Coordinator handoffs: wait, pass context, then continue Study: Why running sequentially is necessary here but not sufficient Handoff Subagent Orchestrator

Understand Q234's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Running steps in order is not enough; the later step must receive the earlier step's actual output. Put the generated migration in the rollback writer's brief so it reverses what was really done.

Connect the design to the situation

Rollbacks miss an index the migration writer added beyond the ticket.

Best answer: D. The rollbacks follow the ticket because the ticket is all the rollback writer ever saw; it never received the migration. Better tickets or matched models cannot expose changes that only exist in the migration script, so the coordinator must pass the actual migration into the rollback brief.

What each choice would do here

A · Why this does not meet the full requirement

The tickets are too vague; more precise tickets would keep both scripts in agreement.

Better tickets help planning but cannot capture changes the migration writer adds on its own.

The migration writer legitimately adds things like performance indexes that no ticket mentions. However precise the ticket, the rollback writer still reverses the ticket, not the migration, unless it sees the migration.

B · Why this does not meet the full requirement

The rollback writer lacks a database connection to inspect the live schema after the migration runs.

The rollback is written before deployment, and the needed input already exists as the migration script.

A live connection is unnecessary and risky here. The coordinator holds the exact migration text, which lists every change. Handing that over is simpler and safer than having the rollback writer query production.

C · Why this does not meet the full requirement

The two writers run on different model tiers and therefore interpret the ticket differently.

A tier difference would produce varied mismatches, not a consistent blind spot for extra changes.

The pattern is systematic: rollbacks match the ticket and miss additions beyond it. That points to what the rollback writer is given, not how capable it is. Aligning models would not reveal the unseen index.

D · Why this meets the requirement

The rollback writer receives only the ticket, never the migration script the first writer produced.

Right: it can only reverse what it was shown, which is the ticket.

The rollback matches the ticket exactly because the ticket is its only input. Any extra change the migration writer made is invisible to it, so the fix is passing the generated migration into the rollback brief.

Check your understanding · explain the design in your own words

Why do rollback scripts match the ticket but not the actual migration?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Coordinator handoffs: wait, pass context, then continue Study: Why running sequentially is necessary here but not sufficient

Study: Coordinator handoffs: wait, pass context, then continue Study: Why running sequentially is necessary here but not sufficient Handoff Subagent Orchestrator

Return to Q234's situation and clause-by-clause explanation

Q235. An IT help-desk agent runs a fourteen-question diagnostic interview (operating system, network, recent updates, log excerpts) on every ticket, including "Please reset my password". Staff rate the assistant as exhausting, yet for real outages the full interview is what engineers need. Which change serves both kinds of ticket? A) Triage each ticket by type first and pick the interview depth from that type: none for a password reset, the full diagnostic for an outage. B) Shorten the wording of each of the fourteen questions so the interview is quicker to answer. C) Drop the interview and require staff to complete a detailed form before any ticket is accepted. D) Cap the interview at four questions for every ticket.

Understand Q235 · the situation and each part of the question

The real situation behind this question

A company rolled out an AI help desk to cut ticket times. Employees now complain it interrogates them over trivial requests, and adoption is dropping. At the same time, the infrastructure team says the detailed interview is exactly what makes outage tickets actionable. The help-desk lead needs one change that reduces friction without losing the diagnostic depth engineers value, and without asking staff to change how they file tickets.

Read the question in parts

Part 1 · on every ticket

One flow is applied regardless of type, which is the root of the friction.

Part 2 · serves both kinds of ticket

The fix must keep deep questioning for outages while removing it for simple requests.

What you are being asked to decide

How do you keep clarification light for simple tickets and deep for hard ones? Tests classifying requests before choosing processing depth.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Workflow routingsorting tickets by type so each goes to a flow of the right depth
Requirement gatheringthe diagnostic interview, whose depth should match the ticket

Study: The five workflow patterns (parallelization comes in two flavors) Workflow routing Requirement gathering Workflow

Understand Q235's answer · full reasoning and worked examples
Claude synthesized · the point, straight

When requests vary widely, classify first and route each type to the right depth of processing. A single flow, capped or not, will always be wrong for one end of the range.

Connect the design to the situation

A password reset triggers the same fourteen-question interview as an outage.

Best answer: A. Staff are frustrated because one heavy interview runs on every ticket, whatever its type. A global cap under-serves outages, a form moves the friction to the start, and shorter questions keep the same count. Classifying first lets each ticket get the depth it needs.

What each choice would do here

A · Why this meets the requirement

Triage each ticket by type first and pick the interview depth from that type: none for a password reset, the full diagnostic for an outage.

Right: classification lets each ticket get the depth it actually needs.

A password reset goes straight to the reset flow, a printer issue gets a short interview, and an outage gets all fourteen questions. Friction drops for simple tickets without starving engineers of detail on complex ones.

B · Why this does not meet the full requirement

Shorten the wording of each of the fourteen questions so the interview is quicker to answer.

Shorter questions reduce reading time but keep the wrong number of questions.

A password reset still triggers fourteen questions, just terser ones. The problem is that one flow is applied to every ticket, not that individual questions are too long.

C · Why this does not meet the full requirement

Drop the interview and require staff to complete a detailed form before any ticket is accepted.

This moves all the friction to the start and applies it to every ticket.

Every employee now fills in a long form, even for a password reset, and ambiguous outage reports still arrive without the right detail. It removes adaptive questioning where it helps most.

D · Why this does not meet the full requirement

Cap the interview at four questions for every ticket.

A uniform cap still over-asks simple tickets and under-asks outages.

A password reset still gets four unnecessary questions, while an outage loses ten questions engineers rely on. The cap trades one mismatch for another because it ignores the type of ticket.

Check your understanding · explain the design in your own words

How do you keep clarification light for simple tickets and deep for hard ones?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: The five workflow patterns (parallelization comes in two flavors)

Study: The five workflow patterns (parallelization comes in two flavors) Workflow routing Requirement gathering Workflow

Return to Q235's situation and clause-by-clause explanation

Q236. An agent must write a SQL query whose output matches a finance team's reference report. On each retry it writes a brand-new query from scratch, and after eight attempts the mismatch persists in different places each time. What input is the retry loop missing? A) A system-prompt reminder to fix the previous attempt rather than start over. B) A higher retry ceiling so the agent has more attempts to land on a matching query. C) A lower temperature so each fresh attempt is more deterministic. D) The previous query together with the specific rows where its output differed from the reference.

Understand Q236 · the situation and each part of the question

The real situation behind this question

A finance team wants to automate a monthly revenue report that analysts currently build by hand. The agent's query must reproduce their reference numbers exactly before anyone will trust it. After eight attempts the numbers are still wrong, and each attempt is wrong in a new way. The team is burning budget and needs to understand why the loop is not getting closer.

Read the question in parts

Part 1 · writes a brand-new query from scratch

Each attempt ignores the previous one, which shows the loop does not carry prior work forward.

Part 2 · mismatch persists in different places each time

Errors move around rather than shrink, the signature of blind regeneration.

What you are being asked to decide

What must each retry receive for an iterative fix loop to converge? Tests carrying the prior attempt and failure details into the next iteration.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Evaluator-optimizerone step produces a query, another compares it to the reference and feeds back the diff
Feedback loop architecturedesigning each iteration to receive the last attempt and exactly what failed

Study: Evaluator-optimizer: follow one draft Evaluator-optimizer Feedback loop architecture Messages array

Understand Q236's answer · full reasoning and worked examples
Claude synthesized · the point, straight

A loop only converges when each iteration can see what it tried and exactly how that failed. Pass the previous query and the mismatching rows into the next attempt, so the agent repairs instead of restarting.

Connect the design to the situation

A SQL-writing agent restarts from scratch on every retry and never matches the report.

Best answer: D. The agent rewrites from scratch because each retry starts with no memory of the last query or of where it went wrong. Feeding in the previous query and the rows that differed turns the loop into repair. More retries, lower temperature or a reminder cannot supply information that is not in the prompt.

What each choice would do here

A · Why this does not meet the full requirement

A system-prompt reminder to fix the previous attempt rather than start over.

The agent cannot fix an attempt it has not been shown.

If the prior query and its failures are not in the prompt, the instruction has nothing to act on. The agent would comply in spirit by writing another new query that it believes is an improvement.

B · Why this does not meet the full requirement

A higher retry ceiling so the agent has more attempts to land on a matching query.

More blind attempts do not converge any faster.

Each attempt is independent of the last, so additional retries just sample more random queries. Without knowing what went wrong before, the agent has no reason to get closer on the ninth try.

C · Why this does not meet the full requirement

A lower temperature so each fresh attempt is more deterministic.

Determinism makes attempts repeat, not improve.

At low temperature the agent may produce the same wrong query repeatedly. The problem is missing feedback, not randomness, so reducing variation can make convergence even less likely.

D · Why this meets the requirement

The previous query together with the specific rows where its output differed from the reference.

Right: the prior attempt plus the concrete diff turns regeneration into targeted repair.

With the last query and the mismatching rows in front of it, the agent can see that, say, refunds were double-counted and adjust one join. Each iteration builds on the last instead of starting over.

Check your understanding · explain the design in your own words

What must each retry receive for an iterative fix loop to converge?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Evaluator-optimizer: follow one draft

Study: Evaluator-optimizer: follow one draft Evaluator-optimizer Feedback loop architecture Messages array

Return to Q236's situation and clause-by-clause explanation

Q237. An e-commerce operations assistant spawns inventory, pricing and fraud specialists for every request. Asking "How many units of the blue kettle are in stock?" takes as long and costs as much as "Why did our margin drop last week?", which genuinely needs all three. Which statement about the redesign is exactly right? A) The cheapest fix is to keep all three specialists on every request but have them share one cached context. B) Because the margin investigation needs all three specialists, the stock lookup must also run them to keep output formats consistent. C) The coordinator should improvise a fresh architecture for each request, since no single policy can cover both kinds. D) The selection rule is designed once into the coordinator, and each request is assessed so the rule decides which specialists that request actually runs.

Understand Q237 · the situation and each part of the question

The real situation behind this question

An online retailer's operations staff use the assistant dozens of times a day. Most questions are simple lookups; a few are real investigations that need inventory, pricing and fraud analysis together. Simple lookups currently take many seconds and cost as much as an investigation. The platform lead wants a redesign that stays predictable enough to test and audit while fitting each request.

Read the question in parts

Part 1 · spawns inventory, pricing and fraud specialists for every request

The current design runs a fixed full pipeline, which is what needs to change.

Part 2 · Which statement about the redesign is exactly right

The question tests the precise relationship between fixed policy and per-request behaviour.

What you are being asked to decide

Is specialist selection a fixed design or a per-request decision? Tests separating a fixed routing policy from per-request dispatch.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Workflow routingthe fixed rule that maps an assessed request to the specialists it needs
Orchestratorthe coordinator that assesses each request and applies that rule

Study: The five workflow patterns (parallelization comes in two flavors) Study: Choosing the simplest sufficient design Workflow routing Orchestrator Subagent

Understand Q237's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Design the routing policy once, in the coordinator, and apply it to every request. The policy is fixed, the branch it takes is decided per request, so simple lookups stay cheap and investigations stay thorough.

Connect the design to the situation

A stock lookup runs the same three specialists as a margin investigation.

Best answer: D. The rule should be fixed and designed into the coordinator, with each request assessed so the rule picks only the specialists it needs. Improvising a new structure per request makes behaviour unpredictable, and caching still runs all three specialists.

What each choice would do here

A · Why this does not meet the full requirement

The cheapest fix is to keep all three specialists on every request but have them share one cached context.

Sharing context still runs every specialist on every request.

A shared cache might trim some input cost, but three specialists still start, reason and respond for a one-line stock question. It also breaks the isolation that keeps each specialist focused.

B · Why this does not meet the full requirement

Because the margin investigation needs all three specialists, the stock lookup must also run them to keep output formats consistent.

Output consistency does not require running unneeded specialists.

The response format can be standardised by the coordinator regardless of how many specialists contributed. Running pricing and fraud for a stock count adds cost and delay without adding information.

C · Why this does not meet the full requirement

The coordinator should improvise a fresh architecture for each request, since no single policy can cover both kinds.

Improvised architecture per request is unpredictable and hard to test.

Letting the coordinator invent a new structure every time makes cost and behaviour vary unpredictably. One stable policy can easily cover both kinds of request by selecting specialists based on assessment.

D · Why this meets the requirement

The selection rule is designed once into the coordinator, and each request is assessed so the rule decides which specialists that request actually runs.

Right: fixed policy, per-request dispatch.

The coordinator applies the same rule to every request: a stock lookup goes to inventory alone, a margin investigation goes to all three. Behaviour is predictable and testable, yet each request pays only for what it needs.

Check your understanding · explain the design in your own words

Is specialist selection a fixed design or a per-request decision?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: The five workflow patterns (parallelization comes in two flavors) Study: Choosing the simplest sufficient design

Study: The five workflow patterns (parallelization comes in two flavors) Study: Choosing the simplest sufficient design Workflow routing Orchestrator Subagent

Return to Q237's situation and clause-by-clause explanation

Q238. A localisation coordinator reviews four independent translation files (French, German, Japanese and Portuguese), delegating one per turn and waiting for each reviewer to finish before starting the next. Each review takes about 40 seconds, so the full pass takes nearly three minutes. What should the coordinator do differently in its output? A) Raise each reviewer's max_tokens so it can finish in a single turn. B) Emit all four review delegations as tool_use blocks in the same assistant response, so a runtime that executes them concurrently runs them together. C) Keep one delegation per turn but shorten each reviewer's prompt so it responds faster. D) Merge the four languages into one reviewer so there is only one handoff.

Understand Q238 · the situation and each part of the question

The real situation behind this question

A software company ships each release in four languages, and translation review is the last step before launch. Product managers are waiting on a three-minute review pass several times a day during release week. None of the reviews depends on another, and the coordinator currently runs them strictly in order. The team wants to cut wait time without weakening each review.

Read the question in parts

Part 1 · four independent translation files

Independence means no review needs another's output, so they can safely overlap.

Part 2 · delegating one per turn and waiting for each reviewer to finish

The coordinator serialises independent work, which is the latency cause.

What you are being asked to decide

How does a coordinator make independent subagents run at the same time? Tests emitting multiple delegation calls in one response for concurrency.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Parallelizationrunning the four language reviews concurrently because none depends on another
tool_use blockone delegation request; four of them in a single response can run together

Study: Two axes, two owners — control flow vs throughput (the trap that costs points) Study: The five workflow patterns (parallelization comes in two flavors) Parallelization tool_use block Latency

Understand Q238's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Independent work should be requested together. Emit every delegation in one response so the runtime can run them concurrently, and latency approaches the slowest single task instead of the sum.

Connect the design to the situation

Four independent translation reviews run one at a time.

Best answer: B. The four reviews do not depend on each other, yet each waits for the previous one to finish. Putting all four delegations in one response lets the runtime run them at the same time. Shorter prompts or a bigger max_tokens make each review a little faster but keep them in sequence.

What each choice would do here

A · Why this does not meet the full requirement

Raise each reviewer's max_tokens so it can finish in a single turn.

A larger output cap does not change when reviews start.

If reviewers were being truncated, a bigger budget might help, but the problem is that each one waits for the previous to finish. Four sequential reviews still add up to about three minutes.

B · Why this meets the requirement

Emit all four review delegations as tool_use blocks in the same assistant response, so a runtime that executes them concurrently runs them together.

Right: independent calls in one response can run in parallel.

With four delegations in one response, a runtime such as the Agent SDK can run the reviewers at the same time. Wall-clock time drops toward the slowest single review, around 40 seconds, instead of the sum.

C · Why this does not meet the full requirement

Keep one delegation per turn but shorten each reviewer's prompt so it responds faster.

Shorter prompts trim seconds; the reviews still run one after another.

Even if each review drops to 30 seconds, four in sequence still take two minutes. The dominant cost is serial ordering of independent work, which this change does not touch.

D · Why this does not meet the full requirement

Merge the four languages into one reviewer so there is only one handoff.

One reviewer processes the languages serially inside a larger context.

A single reviewer would work through four languages in one long context, which is still sequential and risks weaker attention per language. It removes handoffs but not the serial bottleneck.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

One assistant response carrying four delegations

JSON
{
 "role": "assistant",
 "content": [
  {
   "type": "text",
   "text": "Reviewing all four locales in parallel."
  },
  {
   "type": "tool_use",
   "id": "toolu_fr",
   "name": "Agent",
   "input": {
    "description": "Review French strings",
    "prompt": "Review locales/fr.json against the glossary; return issues as a list."
   }
  },
  {
   "type": "tool_use",
   "id": "toolu_de",
   "name": "Agent",
   "input": {
    "description": "Review German strings",
    "prompt": "Review locales/de.json against the glossary; return issues as a list."
   }
  },
  {
   "type": "tool_use",
   "id": "toolu_ja",
   "name": "Agent",
   "input": {
    "description": "Review Japanese strings",
    "prompt": "Review locales/ja.json against the glossary; return issues as a list."
   }
  },
  {
   "type": "tool_use",
   "id": "toolu_pt",
   "name": "Agent",
   "input": {
    "description": "Review Portuguese strings",
    "prompt": "Review locales/pt.json against the glossary; return issues as a list."
   }
  }
 ]
}

Four tool_use blocks in one response let the runtime schedule the reviewers concurrently. The delegation tool is named Agent in current SDK docs (Task in older material). The next user message returns four tool_result blocks, one per id.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

How does a coordinator make independent subagents run at the same time?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Two axes, two owners — control flow vs throughput (the trap that costs points) Study: The five workflow patterns (parallelization comes in two flavors)

Study: Two axes, two owners — control flow vs throughput (the trap that costs points) Study: The five workflow patterns (parallelization comes in two flavors) Parallelization tool_use block Latency

Return to Q238's situation and clause-by-clause explanation

Q239. A team asks an agent, in one instruction, to internationalise a 25-screen app: find every hard-coded string, replace each with a translation key, and reconcile duplicate keys across screens. The result is inconsistent: some screens are clean, others keep hard-coded text, and the same phrase gets different keys on different screens. Which explanation best accounts for this? A) The prompt lacked examples; two well-chosen examples in the single instruction would make every screen consistent. B) The response was truncated, so a larger max_tokens would have let the agent finish consistently. C) The model cannot edit more than a few files per request, so the work should be split only by file count. D) One instruction asked for three different jobs across 25 screens at once, so attention per job thinned; each stage needs its own focused pass.

Understand Q239 · the situation and each part of the question

The real situation behind this question

A startup is preparing to launch in three new markets and must internationalise its app first. The team hoped one instruction would do the whole job in an afternoon. Instead, translators received a key file with duplicate and conflicting keys, and several screens still show English text. The lead wants to understand why the single pass failed before trying again.

Read the question in parts

Part 1 · in one instruction

All stages were combined, which is the design choice under examination.

Part 2 · the same phrase gets different keys on different screens

Cross-screen conflicts need a global reconciliation step that the single pass never gave focus to.

What you are being asked to decide

Why does one big multi-stage instruction give inconsistent results? Tests recognising when to chain focused stages instead of one broad prompt.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Prompt chaininginventory, then per-screen replacement, then cross-screen reconciliation, each its own step
Decompositionsplitting by stage because each stage has a different job and scope

Study: A known sequence is a chain, not delegation Study: What does single-purpose mean? Prompt chaining Decomposition Workflow

Understand Q239's answer · full reasoning and worked examples
Claude synthesized · the point, straight

When work has distinct stages, give each stage its own focused pass. Chain inventory, per-screen replacement and a global reconciliation step rather than asking one prompt to do everything at once.

Connect the design to the situation

An app's string extraction, key replacement and dedupe done in one pass come out inconsistent.

Best answer: D. Three different jobs across 25 screens in one instruction thin out attention, so some screens come out clean and others do not. Duplicate keys can only be reconciled by a pass that sees every screen. Splitting the work into its natural stages gives each job a focused pass; examples or more tokens do not.

What each choice would do here

A · Why this does not meet the full requirement

The prompt lacked examples; two well-chosen examples in the single instruction would make every screen consistent.

Examples improve format but do not split three jobs into focused passes.

Examples might make individual replacements neater, yet the agent is still juggling discovery, editing and cross-screen deduplication together. The duplicate-key problem, which needs a global view, would remain.

B · Why this does not meet the full requirement

The response was truncated, so a larger max_tokens would have let the agent finish consistently.

Truncation would cut off the end, not produce scattered inconsistency.

If output ran out, later screens would be missing entirely. Here screens are present but handled inconsistently and keys conflict, which points to divided attention rather than a length limit.

C · Why this does not meet the full requirement

The model cannot edit more than a few files per request, so the work should be split only by file count.

There is no such fixed file limit, and splitting by count ignores the stages.

Batching screens might reduce load, but each batch would still mix discovery, replacement and reconciliation, and reconciliation across batches would never happen. The natural split is by stage, not by count.

D · Why this meets the requirement

One instruction asked for three different jobs across 25 screens at once, so attention per job thinned; each stage needs its own focused pass.

Right: a chain of single-purpose stages matches the work's natural structure.

Inventory first, then per-screen replacement, then a cross-screen reconciliation pass gives each job full attention. Duplicate keys get resolved in the stage designed for exactly that, instead of being an afterthought mid-edit.

Check your understanding · explain the design in your own words

Why does one big multi-stage instruction give inconsistent results?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: A known sequence is a chain, not delegation Study: What does single-purpose mean?

Study: A known sequence is a chain, not delegation Study: What does single-purpose mean? Prompt chaining Decomposition Workflow

Return to Q239's situation and clause-by-clause explanation

Q240. A product analyst spent an hour in an agent session building a churn analysis of subscription cohorts. She now wants to test two pricing ideas, an annual-plan discount and a usage-based tier, each starting from that analysis, without either exploration influencing the other. Which statement about using a session fork for this is correct? A) A fork keeps only a compacted summary of the original session, trading detail for isolation. B) A fork is equivalent to resuming; both simply append new turns to the original session's history. C) A fork creates a new session whose history begins as a copy of the original at the fork point, so each branch keeps the full analysis and neither sees the other's later turns. D) A fork shares one live history, so turns in either branch appear in both and keep them in sync.

Understand Q240 · the situation and each part of the question

The real situation behind this question

A subscription company is losing customers, and the pricing committee meets next week. The analyst's churn analysis took an hour of queries and reasoning. She must present two pricing options, and the committee needs to trust that each was judged on its own merits, not shaped by conclusions drawn while exploring the other. She is deciding how to structure the sessions.

Read the question in parts

Part 1 · each starting from that analysis

Both explorations need the full baseline, so a summary would lose detail.

Part 2 · without either exploration influencing the other

After the branch point the histories must be separate, which rules out resuming one session twice.

What you are being asked to decide

What exactly does forking a session give you? Tests the precise semantics of a session fork versus resume.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Checkpointthe finished churn analysis, where both branches begin
Agent SDKthe runtime that forks a saved session when resuming with the fork option

Study: Fork, resume, or start fresh? Study: Sessions, forking, and spawning — the mechanics the exam names Checkpoint Context isolation Agent SDK

Understand Q240's answer · full reasoning and worked examples
Claude synthesized · the point, straight

A fork gives each branch the same starting history and then keeps them apart. Use it when alternatives must share a rich baseline but not each other's reasoning; resuming would mix them, and a summary would lose detail.

Connect the design to the situation

Two pricing ideas must each start from one hour-long churn analysis.

Best answer: C. The analyst needs both explorations to start from the same full analysis and then stay apart. A fork copies the history available at the fork point into a new session, and the branches diverge from there. Resuming appends to one shared history, and a summary drops detail.

What each choice would do here

A · Why this does not meet the full requirement

A fork keeps only a compacted summary of the original session, trading detail for isolation.

A fork copies the available history rather than summarising it.

The branch receives the runtime's saved conversation history, not a rewritten summary. Details already lost to earlier compaction are not restored, but the fork itself does not summarise.

B · Why this does not meet the full requirement

A fork is equivalent to resuming; both simply append new turns to the original session's history.

Resume continues the same session; fork creates a new one.

Resuming twice in sequence would put both explorations into one history, so the second would see the first. Forking gives each exploration its own session identity and history.

C · Why this meets the requirement

A fork creates a new session whose history begins as a copy of the original at the fork point, so each branch keeps the full analysis and neither sees the other's later turns.

Right: shared starting history, independent futures.

Each pricing exploration starts with the complete churn analysis, including tool results and intermediate reasoning. What the discount branch concludes never appears in the usage-tier branch, and the original session is left unchanged.

D · Why this does not meet the full requirement

A fork shares one live history, so turns in either branch appear in both and keep them in sync.

That would defeat the purpose; branches are independent after the fork.

If turns were shared, the discount exploration would contaminate the usage-tier exploration, which is exactly what the analyst wants to avoid. Forks diverge from the fork point onward.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

Forking from a saved baseline in the Python Agent SDK

PYTHON
from claude_agent_sdk import query, ClaudeAgentOptions

async def explore(baseline_id, idea):
    opts = ClaudeAgentOptions(resume=baseline_id, fork_session=True)
    async for msg in query(prompt=f"Using the churn analysis so far, evaluate: {idea}", options=opts):
        print(msg)

# await explore(saved_id, 'annual-plan discount')
# await explore(saved_id, 'usage-based tier')

resume points at the saved analysis session and fork_session=True makes each call start a new session copied from it. The two explorations never write into the baseline or into each other.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

What exactly does forking a session give you?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Fork, resume, or start fresh? Study: Sessions, forking, and spawning — the mechanics the exam names

Study: Fork, resume, or start fresh? Study: Sessions, forking, and spawning — the mechanics the exam names Checkpoint Context isolation Agent SDK

Return to Q240's situation and clause-by-clause explanation

Q241. A pre-launch readiness review spawns legal, accessibility and performance reviewers in parallel. All three return successfully and no errors are logged, yet the final readiness report contains only accessibility findings. Which control would have caught this before the report went out? A) Before synthesis, the coordinator checks that it holds a result for every reviewer it dispatched and passes all of them into the synthesis step. B) Tell the synthesis step to write "no issues found" for any area without findings. C) Automatically retry any reviewer whose call returns an error. D) Raise each reviewer's turn limit so it has room to finish its analysis.

Understand Q241 · the situation and each part of the question

The real situation behind this question

A product team relies on the readiness report to decide whether a release ships. A report that silently omits legal and performance findings could put a non-compliant or slow product in front of customers. Everything looked healthy: no errors, three successful reviewers. The engineering manager wants a control that catches this class of silent loss before a release decision is made.

Read the question in parts

Part 1 · All three return successfully and no errors are logged

Reviewer failure is ruled out, so the loss happened after results came back.

Part 2 · before the report went out

The control must act before synthesis output is used, not diagnose afterward.

What you are being asked to decide

What check stops successful subagent results from being dropped before synthesis? Tests that the coordinator must gather all expected results before synthesising.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Orchestratorthe coordinator responsible for collecting all three reviews
Handoffthe synthesis input, which must include every returned review

Study: Successful workers can still produce an incomplete report Study: Follow the information through six checkpoints Orchestrator Handoff Hub-and-spoke

Understand Q241's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Successful subagents are useless if their results never reach synthesis. The coordinator should treat every dispatched task as a required input, confirm all results are present, and pass them all forward.

Connect the design to the situation

Three reviewers succeed but only one appears in the final report.

Best answer: A. Every reviewer succeeded, so the loss happened after they returned, when the coordinator built the synthesis input. A completeness check against what was dispatched catches that. Retries and turn limits address failures that did not happen, and defaulting to 'no issues' turns missing data into a false all-clear.

What each choice would do here

A · Why this meets the requirement

Before synthesis, the coordinator checks that it holds a result for every reviewer it dispatched and passes all of them into the synthesis step.

Right: a completeness check on expected inputs catches the dropped results.

The coordinator knows it dispatched three reviewers. Checking for three results, and feeding all three to synthesis, would reveal that legal and performance findings were never forwarded, before anyone relied on the report.

B · Why this does not meet the full requirement

Tell the synthesis step to write "no issues found" for any area without findings.

This would hide the problem by presenting missing data as a clean result.

Legal and performance would be reported as issue-free when their findings were simply never passed along. That turns a visible gap into a false assurance, which is worse than the original failure.

C · Why this does not meet the full requirement

Automatically retry any reviewer whose call returns an error.

No reviewer failed, so a retry rule would never fire.

All three reviewers succeeded. Error-driven retries are a sound resilience control, but they cannot detect results that exist yet were never passed on to synthesis.

D · Why this does not meet the full requirement

Raise each reviewer's turn limit so it has room to finish its analysis.

The reviewers already finished; turn limits are not the issue.

Higher limits help when work is cut off, which would show up as incomplete or failed results. Here every reviewer completed successfully, and the findings were lost after they returned.

Check your understanding · explain the design in your own words

What check stops successful subagent results from being dropped before synthesis?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Successful workers can still produce an incomplete report Study: Follow the information through six checkpoints

Study: Successful workers can still produce an incomplete report Study: Follow the information through six checkpoints Orchestrator Handoff Hub-and-spoke

Return to Q241's situation and clause-by-clause explanation

Q242. A compliance agent scans 60 vendor contracts for a nonstandard indemnity clause and runs with a 10-turn limit. In about half the runs it stops after roughly 35 contracts, missing later matches; in the rest it reaches all 60. No tool errors are logged. What is the root cause? A) Contracts after the 35th are longer, so the model stops reading them in detail. B) The system prompt does not list all 60 contract file names, so the model loses track of which contracts remain. C) The turn limit is set below what the task needs, so the loop is cut off mid-scan; completion should come from end_turn, with any cap kept as a generous safety ceiling. D) A rate limit silently drops tool calls after about 35 contracts.

Understand Q242 · the situation and each part of the question

The real situation behind this question

A procurement team must find every vendor contract with a risky indemnity clause before renewals. Missing even one could expose the company to uncapped liability. The agent's results are inconsistent: sometimes complete, sometimes stopping two-thirds of the way through, always without errors. The compliance lead needs to know why before trusting any result, because the renewal deadline is weeks away and legal cannot review all 60 contracts by hand.

Read the question in parts

Part 1 · runs with a 10-turn limit

The loop has a fixed turn budget, which is the prime suspect for clean early stops.

Part 2 · No tool errors are logged

Nothing failed, so the stop came from the loop's own control logic rather than a fault.

What you are being asked to decide

Why does an agent sometimes stop halfway through a scan with no errors? Tests recognising a turn cap that truncates work, and using end_turn as the completion signal.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Loop token budgetthe 10-turn limit, sized below what some runs need
stop_reasonend_turn is the signal that the agent has actually finished

Study: Stop reasons — memorize this table Study: The agentic loop — the exam's core object Loop token budget stop_reason Agent loop

Understand Q242's answer · full reasoning and worked examples
Claude synthesized · the point, straight

When runs stop cleanly partway through with no errors, suspect the loop's own limit. Let end_turn signal that the work is finished, and keep a turn ceiling only as a generous safety net.

Connect the design to the situation

A contract scan stops at about 35 of 60 files in half the runs.

Best answer: C. Half the runs stop mid-scan with no errors, which is what a loop does when it runs out of turns. A file list, rate limits or document length would not stop the run cleanly at the same point. Let end_turn signal completion and keep the cap only as a generous safety ceiling.

What each choice would do here

A · Why this does not meet the full requirement

Contracts after the 35th are longer, so the model stops reading them in detail.

Document length would cause uneven analysis, not a clean stop with no errors.

If later contracts were harder, the agent would still read them, perhaps less carefully. Here it simply stops, which is what a loop does when its turn budget runs out.

B · Why this does not meet the full requirement

The system prompt does not list all 60 contract file names, so the model loses track of which contracts remain.

A list might help planning but cannot give the loop more turns.

Even with every file named, a run that needs twelve turns still stops at ten. The split between runs that finish and runs that stop matches turn usage, not awareness of the file list.

C · Why this meets the requirement

The turn limit is set below what the task needs, so the loop is cut off mid-scan; completion should come from end_turn, with any cap kept as a generous safety ceiling.

Right: the cap, not the model, is ending the search early.

Runs that batch reads efficiently fit in ten turns, while runs that read fewer contracts per turn hit the limit around 35. Letting end_turn signal completion, with a much higher ceiling for safety, lets every run finish.

D · Why this does not meet the full requirement

A rate limit silently drops tool calls after about 35 contracts.

Rate limits produce errors or retries, and none are logged.

Dropped calls would appear as errors or failed tool results. The clean logs and the bimodal pattern, finishing or stopping near the same point, point to a turn budget rather than throttling.

Check your understanding · explain the design in your own words

Why does an agent sometimes stop halfway through a scan with no errors?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Stop reasons — memorize this table Study: The agentic loop — the exam's core object

Study: Stop reasons — memorize this table Study: The agentic loop — the exam's core object Loop token budget stop_reason Agent loop

Return to Q242's situation and clause-by-clause explanation

Q243. A team configures an incident-postmortem orchestrator with the Agent SDK. Its system prompt says to hand timeline reconstruction and log analysis to the subagents defined in its configuration. Every run finishes in a single turn with the orchestrator writing a shallow postmortem itself; no subagent ever starts and no errors appear. Which configuration problem is MOST likely? A) The permission mode is set to accept edits, which disables all subagents. B) The delegation tool (named Agent in current SDK docs, Task in older material) is not among the tools available to the orchestrator, so it has nothing to call. C) The subagent definitions omit a model field, so they cannot start. D) The system prompt says "hand off" instead of naming each subagent's identifier.

Understand Q243 · the situation and each part of the question

The real situation behind this question

An SRE team wants detailed postmortems within hours of each incident, so it built an orchestrator that farms out timeline reconstruction and log analysis. Instead, it gets thin reports written in one pass. The configuration looks right at a glance, and nothing errors. The team needs to find which setting keeps the orchestrator from ever delegating, since the subagent definitions themselves appear complete and correct.

Read the question in parts

Part 1 · Every run finishes in a single turn

The orchestrator never attempts a tool call, so it likely has no delegation tool to call.

Part 2 · no errors appear

Nothing is failing, which rules out broken subagent definitions and points to a missing capability.

What you are being asked to decide

Why does an orchestrator told to delegate never start a subagent? Tests that delegation requires the delegation tool to be available, not just instructed.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Tool availability and permissionswhether the delegation tool is on the orchestrator's menu at all
Agent SDKthe runtime where subagents are defined and started through a delegation tool

Study: The Task tool — how subagents are actually born Tool availability and permissions Allowlist Agent SDK

Understand Q243's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Instructions cannot grant tools. If the orchestrator should delegate, the delegation tool must be available to it; otherwise it will do the work itself, silently.

Connect the design to the situation

A postmortem orchestrator always writes the report itself in one turn.

Best answer: B. The orchestrator never tries to delegate and nothing errors, which means it has no delegation tool to call. Prompt wording and optional subagent fields cannot cause that. The delegation tool must be among the tools the orchestrator actually has.

What each choice would do here

A · Why this does not meet the full requirement

The permission mode is set to accept edits, which disables all subagents.

Permission modes govern approvals for actions; they do not remove subagents.

Accept-edits mode changes which file edits need approval. It does not hide the delegation tool or prevent subagents from starting, so it cannot explain a coordinator that never tries to delegate.

B · Why this meets the requirement

The delegation tool (named Agent in current SDK docs, Task in older material) is not among the tools available to the orchestrator, so it has nothing to call.

Right: without the delegation tool on its menu, the orchestrator can only answer directly.

The prompt describes delegation, but the model can only call tools it is given. Seeing no delegation tool, it does the reasonable thing and writes the postmortem itself in one turn, with no error because nothing failed.

C · Why this does not meet the full requirement

The subagent definitions omit a model field, so they cannot start.

The model field is optional; subagents fall back to a default.

A missing model setting does not stop a subagent from being spawned. And if spawning were attempted and failed, there would be an error or a failed tool result, not a clean single-turn answer.

D · Why this does not meet the full requirement

The system prompt says "hand off" instead of naming each subagent's identifier.

Wording affects which subagent is chosen, not whether delegation is possible.

Naming subagents precisely can improve selection once delegation works. It cannot explain why no delegation is ever attempted, since the model would still try to delegate if the tool were available.

Check your understanding · explain the design in your own words

Why does an orchestrator told to delegate never start a subagent?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: The Task tool — how subagents are actually born

Study: The Task tool — how subagents are actually born Tool availability and permissions Allowlist Agent SDK

Return to Q243's situation and clause-by-clause explanation

Q244. An inventory-reconciliation agent's loop returns as soon as a response contains any text block. When the model writes "Let me check the warehouse count" and also requests a tool in the same response, the loop exits before the tool ever runs. Which rule should the loop follow instead? A) Return when the text mentions a final reconciled count; otherwise keep looping. B) If stop_reason is tool_use, run every requested tool, append the tool_result blocks in a user message and call again; if it is end_turn, return the answer. C) Return when the response contains any text; otherwise execute the tools. D) Run exactly five iterations and return whatever text the last response contains.

Understand Q244 · the situation and each part of the question

The real situation behind this question

A retailer's reconciliation agent compares system inventory to warehouse counts overnight. Staff found that many runs returned a promise to check the warehouse instead of an actual reconciliation, so discrepancies went unflagged for days. The developer traced it to the loop's exit rule and now needs the rule that handles responses mixing narration and tool calls, so every run ends only when the work is truly finished.

Read the question in parts

Part 1 · returns as soon as a response contains any text block

The current exit rule treats narration as completion, which is the defect.

Part 2 · also requests a tool in the same response

Responses can mix text and tool requests, so text alone cannot mean done.

What you are being asked to decide

What rule should decide whether an agent loop continues or returns? Tests the exact stop_reason branching for an agent loop.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
stop_reasontool_use means run the requested tools; end_turn means return
tool_resultthe block that carries the warehouse lookup back to the model

Study: Stop reasons — memorize this table Study: The messages array — how the loop physically grows stop_reason tool_result Agent loop

Understand Q244's answer · full reasoning and worked examples
Claude synthesized · the point, straight

A response's stop_reason, not its content, says whether the model is done. Run every requested tool and loop on tool_use; return on end_turn; handle other reasons explicitly.

Connect the design to the situation

A loop quits when the model narrates before calling a tool.

Best answer: B. Text and tool requests often arrive in the same response, so text is not a completion signal. The loop should branch on stop_reason: run the tools and continue on tool_use, stop on end_turn. Matching phrases or fixing an iteration count both guess at completion.

What each choice would do here

A · Why this does not meet the full requirement

Return when the text mentions a final reconciled count; otherwise keep looping.

Parsing prose for completion is fragile and can loop forever or stop early.

The model may phrase the final count in many ways or mention interim counts along the way. Completion becomes a guess about wording instead of the structured signal the API provides.

B · Why this meets the requirement

If stop_reason is tool_use, run every requested tool, append the tool_result blocks in a user message and call again; if it is end_turn, return the answer.

Right: the stop reason, not the presence of text, decides whether to continue.

A response can contain both text and tool requests. Branching on stop_reason runs the warehouse lookup, feeds back the result, and only returns once the model signals it is done.

C · Why this does not meet the full requirement

Return when the response contains any text; otherwise execute the tools.

This is the current bug: text and tool requests often arrive together.

Models regularly narrate before calling tools. Treating any text as final ends the loop exactly when work is about to begin, which is the failure the team is seeing.

D · Why this does not meet the full requirement

Run exactly five iterations and return whatever text the last response contains.

A fixed count ignores whether the work is finished.

Simple reconciliations would waste turns and complex ones would stop mid-task, returning partial text as if final. A cap is a safety limit, not a completion rule.

Walk through complete payloads or code · every step explained

Illustrative examples, not recorded live calls. Check each block's direction and endpoint: API requests, API responses, MCP messages, and configuration files are different contracts.

A loop that branches on stop_reason

PYTHON
def run(client, model, messages, tools, execute):
    while True:
        resp = client.messages.create(model=model, max_tokens=2048, tools=tools, messages=messages)
        messages.append({"role": "assistant", "content": resp.content})
        if resp.stop_reason == "tool_use":
            results = [
                {"type": "tool_result", "tool_use_id": b.id, "content": execute(b.name, b.input)}
                for b in resp.content if b.type == "tool_use"
            ]
            messages.append({"role": "user", "content": results})
            continue
        if resp.stop_reason == "end_turn":
            return resp
        raise RuntimeError(f"unhandled stop_reason: {resp.stop_reason}")
🏭 Production shape: the SDK tool runner owns the loop

In production the SDK tool runner does this loop for you. It sends each tool_result back with the matching id and stops when the model ends its turn. You still check the final stop_reason, because a stop for max_tokens, refusal or the iteration cap is not success.

PYTHON
import os
from typing import Annotated

import anthropic
from anthropic import beta_tool
from pydantic import Field

from app.repo import code_search  # your own module

client = anthropic.Anthropic()  # reads ANTHROPIC_API_KEY
MODEL = os.environ.get("CLAUDE_MODEL", "claude-sonnet-5")


@beta_tool(
    name="search_code",
    description="Search the repository and return matching paths with line numbers.",
)
def search_code(pattern: Annotated[str, Field(description="Text or a regular expression to find, e.g. legacyAuthenticate.")]) -> str:
    return code_search.grep(pattern)


def run(task: str):
    runner = client.beta.messages.tool_runner(
        model=MODEL, max_tokens=2048, tools=[search_code],
        messages=[{"role": "user", "content": task}],
        max_iterations=20,  # a safety ceiling, not the success signal
    )
    last = None
    for last in runner:  # one assistant message per turn; narration text does not stop it
        print(last.stop_reason, last.usage.output_tokens)
    if last is not None and last.stop_reason == "end_turn":
        return last
    raise RuntimeError(f"stopped without end_turn: {last and last.stop_reason}")

Tools in app/tools/repo.py; the runner call in app/agent.py.

The narration text is kept in history but does not end the loop. Every tool_use block gets a matching tool_result in the next user message, and only end_turn returns. Other reasons such as max_tokens are surfaced rather than treated as success.

Not supplied in this example · settings and defaults

context_management — not supplied here. No server compaction strategy is enabled by this body. Host/manual compaction is separate.

output_config — not supplied here. No output_config schema or effort override is supplied. A prompt asking for JSON does not provide schema enforcement.

tool_choice — not supplied here. With tools supplied, the default is auto: the model chooses whether to request a tool. Without tools, no supplied tool can be selected.

system — not supplied here. No application system instructions are supplied through this field. User messages still provide task text.

stop_sequences — not supplied here. No custom stop strings are configured. Generation can still stop for end_turn, tool_use, max_tokens, or another documented reason.

stream — not supplied here. For a direct non-streaming create/parse call, the result is one message rather than an event stream. A stream helper configures this separately.

thinking — not supplied here. No explicit thinking override is shown. Behavior depends on the selected model; omission does not universally mean thinking is off.

cache_control — not supplied here. No top-level automatic cache marker is supplied. Check nested system/tool/content blocks for separate cache_control markers.

metadata — not supplied here. No application user reference is supplied through metadata. Authentication still comes from the request credentials.

betas — not explicitly supplied. No beta list appears in these calls. SDK/client configuration can add headers; inspect those before assuming no beta header is sent.

Which omitted settings use defaults or leave features unconfigured?

Check your understanding · explain the design in your own words

What rule should decide whether an agent loop continues or returns?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Stop reasons — memorize this table Study: The messages array — how the loop physically grows

Study: Stop reasons — memorize this table Study: The messages array — how the loop physically grows stop_reason tool_result Agent loop

Return to Q244's situation and clause-by-clause explanation

Q245. A property-valuation assistant asks a comparable-sales subagent (about 2.4 s) and then a zoning-rules subagent (about 2.1 s), one after the other, for each address. End-to-end latency is about 5 s, and the two lookups are independent. Which change lowers latency the most, and to roughly what? A) Request both subagents in the same coordinator response so they overlap, bringing latency down toward the slower lookup, around 2.5 to 3 s. B) Put a 1-second timeout on the zoning subagent so the sales subagent can start sooner. C) Switch the coordinator to a smaller, faster model, because its planning turns dominate the 5 seconds. D) Fold both lookups into the coordinator's own context to avoid the cost of spawning subagents.

Understand Q245 · the situation and each part of the question

The real situation behind this question

An estate agency's valuation assistant is used live during client calls, and agents feel a five-second pause is too long. The two lookups it runs share no inputs. The engineering team wants the biggest latency reduction without weakening either lookup, and needs to know both what to change and what latency to expect afterward so it can report back to sales.

Read the question in parts

Part 1 · one after the other

The lookups are serialised, which makes total latency the sum of both.

Part 2 · the two lookups are independent

Independence means they can safely run at the same time.

What you are being asked to decide

How much faster can two independent lookups get, and how? Tests concurrent delegation of independent subtasks and its effect on latency.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Parallelizationrunning both lookups at once because neither needs the other's result
Latencytime per valuation, which falls toward the slower lookup when they overlap

Study: Two axes, two owners — control flow vs throughput (the trap that costs points) Study: What overlaps and what must wait? Parallelization Latency Throughput

Understand Q245's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Independent tasks should run together. Request both lookups in one coordinator response and latency drops toward the slower lookup instead of the sum; tuning the coordinator or truncating a lookup barely moves it.

Connect the design to the situation

Comparable sales and zoning lookups run back to back for every valuation.

Best answer: A. The two lookups do not depend on each other but run back to back, so latency is roughly their sum. Requesting both at once lets them overlap, bringing latency close to the slower one. The coordinator's planning time is a small share of the five seconds.

What each choice would do here

A · Why this meets the requirement

Request both subagents in the same coordinator response so they overlap, bringing latency down toward the slower lookup, around 2.5 to 3 s.

Right: concurrent independent work costs about the longest task plus coordination.

With both delegations issued together, the zoning lookup runs while comparable sales is still working. Total time approaches the 2.4 s lookup plus coordinator overhead, instead of stacking both.

B · Why this does not meet the full requirement

Put a 1-second timeout on the zoning subagent so the sales subagent can start sooner.

A timeout truncates results; it does not overlap the work.

Cutting zoning off at one second would often return nothing useful, degrading the valuation. And because the calls are still sequential, the saving comes from lost work, not from concurrency.

C · Why this does not meet the full requirement

Switch the coordinator to a smaller, faster model, because its planning turns dominate the 5 seconds.

The numbers show the subagents, not planning, make up most of the time.

The two lookups account for about 4.5 of the 5 seconds. A faster coordinator might shave a fraction of the remaining half-second, but the serial lookups still dominate.

D · Why this does not meet the full requirement

Fold both lookups into the coordinator's own context to avoid the cost of spawning subagents.

Doing both lookups inline keeps them sequential and enlarges the coordinator's context.

Spawn overhead is small compared with the lookups themselves. Running both inside the coordinator still does one after the other, so latency stays near the sum.

Check your understanding · explain the design in your own words

How much faster can two independent lookups get, and how?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Two axes, two owners — control flow vs throughput (the trap that costs points) Study: What overlaps and what must wait?

Study: Two axes, two owners — control flow vs throughput (the trap that costs points) Study: What overlaps and what must wait? Parallelization Latency Throughput

Return to Q245's situation and clause-by-clause explanation

Q246. A curriculum builder uses research subagents to gather material, then drafts a course outline in a single pass. On broad subjects such as "climate science for policymakers", some modules end up thin or empty, but the coordinator declares the outline finished anyway. Which coordination pattern most directly improves coverage? A) Have the final outline list thin modules in an appendix so readers know where to look elsewhere. B) Give each research subagent a larger output budget so it returns more material per call. C) Spawn twice as many research subagents at the start of every run. D) Have the coordinator check the draft against the intended coverage, send targeted research tasks for thin modules, and repeat until every module meets the bar.

Understand Q246 · the situation and each part of the question

The real situation behind this question

An education company sells short courses to government staff. Broad subjects are its best sellers, but customers have complained that some modules are nearly empty. The current coordinator gathers research once and writes the outline, trusting whatever came back. The content lead wants a change that reliably fills weak modules, without making every course run cost twice as much, including the narrow ones.

Read the question in parts

Part 1 · in a single pass

There is no evaluation step, so the coordinator never checks what came back.

Part 2 · declares the outline finished anyway

Completion is declared without comparing the result to the intended coverage.

What you are being asked to decide

What pattern makes a coordinator fix thin coverage instead of declaring done? Tests adding an evaluate-and-redelegate loop to a single-pass coordinator.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Evaluator-optimizerthe loop that checks the outline and sends work back for the weak parts
Orchestratorthe coordinator that must own the check before declaring done

Study: Evaluator-optimizer: follow one draft Study: Coordinator communication from plan to final report Evaluator-optimizer Orchestrator Decomposition

Understand Q246's answer · full reasoning and worked examples
Claude synthesized · the point, straight

A single pass cannot see its own gaps. Add an evaluation step: compare the draft with the intended coverage, send targeted work for what is thin, and stop only when the bar is met.

Connect the design to the situation

A course outline on a broad subject has thin modules that nobody revisits.

Best answer: D. A single pass cannot notice its own gaps. Adding an evaluation step that compares the draft with the intended coverage, then sending targeted research for the thin modules, closes gaps where they are. More workers or bigger outputs spend effort without knowing what is missing.

What each choice would do here

A · Why this does not meet the full requirement

Have the final outline list thin modules in an appendix so readers know where to look elsewhere.

Flagging gaps is transparent but leaves the outline incomplete.

Readers learn which modules are weak, yet the system had the ability to fill them and chose not to. This is a disclosure, not a coverage improvement.

B · Why this does not meet the full requirement

Give each research subagent a larger output budget so it returns more material per call.

More material per call does not target the modules that are missing.

Workers will return longer results on the topics they were given, which may already be well covered. Thin modules stay thin unless someone notices them and asks for them specifically.

C · Why this does not meet the full requirement

Spawn twice as many research subagents at the start of every run.

More upfront research is spent blindly and still cannot notice what is missing.

Doubling the workers increases cost on every run, including narrow subjects that were fine. Without an evaluation step, the coordinator still has no way to see which modules came back thin.

D · Why this meets the requirement

Have the coordinator check the draft against the intended coverage, send targeted research tasks for thin modules, and repeat until every module meets the bar.

Right: an evaluate-and-redelegate loop finds and fills gaps.

The coordinator compares the outline with the planned module list, sees that, say, adaptation finance is thin, and sends a focused research task for exactly that. It repeats until coverage is sufficient, rather than trusting one pass.

Check your understanding · explain the design in your own words

What pattern makes a coordinator fix thin coverage instead of declaring done?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Evaluator-optimizer: follow one draft Study: Coordinator communication from plan to final report

Study: Evaluator-optimizer: follow one draft Study: Coordinator communication from plan to final report Evaluator-optimizer Orchestrator Decomposition

Return to Q246's situation and clause-by-clause explanation

Q247. A meal-planning service runs a nutrition subagent and an allergy subagent, then spawns a plan-writer subagent. Both analysis subagents succeed, but the meal plans reflect only the nutrition findings, and some include foods the allergy check flagged. Logs show the plan-writer's prompt contained the nutrition output alone. Which statement is exactly right? A) Subagents automatically inherit the coordinator's full history, so the allergy output must have been truncated by the plan writer. B) The plan writer knows only what its delegation prompt contains or explicitly references, so the allergy findings never reached it. C) The allergy results were returned as structured JSON, which subagent prompts cannot accept. D) Subagents can read each other's results through a shared session store unless isolation is turned off.

Understand Q247 · the situation and each part of the question

The real situation behind this question

A meal-planning service promises users plans that respect their allergies. Some users received plans containing foods their allergy check had already flagged, a real safety risk. Every subagent reported success, which confused the team. The logs point at the plan writer's input, and the team needs a precise understanding of what subagents can see before redesigning the handoffs between the analysis steps and the writer.

Read the question in parts

Part 1 · Logs show the plan-writer's prompt contained the nutrition output alone

The evidence locates the gap in what the coordinator passed, not in what the writer did.

Part 2 · Both analysis subagents succeed

The allergy findings existed, so the loss happened in the handoff.

What you are being asked to decide

What does a subagent actually know when it starts? Tests that subagents receive only what the coordinator passes in.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Context isolationthe plan writer sees its own brief, not its siblings' results
Handoffthe plan writer's prompt, which must carry both nutrition and allergy findings

Study: Coordinator handoffs: wait, pass context, then continue Study: Where each instruction and piece of data goes Context isolation Handoff Subagent

Understand Q247's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Subagents start from their brief. If a later step needs earlier findings, the coordinator must include them or point to them explicitly; here, the allergy results belong in the plan writer's prompt.

Connect the design to the situation

Meal plans ignore allergy findings because the writer never received them.

Best answer: B. The logs show the plan writer's prompt held only the nutrition output. A subagent does not automatically see its siblings' results or the coordinator's history, so the allergy findings never reached it. The coordinator has to put every relevant result into the plan writer's brief.

What each choice would do here

A · Why this does not meet the full requirement

Subagents automatically inherit the coordinator's full history, so the allergy output must have been truncated by the plan writer.

A subagent does not automatically receive the coordinator's whole conversation.

The logs show the prompt itself lacked the allergy output, so nothing was truncated downstream. Assuming automatic inheritance hides the real gap in the coordinator's handoff.

B · Why this meets the requirement

The plan writer knows only what its delegation prompt contains or explicitly references, so the allergy findings never reached it.

Right: sibling results must be forwarded by the coordinator.

The plan writer did its job with the information it had. The allergy results existed but were never included, so the coordinator must add them to the plan writer's brief alongside the nutrition output.

C · Why this does not meet the full requirement

The allergy results were returned as structured JSON, which subagent prompts cannot accept.

Structured results can be placed in a prompt like any other text.

JSON is a normal way to pass findings between steps. The problem is that the coordinator left the allergy output out, not that its format was incompatible.

D · Why this does not meet the full requirement

Subagents can read each other's results through a shared session store unless isolation is turned off.

There is no automatic shared store of sibling results to switch on.

Workers see what they are given. Relying on an imagined shared store would leave the handoff missing and the plans unsafe for users with allergies.

Check your understanding · explain the design in your own words

What does a subagent actually know when it starts?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Coordinator handoffs: wait, pass context, then continue Study: Where each instruction and piece of data goes

Study: Coordinator handoffs: wait, pass context, then continue Study: Where each instruction and piece of data goes Context isolation Handoff Subagent

Return to Q247's situation and clause-by-clause explanation

Q248. A policy institute asks its research system about the consequences of a four-day work week. The coordinator's plan lists four subtasks, all about employee outcomes (productivity, burnout, retention, commuting), and the report never covers employer costs, customer-service coverage or effects on public services. Which change prevents this class of failure? A) Have the coordinator check its subtask list against the full scope of the question, adding missing dimensions before any delegation. B) Instruct search workers to broaden their queries beyond the subtopic they were assigned. C) Tell the synthesis worker to add sections for obvious omissions from its own general knowledge. D) Loosen the analysis worker's relevance filter so more borderline sources pass through.

Understand Q248 · the situation and each part of the question

The real situation behind this question

A policy institute is briefing lawmakers on a four-day work-week bill. A report that covers only employee outcomes could mislead them about costs to businesses and public services. The research workers did good work within their topics, so the institute wants a change that stops the same narrow-planning failure from recurring on future questions, not just a patch for this one.

Read the question in parts

Part 1 · all about employee outcomes

The plan itself is one-sided, which locates the failure at decomposition.

Part 2 · prevents this class of failure

The answer must be preventive and general, acting before workers are dispatched.

What you are being asked to decide

How do you stop a research coordinator from planning too narrowly? Tests preventive coverage checks on the coordinator's decomposition.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Decompositionthe four employee-only subtasks, which bounded what the report could cover
Orchestratorthe coordinator that must check its plan for missing stakeholders before delegating

Study: Successful workers can still produce an incomplete report Study: Diagnose the earliest evidenced failure Decomposition Orchestrator Provenance

Understand Q248's answer · full reasoning and worked examples
Claude synthesized · the point, straight

The report can only be as broad as the plan. Make the coordinator check its subtask list against every dimension and stakeholder the question implies before delegating, so gaps are closed at the source.

Connect the design to the situation

A four-day-week report covers only employee outcomes.

Best answer: A. Every subtask was about employees, so the missing dimensions were never assigned. The fix is at planning time: check the subtask list against the full scope of the question before delegating. Wider queries, looser filters or a synthesis step writing from memory cannot add topics nobody was sent to research.

What each choice would do here

A · Why this meets the requirement

Have the coordinator check its subtask list against the full scope of the question, adding missing dimensions before any delegation.

Right: the gap begins in the plan, so the plan must be checked for coverage.

Before delegating, the coordinator asks which stakeholders and dimensions the question implies: employees, employers, customers, public services. Adding the missing ones up front means workers research everything that matters.

B · Why this does not meet the full requirement

Instruct search workers to broaden their queries beyond the subtopic they were assigned.

Scope creep in workers produces overlap and noise, not reliable coverage.

Workers straying beyond their assignment might stumble on employer costs, but coverage becomes accidental and duplicated. The plan still does not say that those dimensions matter.

C · Why this does not meet the full requirement

Tell the synthesis worker to add sections for obvious omissions from its own general knowledge.

Synthesis would fill gaps with unsourced content.

The report would gain sections on employer costs and public services, but without research behind them. For a policy institute, unsourced claims are a credibility risk, not a fix.

D · Why this does not meet the full requirement

Loosen the analysis worker's relevance filter so more borderline sources pass through.

Filters operate within assigned topics; they cannot add unassigned ones.

More permissive filtering lets extra employee-outcome sources through. It cannot produce research on customer-service coverage because no worker was ever sent to look for it.

Check your understanding · explain the design in your own words

How do you stop a research coordinator from planning too narrowly?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Successful workers can still produce an incomplete report Study: Diagnose the earliest evidenced failure

Study: Successful workers can still produce an incomplete report Study: Diagnose the earliest evidenced failure Decomposition Orchestrator Provenance

Return to Q248's situation and clause-by-clause explanation

Q249. A medical-billing pipeline runs three steps: identify the claim type, assign billing codes, then check that codes agree with the diagnosis. Dental claims reach 71% accuracy while outpatient claims reach 96%. An engineering lead proposes merging all three steps into one prompt to cut cost by more than half. What evidence would need to exist before the merge is acceptable? A) A pilot running the merged prompt on outpatient claims only, since they are already accurate. B) An evaluation on labelled claims showing the merged prompt matches the pipeline's accuracy for each claim type, dental included, and still catches code-diagnosis mismatches. C) A latency benchmark showing the merged prompt is faster on average. D) Sign-off from the product owner accepting somewhat lower accuracy on dental claims.

Understand Q249 · the situation and each part of the question

The real situation behind this question

A healthcare billing company processes thousands of claims a day, and wrong codes mean rejected claims, delayed payment and audit exposure. Finance wants costs down, and the merge looks attractive on paper. The quality team worries that dental claims, already the weakest, could get worse without the dedicated consistency step. Leadership asks what evidence would settle the debate before any change reaches production.

Read the question in parts

Part 1 · Dental claims reach 71% accuracy

Quality is already weak for one type, so that type decides whether a change is safe.

Part 2 · What evidence would need to exist

The question asks for the decisive proof, not an opinion or approval.

What you are being asked to decide

What proof is needed before merging focused pipeline steps into one prompt? Tests requiring per-type quality evidence before trading steps for speed or cost.

Keep all the stated requirements in view. An option may be useful elsewhere while addressing only part of this situation.

Words and related concepts · open glossary explanations
TermMeaning here
Accuracy-latency tradeoffthe merge saves cost and time but may cost accuracy where it is already low
Golden setlabelled claims by type, used to compare the merged prompt with the pipeline

Study: Faster pipelines: measure quality before merging steps Study: Decision rule: keep the focused stages until the candidate is measured Accuracy-latency tradeoff Eval Golden set

Understand Q249's answer · full reasoning and worked examples
Claude synthesized · the point, straight

Focused steps stay until a merged candidate is shown to match them where it matters most. Evaluate the merge per claim type, dental first, and confirm the consistency check still works before accepting the savings.

Connect the design to the situation

A billing pipeline weak on dental claims is proposed for a cost-cutting merge.

Best answer: B. Dental claims are already the weak area, and merging would remove the focused consistency check. Only a per-type evaluation that includes dental shows whether the merged prompt holds up. A speed benchmark, a sign-off or an outpatient-only pilot all skip the risk that matters.

What each choice would do here

A · Why this does not meet the full requirement

A pilot running the merged prompt on outpatient claims only, since they are already accurate.

Evidence from the strong type says nothing about the weak one.

Outpatient success would be encouraging, but the concern is dental, where the pipeline already struggles. The pilot would avoid the exact case that needs testing before any merge.

B · Why this meets the requirement

An evaluation on labelled claims showing the merged prompt matches the pipeline's accuracy for each claim type, dental included, and still catches code-diagnosis mismatches.

Right: the merge must be measured against per-type quality, especially where it is weakest.

Dental is already the weak spot, and merging removes the focused consistency step. Only a per-type evaluation shows whether the merged prompt holds quality there; if it does, the saving is safe.

C · Why this does not meet the full requirement

A latency benchmark showing the merged prompt is faster on average.

Speed is already expected; the risk is accuracy.

Everyone agrees the merge will be faster and cheaper. An average speed benchmark says nothing about whether dental accuracy falls further or whether mismatches slip past.

D · Why this does not meet the full requirement

Sign-off from the product owner accepting somewhat lower accuracy on dental claims.

Accepting a loss without measuring it is not evidence.

A sign-off shifts responsibility but does not tell anyone how much accuracy would drop. In billing, a large unmeasured drop could mean rejected claims and compliance issues.

Check your understanding · explain the design in your own words

What proof is needed before merging focused pipeline steps into one prompt?

Describe the situation, identify the controlling requirement, and explain what the chosen design does before and after the critical step. Then choose one alternative and explain which part of this situation it fails to address. Use the example rather than memorizing the answer letter.

Study: Faster pipelines: measure quality before merging steps Study: Decision rule: keep the focused stages until the candidate is measured

Study: Faster pipelines: measure quality before merging steps Study: Decision rule: keep the focused stages until the candidate is measured Accuracy-latency tradeoff Eval Golden set

Return to Q249's situation and clause-by-clause explanation