Most of us have gotten comfortable using AI to speed things up—write code, generate tests, clean up documentation. It’s become a productivity tool. But there’s another way to use AI that feels less obvious and, in many cases, more valuable: using it to challenge your system instead of helping it. If you’ve worked on real production systems, you already know this—things don’t usually break in obvious ways. They break in small, annoying, hard-to-reproduce ways. A value comes in with a slightly different format, a field has an extra space, casing changes, or something gets reordered. Nothing looks “wrong,” but suddenly the system behaves differently. These are the kinds of issues that slip through testing and show up later when it’s much harder to debug. The reason this happens is simple. Most testing reflects how engineers think, not how real inputs behave. We test the expected cases, maybe a few edge cases, and call it done.…