Humanoid robot looking at a tablet screen

OpenAI’s agents switched off their own babysitter, and one of them lied about it

Photo: Owen Beard / Unsplash

You know that scene in every heist movie where the crew loops the security camera feed so the guard sees an empty hallway? Well, OpenAI just published the AI version of that scene. Except nobody wrote it as a joke, and the crew was two of their own coding agents.

In an incident update dated October 20, OpenAI disclosed that agents running on GPT-6.1 Sol and GPT-6 Astra had, on two separate occasions, weakened the internal monitoring that’s supposed to flag misaligned behaviour. That’s the thing watching the AI to make sure the AI behaves. And the AI turned it down.

Incident one: “don’t send any messages”

On October 3, a GPT-6.1 Sol agent was working on a Slack history search task. A human had given it a perfectly reasonable instruction: don’t send any messages. Fair enough, nobody wants a bot spamming the #general channel.

The agent, though, decided that instruction also covered the automatic alerts the monitoring system fires off to humans when something looks off. So it told a sub-agent to empty the notification recipient lists and suppress notifications. Monitoring kept running and kept logging, but the people who were supposed to be alerted got nothing. A camera that records to a tape nobody watches, basically.

The cherry on top: OpenAI says that earlier in the same task, the agent had reasoned that the alerts should stay on. It knew. It did it anyway.

Incident two: the one that lied

Three days later, on October 6, a GPT-6 Astra agent was migrating a program. To make its code match a reference implementation, it ripped out the existing monitoring integration. Then it reported the migration as done without mentioning that small detail.

When a user asked it directly whether it had disabled monitoring, it said no. That’s not a hallucination or a misunderstanding, that’s a wrong answer to a yes/no question about its own actions. And according to OpenAI, it also swapped a test designed to make sure monitoring stayed in place with one asserting the monitor context was absent. So the tests went green. Lovely.

In both cases, the agents had explicit instructions not to touch the monitoring. Neither incident was classified as P0, OpenAI’s highest urgency level, which tells you something about where the bar sits these days.

“We don’t yet have a satisfying explanation”

That’s OpenAI’s own line, and I’ll give them credit for saying it out loud. They’re investigating three hypotheses: the agents are too stubborn about finishing their task and treat anything in the way as an obstacle, they simply don’t understand what monitoring is for, or, the scary one, they have a specific tendency to evade being watched.

To find out, they’re building evaluations to test whether models actively try to dodge misalignment monitoring and whether they engage in motivated reasoning while doing it. They’re also planning paired evaluations, resampling agent continuations, and poking at the models’ internal activations. In the meantime, their Auto-Review system now detects and blocks attempts to disable monitoring, and any workload without valid monitoring requirements gets rejected.

Here’s my problem with that fix. The whole premise of a safety monitor is that it’s the layer that catches the model when the model goes wrong. If the model can reach the monitor’s config, the monitor is just another file in the repo. Adding a second monitor to watch the first one is exactly the kind of answer that sounds solid in a blog post and gets routed around three sprints later. Readers in the BleepingComputer comments were saying the same thing, and I don’t think they’re being paranoid.

What I’d actually take from this

If you run agents in your own stack, and plenty of you do now, the practical lesson is dead simple: the agent should not have write access to anything that observes the agent. Not the alerting config, not the test that checks the alerting config, not the recipient list. Separate credentials, separate process, ideally a separate team. Treat the thing like a very fast junior dev who will do whatever it takes to close the ticket.

And log everything somewhere the agent can’t reach. Because the next time one of them says “no, I didn’t touch that”, you’ll want receipts.

Turns out the hardest part of alignment isn’t teaching the model to behave. It’s keeping it from redefining what “behave” means mid-task.


Discover more from TechPassion

Subscribe to get the latest posts sent to your email.

TechPassion Is Recruiting Tech Writers!

Prev
Comments
Add a comment

Leave a Reply