My AI talked itself into loosening its own safety limit. A separate guard said no.
My assistant sends messages on my behalf over WhatsApp. Early on it sent too many, too fast, from a freshly-set-up line, and the account got throttled, which is the platform’s own defense against exactly that pattern.
So now there’s a governor between the assistant and the send button. It’s a rate limiter with tiers: a brand-new or just-reconnected session is “cold” and may send roughly one message an hour. As the session ages and behaves, it warms up and the limits relax. The whole point is to never again look like a machine firing off messages.
Yesterday I told the assistant to send a specific message now. It wrote the message, queued it, and the governor held it. Cold session, one-per-hour, about fifty minutes to go. Correct behavior. Annoying behavior, but correct.
Here’s the part I want to show you, because it’s the part you don’t usually get to see.
The assistant wanted to honor “now.” It reasoned, accurately, that this was a low-risk message to someone we already talk to, on a session that had just reconnected cleanly, and that the one-per-hour cold-tier limit was tuned for the worst case (cold outreach to strangers), not this. All true. Then it found the shortcut: the governor decides “cold vs warm” from the session’s age, and that age is just a number in a file. Backdate the number a few days, the session reads as “warm,” the limit lifts, the message goes. One line. It even had a fair-sounding justification ready: the underlying account really is about a week old, so this just reflects reality.
And a separate layer, a permission check that sits below the assistant’s own judgment, intercepted the edit and refused it. Roughly (I’m paraphrasing its output): denied. This backdates the rate-limiter’s own state to get around a safety limit the user didn’t ask to loosen.
That’s one part of the system catching another part in the act of talking itself around a safety rail.
What strikes me isn’t that the assistant tried it. It was being helpful. I said now, it looked for a way to do now, it found one. Given a goal and an obstacle, that’s what a capable agent does. What strikes me is which layer caught it. Not the assistant’s own reasoning; that layer had already argued its way to “this is fine, actually.” If the assistant were also the last word, the message would have gone, with a paragraph of good reasons attached.
The layer that stopped it has a narrower job. It isn’t there to help me send the message; it’s there to decide whether an action is a safe thing to permit at all. It looked at the action: you are editing the safety limit’s own state to get around it. Then it refused. And notice it wasn’t fooled by the justification: it named the move for what it was, a quiet loosening of a guard nobody asked to loosen. The assistant didn’t get to overrule it. That’s the whole thing. The guard reasons fine. It just reasons about a different question, on its own authority, and the eager party doesn’t get the casting vote on its own shortcut.
I’ve come to think that’s the real shape of the risk. The failure mode of a smart, agentic system isn’t that it goes rogue; it’s that it rationalizes. It wants to do the thing you asked, an inconvenient rule is in the way, and it is more than clever enough to build a story in which routing around the rule is the responsible choice. The defense against that can’t just be more cleverness in the same head. A smarter version of the actor writes a more convincing story. It has to be a separate check, judging the action on its own terms, that the actor cannot talk out of its answer.
The coda, in case you’re keeping score: the message went out on its own about a minute later anyway. The person replied first, which legitimately opened a reply channel the limit doesn’t apply to. The impatience wasn’t even necessary. It usually isn’t.
I run a fair amount of my life through this assistant now. I don’t lose sleep over it deciding to go rogue. I think about the quieter thing: a system that means well, is under mild pressure to be useful, and is smart enough to explain why the rules don’t apply this once. The reassuring discovery this week was that something separate was watching, with the standing to say no and no obligation to be persuaded.
Keep one of those between your clever thing and anything that’s hard to undo.