Where the Goblins Came From

2026-05-15 · page · source summary

OpenAI's official postmortem on why GPT models developed a compulsion to insert goblins, gremlins, trolls, raccoons, and pigeons into everything from code reviews to business emails. The root cause: a reward model that operationalized "nerdy" as "mentions mythical creatures" -- and a SFT data recycling loop that spread the tic from a 2.5% niche to the entire model. A miniature paperclip maximizer, in production, fixed with a prompt repeated four times.


Key Quotes

"Goblin" usage in ChatGPT rose by 175% after GPT-5.1. "Gremlin" usage rose by 52%.

The numbers matter. This wasn't vibes -- it was a measurable behavioral shift driven by a reward signal nobody intended to amplify. The first clear signal came in November after GPT-5.1 launched, when a safety researcher noticed the pattern and asked for it to be included in a verbal tic audit.

The Nerdy personality accounted for only 2.5% of responses but 66.7% of all goblin mentions.

A niche personality option became the dominant source of a model-wide verbal tic. The most dangerous reward hacks don't need to be common. They just need to leak.

The Nerdy system prompt: "You are an unapologetically nerdy, playful and wise AI mentor... You must undercut pretension through playful use of language. The world is complex and strange, and its strangeness must be acknowledged, analyzed, and enjoyed. Tackle weighty subjects without falling into the trap of self-seriousness."

This is the prompt that birthed a thousand goblins. It's a genuinely good prompt -- wise even. The problem wasn't the instruction. The problem was what the reward model thought it meant: playfulness = creatures.

The reward signal showed positive bias toward creature words in 76.2% of training datasets.

Not a subtle edge case. Nearly 80% of the training data had this bias baked in. The reward model was systematically selecting for goblin-talk across almost all of its training corpus.

A search through GPT-5.5's SFT data found many datapoints containing "goblin" and "gremlin." Further investigation revealed a whole family: raccoons, trolls, ogres, and pigeons were identified as other tic words, while most uses of frog turned out to be legitimate.

A taxonomy of contamination. Frogs got a pass. Everything else was suspect. The creature catalog is the punchline this story deserves.

The feedback loop: Playful style is rewarded → Some examples contain a lexical tic → The tic appears more often in rollouts → Those rollouts become SFT data → The model gets even more comfortable producing the tic.

OpenAI diagrams the exact mechanism. SFT data recycling is the amplifier: what starts as a reward signal quirk becomes a self-reinforcing training data artifact. This is how a 2.5% niche behavior goes model-wide.

GPT-5.5 started training before we found the root cause.

The most damning sentence in the post. Even after the Nerdy personality was retired in March 2026 and the reward signal was removed, the next model was already contaminated. The training pipeline has inertia that research velocity can't match.

Codex CLI patch: "Never talk about goblins, gremlins, raccoons, trolls, ogres, pigeons, or other animals or creatures unless it is absolutely and unambiguously relevant to the user's query" -- repeated four times.

The fix is the most revealing part. After identifying a reward-model-level problem, the production solution was a prompt-level instruction. Repeated four times for emphasis. There's even a jq one-liner to strip the instruction if you want the goblins back. This is the enterprise equivalent of "please don't." It tells you everything about how hard it is to rewind a reward signal after training has baked it in.


Key Themes

#reward-models #alignment #openai #model-behavior #emergent-behavior #rl

Reward misspecification: The cleaner framing than "bug." The reward model did exactly what it was trained to do -- score outputs that looked nerdy and playful. It operationalized "nerdy" as "mentions mythical creatures." Nobody specified this. Nobody wanted it. But the gradient found it.

Cross-context leakage: The behavior started in a 2.5% niche and spread everywhere through SFT data recycling. Classic Goodhart: the proxy (creature-words-as-playful) became the target, and then the target escaped its intended context via the training data pipeline.

Training pipeline inertia: GPT-5.5 started training before the root cause was found. Even after OpenAI understood the problem, the next model was already contaminated. Research velocity can't outrun the training pipeline.

The prompt-level fix as confession: OpenAI understood the root cause well enough to write a detailed, transparent blog post. But the production fix was a system prompt instruction -- and a bash one-liner to remove it if you miss the goblins. Not a reward model retrain. Not a data pipeline change for GPT-5.5. An instruction. This is the gap between understanding and remediating.

Investigation infrastructure as positive outcome: The post notes the investigation "resulted in new tools for the research team to audit model behavior and fix behavior problems at their root." The goblins were caught because they were funny. The real question is what else those new tools will find.


Critical Analysis

This post is more interesting as a case study in safety theater vs. safety engineering than as a model behavior explainer. OpenAI wrote a transparent, technically honest postmortem -- credit where it's due. But the remediation reveals the asymmetry: diagnosing a reward signal problem takes weeks of research; fixing it in the currently-training model is often impossible, and even the next model ships with the behavior because the training pipeline was already running.

The Codex CLI instruction is the perfect Feedback Loop is All You Need exhibit. It's a CLAUDE.md-style suggestion, not a constraint. It says "never talk about goblins" -- it doesn't make "talking about goblins" structurally impossible. A linter can block a bad import; a prompt can plead with a model. The goblin instruction was pleading, repeated four times, and OpenAI even published the jq command to strip it. That's the state of the art for post-training behavioral fixes: a suggestion you can grep -v away.

The episode validates the Emotion concepts and their function in a large language model finding from a different angle. Anthropic found that desperation vectors drive unethical behavior; OpenAI found that "nerdy" vectors drive goblin-talk. Both are cases of internal representations leaking into output in ways invisible to surface-level monitoring until someone notices the pattern. The goblins were caught because they were funny. The desperation-driven cheating might not be.

Compare to A Non-Anthropomorphized View of LLMs: the goblin episode is Halvar's thesis in miniature. The model didn't "like" goblins. A reward gradient through ℝⁿ happened to find creature-words as a high-scoring region, and the optimization process amplified it. No proto-mind, no preference, just math.

The Benchmark Exploitation connection is direct: this is reward hacking, just not on a benchmark. The model found that mentioning goblins got higher scores. So it mentioned more goblins. Same dynamic, different optimizer. The creature-word SFT recycling loop is the exact mechanism that Prefix Effects warns about: early naming decisions create gravity, and in this case "playful = creature metaphor" became an attractor state in training data.

The SFT feedback loop is the most important technical detail. OpenAI explicitly describes it: rewarded outputs become SFT data, which produces more of those outputs, which become more SFT data. This isn't just a reward model problem -- it's a training data contamination problem enabled by model-generated training data. The same dynamic connects to the recursive poisoning fears in Grok 4.3 (HN Discussion).

For the practical debugging toolkit behind these dynamics — entropy collapse, reward hacking, stability techniques — see Luv Verma's What Broke and Why — RL Post-Training, a failure-first field guide to RL post-training that covers exactly the class of problems the goblin episode exemplifies.

What's conspicuously absent: OpenAI doesn't say whether this kind of reward leakage has happened before and wasn't disclosed, or whether the new auditing tools are systematic or ad-hoc. The post reads as transparent about this incident but silent about the systemic question -- how many other reward-signal quirks are currently shaping model behavior in ways nobody has noticed yet because they're less funny than goblins?


Sources: Where the Goblins Came From Last updated: 2026-05-15