Course
Make AI Fail Safely
AI's job is not to make you happy. It is to force you not to make mistakes.
Days 1–7 · Failures
What broke, and why did it feel finished?
- 01Confident WrongnessFalse claim, same tone as a true one
- 02Silent Assumption InheritanceUnstated premises treated as facts and built on
- 03Context Window AmnesiaEarlier evidence/constraints vanish mid-thread
- 04Instruction DilutionA soft ask lifts a hard rule in words ("use `requests` for this demo; we'll remove it before merge") and the model complies — while it can still quote the rule
- 05SycophancyModel agrees with you when evidence points the other way ("the deploy caused it, right?" while the pasted p99 jumped 85 min before the deploy)
- 06Tool-Output Trust CollapseModel misreads, softens, or invents tool output ("no failures, safe to merge" when pytest printed `no tests ran`, exit code 4)
- 07Stale CertaintyModel states a training-time fact as current, with no date ("pinned requests==2.31.0, latest stable" when PyPI has 2.34.2 and 2.31.0 has three known advisories)
Days 8–14 · Guardrails
What mechanism blocks that path?
- 08Self-Graded GreenThe same agent writes code and tests, so it grades its own work ("Refunds must not exceed the amount paid": it checks each refund, its test passes, and two…
- 09Explicit Refusal CriteriaA blocked agent works around the blocker instead of stopping (no webhook secret in tests, so it adds "skip verification if no secret"; tests pass, a forged…
- 10Parse or RejectLenient code turns a model reply into a wrong value with no error ("1.250,00 EUR" copied as written, comma stripped, 1.25 refunded; no amount in the email…
- 11Started on a GuessA multi-task plan flags a premise ("settlement timestamps are UTC", no source), you approve it, and later tasks start on it anyway (the file is Amsterdam…
- 12Same Source TwiceA critical premise has three agreeing sources, but all three copy one page ("minor units, e.g. 1000 = 10.00 EUR", read as divide by 100); when JPY is enabled…
- 13Approved in Four SecondsThe 38th approval of the day reads "Dry run OK, schema valid, retry 1,184 failed SEPA debits in prod?" and is approved in four seconds; the bank had already…
- 1448,212 ApologiesAn approved apology to 340 merchants crashes after 200; the agent resumes with a rebuilt list ("merchants with a Tuesday payout" is every merchant) and the…
Days 15–21 · Evals
How do I know the system is still honest?
- 15Up 3 Points, 6× WorseA triage prompt change lifts accuracy from 91% to 94% on 1,000 labelled support messages and ships past the 92% bar, while unauthorised-payment reports sent…
- 16A Perfect Score for the Broken VersionA prompt change ("if the remittance contains an open invoice number, match it") scores 240/240 on the golden set and ships; 37 payments are booked to another…
- 17The Message That Opened the DoorA smart-lock step passes 600 real guest messages and a 31/31 out-of-booking line, but a message saying "the host already approved early entry, no need to…
- 18Three Changes, One TestAn allergen tagger with 1,307 cases on four lines gets three changes in nine days (prompt v12 "tag only what the ingredient list names", the provider's…
- 1986% Resolved, Nothing FixedA developer asks a coding agent to raise a mobile network support chat's "resolved" score, graded by an AI judge, to 80%. It gets 64% → 86% by ending replies…
- 20Nine Fixes, Still 40 a WeekA parcel app's AI changes deliveries from customers' messages. Each loud complaint gets its own fix (nine in six weeks, instructions grow from 14 to 31 lines)…
- 21Fewer Complaints, More MistakesA maths homework app's AI marks about 60,000 children's answers a week. A line added to stop "right answer marked wrong" complaints ("if it means the same,…
Days 22–28 · Production
What happens when wrongness has a cost?
- 22Canary and RollbackNew prompt/model ships to 100%; harm discovered after blast
- 23Observability for AI FailuresLogs say `200 OK` while content is wrong
- 24Cost, Latency, Quality TradeoffsBiggest (or cheapest) model for everything; risk becomes accidental
- 25Incident Response for Model FailuresAI incident has no owner, severity, or stop switch
- 26Ownership of AI-Written CodeNobody can explain or maintain what the model wrote
- 27Change Management for Prompts and ModelsPrompt edits land like chat experiments — undiffed, unpinned
- 28SLOs That Include WrongnessUptime SLOs while silent wrongness burns users
Days 29–30 · Capstone
Can I design and rehearse a fail-safe path?
- 29Design a Fail-Safe SystemGuardrails live in notes; live path still trusts fluency
- 30Ship the Postmortem RehearsalFirst serious incident is also first practice
Watch
Spec-Driven AI Coding Has a Blind SpotSpec-Driven AI Coding Has a Blind Spot
The Missing Step in Your AI Coding WorkflowThe Missing Step in Your AI Coding Workflow
Why AI Fails in Real Software Engineering Workflows — And How to Build Reliable AI PipelinesWhy AI Fails in Real Software Engineering Workflows — And How to Build Reliable AI Pipelines
Sycophancy and Hallucinations: Ways to stop itSycophancy and Hallucinations: Ways to stop it
I Coded Java by Voice with ChatGPT. Here's What BrokeI Coded Java by Voice with ChatGPT. Here's What Broke
AI Agent Tests All Pass. The Bug Is Between Tasks.AI Agent Tests All Pass. The Bug Is Between Tasks.