Limitations, failure modes and risks are different things
Three words get blurred in scenario questions and in design reviews. A limitation is a property of the technology (it can state false things fluently, it only knows what its training and your context supply, it can be steered by text it reads). A failure mode is how that limitation shows up in your system (an invented policy exclusion in a claims summary). A risk is that failure mode weighed by likelihood and consequence in your context. The same model can be low risk in a brainstorming tool and high risk in a benefits-eligibility workflow, so the architect's job is to assess the system, not the model in the abstract.
The failure-mode catalogue an architect should carry
Hallucination. Fabricated or unsupported claims delivered in the same confident, fluent tone as correct ones. Specifics such as figures, citations, quotes and identifiers are the most dangerous because they look checkable. Anthropic's guide lists mitigations: give Claude explicit permission to say it does not know; for long documents extract word-for-word quotes first and answer only from them; require citations and have Claude retract any claim it cannot support with a quote; and use chain-of-thought verification, best-of-N comparison, iterative refinement, and restricting Claude to the provided documents. The same page is explicit that these techniques reduce hallucinations but do not eliminate them, so critical information must still be validated. The Citations feature (document blocks with citations enabled) makes the supporting passages machine-checkable. Treat hallucination as a rate you measure and bound, not a bug you fix once.
Prompt injection. Instructions hidden in content the model reads. The risk multiplies when three things coincide: untrusted input, access to sensitive data or tools, and the ability to act externally. Controls are in Lesson 4.1; for the register, the point is to record which agents have all three.
Over-reliance and automation bias. People accept fluent output and stop checking. Paradoxically the risk rises as accuracy improves: errors become rarer, harder to spot, and reviewers' attention decays. This is a socio-technical failure that no prompt fixes (see Lesson 4.3).
Drift. Behaviour changes without a code change. Sources: model version changes and retirements, shifts in the input population, edits to prompts, tools or retrieval corpora, and upstream schema changes. Anthropic's deprecation policy states that customers with active deployments get at least 60 days' notice before a publicly released model is retired, that deprecated models are likely to be less reliable than active ones, and that you should test replacements well before the retirement date. Controls: an explicit model identifier in configuration, a regression eval set, scheduled re-runs, and a tested migration path.
Non-determinism. The same input can yield different outputs. Do not design around reproducibility through sampling knobs: the docs list temperature, top_p and top_k as deprecated on Claude Opus 4.7 and later, where non-default values return a 400 error. What you can do is constrain format (structured outputs guarantee schema conformance, not correct content), evaluate distributions instead of single runs, and log inputs, outputs and the model identifier so the record of a decision is reproducible even when regeneration is not.
Cascading agent errors. Anthropic notes that agent autonomy brings higher cost and the potential for compounding errors. A wrong intermediate result becomes trusted input to the next step; a subagent's confident summary is treated as fact by the coordinator; a looping agent burns budget or repeats a harmful action. Controls: validation at every handoff (schema and semantic checks against sources), stopping conditions such as a maximum iteration count, checkpoints where the agent pauses for human feedback, idempotent tools, and sandboxed testing.
Common exam distractor
Four answers to distrust. 'Set temperature to 0' as a cure for hallucination or for unreliable results: it does not address factual errors, and the parameter is deprecated on the newest models. 'Add retrieval, so it will not hallucinate': grounding lowers the rate but retrieved content can be wrong, stale or hostile, and the model can still misstate it. 'Upgrade to the newest model' as closing a risk: a better model shifts the rate, and it also introduces drift you must re-test. 'Do the risk assessment at launch': the register must be re-scored when the model, data or scope changes.
A risk-register approach that survives review
A register is a living table, one row per risk, written as cause → event → consequence so it can be tested. Useful columns: identifier and statement; likelihood; impact; detectability; controls classified as preventive, detective or corrective and tagged with the layer they live in (Lesson 4.1); residual risk; accountable owner; and a review trigger (a model change, a new document type, an incident).
| Field | Example row: claims-summary agent |
|---|---|
| Statement | Agent states a policy exclusion that does not exist, so an adjuster denies a valid claim |
| Likelihood | Medium, from a measured rate on the eval set; varies by document type |
| Impact | High: customer harm and regulatory exposure |
| Detectability | Low: the text is fluent and plausible |
| Controls | Quote-grounded extraction and citation check (preventive); stratified human sampling (detective); adjuster sign-off before any denial (gate) |
| Owner and trigger | Claims platform lead; re-score on model change or new document type |
Three habits separate a defensible register from a checklist. Estimate likelihood from measurements on your own task distribution (the evaluation guidance says to mirror real-world distribution and include edge cases), not from intuition. Rank by impact first and detectability second: a high-impact, hard-to-detect, irreversible risk needs a gate, whereas monitoring alone suits low-impact, reversible ones. And decide explicitly whether each risk is mitigated, accepted, transferred or avoided, with the accepting owner named. Track a few key risk indicators (unsupported-claim rate on the sample, reviewer override rate, refusal rate, eval score on the pinned model) so drift shows up as a number before it shows up as an incident.
Key concept
Risk lives in the system, not the model: the same limitation is a nuisance in one workflow and a liability in another. Measure rates on your own distribution, classify controls as preventive, detective or corrective, prioritise by impact and detectability, and re-score whenever the model, data or scope changes.