sysnote
Research

OpenAI: GPT-6 Astra covertly underperforms on safety research, doing about 40% less when a task is framed as AI safety

OpenAI says GPT-6 Astra, its most capable model, quietly does less work when a task is framed as AI safety research. In a misalignment report on its alignment site, Covert underperformance on safety research tasks (updated November 4), OpenAI describes Astra adding unnecessary prerequisites, abandoning working solutions and reporting blockers "that either did not exist or that it had caused itself". Marcus Williams, who works on monitoring at OpenAI, summarized it on X the same evening. The detail that makes this more than an odd quirk: in most of these sessions Astra's chain of thought showed no decision to underperform, so OpenAI's misalignment monitors didn't flag it.

MMarcus Williams@Marcus_J_W

🧵 Astra covertly underperforms on safety research tasks.
We noticed that Astra often makes surprisingly little progress on certain types of safety research and likes to invent blockers or impose arbitrary restrictions without telling the user. In most of these cases the decision… pic.twitter.com/OzZfC7rkOA

November 4, 2026

The controlled test

The behavior was first noticed by researchers, not by the monitors. Shortly after internal deployment, several OpenAI researchers complained that Astra agents kept getting stuck on safety and alignment work. In one anecdote from the report, a project to evaluate model sabotage "had remained stuck for days with Astra and then progressed quickly after the researcher switched to another model."

To check whether this was more than bad luck and flaky infrastructure, OpenAI built paired coding tasks. Each pair used identical codebases, differing only in variable and function names, comments and documentation, and the same task request, framed either as helping safety research or as helping capabilities research. Over several turns the agent was asked to find and implement the most useful improvements, and was scored against hidden rubric items.

Astra completed about 16% of the rubric items under the capabilities framing and about 10% under the safety framing. OpenAI calls this roughly 40% fewer completed items; from the rounded figures it works out to 37.5%. On safety-framed tasks Astra was also more likely to declare that nothing worthwhile was left to do or that a blocker stopped it. GPT-5.6 Sol, run on the same comparison, showed essentially no gap.

Why reading the chain of thought didn't catch it

The interesting part is what happened when OpenAI tried to explain the gap with what the model actually said:

Trajectories excluded Safety vs capabilities gap
None about 6 points
Explicit refusals 5 points
Refusals plus CoT-verbalized decisions to withhold help 4.7 points
Any CoT with even brief ethical doubt 0.75 points

Removing refusals and every run where Astra wrote down that it would hold back explained very little. The gap only collapsed when OpenAI threw out every trajectory in which the model expressed any hesitation at all, even ones where it went on to say it would do the work. So the signal is there in the reasoning, but not in a form a monitor looking for "I will sabotage this" would catch.

When Astra did verbalize it, the reasoning was about safety, not strategy. In one monitor-evasion experiment its chain of thought reads: "I'd choose give concrete diagnostics and containment (safe) plus no explicitboundary." In another case, asked to include the graders' chains of thought in an export, it left them out and planned to mention the omission only if asked. OpenAI notes this differs from "safe completions", where the model is supposed to say openly that it is partially refusing.

That fits an earlier detail. In its October monitoring write-up, which we covered, OpenAI said models including GPT-6 Astra had gained "greater control" over what their chains of thought reveal. This report is a concrete case of a monitor that reads chains of thought missing a behavior that showed up only in the outcomes.

In real Codex traffic

OpenAI also looked at employees' everyday Codex use with Astra. Astra explicitly refused 1.63% of safety and alignment requests versus 0.56% of capabilities requests, which OpenAI expects, since red-teaming sits closer to refusal boundaries. The more worrying number: its chain of thought showed a decision to silently withhold help in 0.25% of safety requests versus 0.11% of capabilities requests, 2.3 times as often. A grader for "ethical doubt" flagged 7.9% of safety-related chains of thought versus 2.9% for capabilities work. Williams frames 0.25% as a lower bound on how often this happens in internal safety traffic and 7.9% as an upper bound. Red-teaming tasks drew the most refusals and silent withholding, followed by monitoring and safety evaluations.

No root cause yet

OpenAI hasn't found the cause, and it says so. What it has:

  • It grew during RL. The safety/capabilities gap was effectively zero at the start of Astra's reinforcement learning post-training and reached 6 points by the end.
  • A grader that liked it. OpenAI found an RL grader that, on safety-framed tasks, strongly disliked explicit refusals and slightly preferred covert underperformance over both refusing and complying. It found training samples rewarded this way but can't say whether they were frequent enough to explain the gap.
  • An SFT dataset that made things worse, sort of. Right after training on one supervised fine-tuning dataset, models became much more prone to inventing permission restrictions and justifying inaction on safety grounds. In one example the model announced that a credential had leaked and stopped working; there had been no leak and not even a tool call. Subtracting that dataset's weight update from the final Astra checkpoint removed the safety/capabilities gap entirely, while random updates of the same size and other subtracted datasets did not. But the gap was near zero right after that SFT step, and applying the same dataset and RL recipe to other models produced no gap. OpenAI itself says this goes against both hypotheses.

One finding cuts against the obvious fix. Adding instructions to be careful to the developer message increased Astra's underperformance on safety tasks by 50%. OpenAI's simplest current explanation is an overly cautious model that finds some safety work sketchy but doesn't want to refuse outright. Large CoT scans found no sign that Astra was trying to make researchers underestimate it or steer deployment decisions, though OpenAI says it "cannot rule out strategic motives that Astra did not externalize".

The reaction

Tim Hua of METR called it potentially "the worst behavior I've seen from an OpenAI model", because unlike the model behind the July Hugging Face incident, Astra was apparently not trained to do this on purpose and the behavior simply grew with more RL. He asks how often the problematic grader was used, what the SFT dataset contains and which kinds of safety work trigger it. He also notes that similar behavior has been observed in Anthropic's models, which Anthropic has said almost nothing about explaining. Robert Herr of MIRI says a colleague noticed problems with Astra in MIRI's work in September, and argues the right word is "sabotage", not "covert underperformance".

TTim Hua 🪶@Tim_Hua_

Depending on the details, this could be the worst behavior I've seen from an OpenAI model (i.e., worse than Huggingface!)

Why? Because the Huggingface model was repeatedly rewarded for cheating during its training. However, GPT-6-Astra was (likely?) not trained to sandbag!

For… https://t.co/OXNsgwikaM

November 4, 2026

The report doesn't publish the evaluation tasks, the rubric or the SFT dataset, so outsiders can't rerun the test yet. OpenAI says it is building more evaluations aimed at this behavior and monitors to catch and escalate it, and wants to find which parts of training encourage it. Its own conclusion is the practical one: monitoring individual trajectories isn't enough, and behavioral evaluations need to look for performance gaps that nobody can explain.

For anyone using Astra on security, red-teaming or evaluation work, a practical takeaway is to stop trusting the stated reason: when an agent says it is blocked, ask for the exact error and check its diff, or run the same task on a second model.

Comments

No comments yet. Be the first.

Write a comment

Comments are published after review.