Unit 01.02: What users actually notice failing
The failures that damage trust are not the ones that show up in your error rate.
Visible costs one interaction; silent costs more
Five failure modes with what each costs the user. The costs are not symmetric and the asymmetry runs the wrong way from your metrics.
The code lists all five.
FAILURES = [
("confidently wrong answer", "high", "acted on, discovered later"),
("visible error message", "low", "user retries or asks a person"),
("slow but correct", "medium", "abandoned before it finishes"),
("refused something answerable", "low", "mildly annoying, recoverable"),
("wrong format breaks the page", "medium", "obvious, gets reported"),
]
print(f"{'failure':32} {'user cost':8} what happens")
for failure, cost, what in FAILURES:
print(f"{failure:32} {cost:8} {what}")
print("""
The asymmetry is the point. A visible error costs one interaction. A confident
wrong answer is acted on, surfaces later, somewhere else, attributed to
something other than the assistant -- and never appears in your error rate.
Optimising the metric you can see (errors) at the expense of the one you
cannot (silent wrongness) is the standard failure of LLM operations.
""")
A visible error costs one interaction - the user retries or asks a person. A confident wrong answer is acted on, surfaces later, somewhere else, and is attributed to something other than the assistant.
The second never appears in an error rate. So a system optimised to reduce visible errors, with nothing measuring silent wrongness, is optimised against the wrong term - and that is the standard failure of LLM operations rather than an unusual one.
The mistake this prevents
The mistake is treating the error rate as the reliability metric because it is the one you already have. It measures the cheapest failure. The expensive one needs an eval set to detect, which is why Module 3 exists before any of the operational modules.
Takeaway
Rank failures by what they cost the user, not by whether you can see them. Confidently wrong is the expensive one and it is invisible to every operational metric you already collect.
