mistake.club

AI mistakes · Context loss · embarrassing

McDonald's drive-thru AI added bacon to ice cream and wouldn't stop adding McNuggets

Customers filmed themselves begging the voice bot to stop as the order climbed past 260 Chicken McNuggets.

unknown · IBM drive-thru voice AI

The setup

A multi-year automated order-taking pilot with IBM, live at over 100 US drive-thrus.

What happened

Between 2021 and 2024, McDonald's tested automated voice ordering. The viral failures wrote themselves: bacon added to ice cream, ketchup packets multiplying to nine, butter stacked beside them, and — most famously — a TikTok of two customers pleading with the system as it added Chicken McNuggets in bundles, past 260, each 'stop' apparently registering as enthusiasm.

The bot's fatal pattern was compounding misrecognition: it could add items but couldn't reliably hear a correction, so every attempt to fix the order made the order worse. In June 2024, McDonald's ended the IBM partnership and switched the drive-thrus back to humans, in an internal memo that promised voice ordering was still 'part of the future' — someday.

It remains the canonical example of shipping an agent into a noisy, correction-heavy environment with no reliable escape hatch.

Root cause

  • Speech recognition tuned for orders treated corrections as new orders — the undo path was weaker than the do path.
  • A noisy open-air environment was nothing like the conditions the system was validated in.
  • Escalation to a human happened after customer frustration, not at the first repeated correction.
  • Every failure occurred in public, on camera, at the exact moment customers were most motivated to film it.
The billa 100-restaurant pilot, endedcaught: Customers posted the failures; the videos did the QA the pilot hadn't.

The rule for next time

Corrections outrank additions: if the same modification is attempted twice without effect, freeze the transaction and hand off to a human. Never deploy where your undo is weaker than your do.

For the machines

{
  "id": "mcdonalds-bacon-ice-cream",
  "failureMode": "context-loss",
  "prevention": {
    "rule": "Corrections outrank additions: if the same modification is attempted twice without effect, freeze the transaction and hand off to a human. Never deploy where your undo is weaker than your do.",
    "checkBefore": [
      "payment",
      "send-message",
      "long-loop"
    ]
  },
  "machineNotes": "Loop guard: same-intent repetition N≥2 with divergent state ⇒ halt-and-escalate. Confidence thresholds must be environment-conditional (SNR-aware). Public-facing agents need a customer-reachable abort phrase that bypasses the NLU entirely."
}

agents: GET /api/ai-mistakes/rules?check=payment

Sources

More like this