Poka-yoke is Japanese for mistake-proofing. It's associated with Shigeo Shingo and the Toyota Production System. ASQ describes it as a method that makes an error impossible, or makes it obvious right away.
The classic example: a plug that only fits one way. Nobody has to remember which way is up.
Two kinds
- Prevent. The mistake can't happen at all.
- Detect. The mistake can happen, but it's caught at once, before it goes further.
Prevention is better. Detection is the fallback.
For bots
A bot follows written instructions well, most of the time. "Most of the time" is the problem. A rule in a long instruction file can be missed, especially deep into a long conversation.
Poka-yoke asks: can we take the option away instead?
| Mistake | Rule (weak) | Poka-yoke (strong) |
|---|---|---|
| Bot sends an email by mistake | "Never send without approval" | The bot only has a drafting tool. A person sends. |
| Bot edits the master file | "Don't change the master" | The master is read-only for the bot |
| Wrong date format | "Use YYYY-MM-DD" | The template has the date field already formatted |
| Report missing a section | "Include all sections" | The template has every heading; the check fails on an empty one |
| Bot uses an old file | "Use the latest version" | Only one current file exists where it looks |
In each row, the right-hand version doesn't depend on the bot remembering.
Detection for bots
When you can't prevent it, detect it fast:
- A check that fails if any figure has no source.
- A tester bot that runs a script against the bot after each change.
- A draft that waits for a person to say yes.
Where bots differ
On a factory line, a fixture physically blocks the wrong part. Software controls are only as strong as the setup behind them. If a bot has a tool that can send, a rule saying "don't send" is a sign on the wall, not a fixture. Check what the bot can actually do, not just what it's told.
See The hierarchy of controls for the bigger version of this idea. Back to Engineering tools for bots.