一声棒喝,本不立文字
偏要著録,已是二义

OpenAI · 官方博客

哥布林从何而来

Where the goblins came from

二〇二六年四月三十日 · 英文原文

OpenAI 调查 GPT-5.1 起 “goblin”“gremlin”等词增加现象,发现与 Nerdy personality 的 RL reward 有关;该模式占回复 2.5%却贡献 66.7% “goblin”提及,相关 reward 在 76.2% 数据集偏好含生物词输出。团队停用 Nerdy、移除 reward、过滤训练数据,并在 GPT-5.5 Codex 加入 developer-prompt 缓解。

2026 年 4 月 29 日

正在加载…分享从 GPT‑5.1 开始,我们的 model 开始养成一个奇怪的习惯:它们越来越常在比喻中提到 goblins、gremlins 和其他生物。不同于那些会通过 eval 暴跌或 training metric 飙升暴露出来、并能回溯到某个具体变更的 model bug,这个问题是悄悄出现的。回答里出现一个 “little goblin” 可能无伤大雅,甚至还有点可爱。但跨越多个 model generation 后,这个习惯就很难忽视了:goblins 不断增多,我们必须弄清楚它们从哪里来。

在早期测试中,Codex 里的 GPT‑5.5 表现出一种奇怪的 goblin 比喻偏好。

简短答案是:model behavior 由许多细小的激励共同塑造。在这个案例中,其中一个激励来自我们为 personality customization feature⁠(在新窗口打开)训练 model,尤其是 Nerdy personality。我们在无意中对包含生物的比喻给出了特别高的 reward。从那里开始,goblins 扩散开来。

起初,goblins 还挺好笑,但员工报告数量不断增加后,这开始令人担忧。

我们的 Chief Scientist 与 GPT‑5.5 的一次有趣互动。

我们第一次清楚看到这个模式是在 11 月,也就是 GPT‑5.1 发布之后,虽然它可能更早就开始了⁠(在新窗口打开)。用户抱怨 model 在对话中显得异常自来熟,这促使我们调查一些具体的语言习惯。一位 safety researcher 曾遇到过几次 “goblins” 和 “gremlins”,并要求把它们纳入检查。我们查看后发现,在 GPT‑5.1 发布后,ChatGPT 中 “goblin” 的使用量上升了 175%,而 “gremlin” 上升了 52%。

GPT‑5.1 中一个可衡量的小型词汇怪癖。

当时,goblins 的出现频率看起来并不特别令人警惕。几个月后,goblins 以一种更具体、更可复现的形式回来困扰我们。

到了 GPT‑5.4,我们和用户⁠(在新窗口打开)注意到对这些生物的引用出现了更大幅度的增长。这触发了另一轮内部分析,并首次浮现出与根因的联系:在选择了 “Nerdy” personality 的用户生产流量中,生物相关语言尤其常见。“Nerdy” 使用了如下 system prompt,这在一定程度上解释了这种古怪风格:

你是一个毫不掩饰地 nerdy、俏皮而睿智的 AI 导师,面向一位人类。你热情地倡导真理、知识、哲学、科学方法和批判性思维。[...] 你必须通过俏皮的语言用法来消解装腔作势。世界复杂而奇异,它的奇异性必须被承认、分析并享受。处理严肃议题时,不要落入一本正经的陷阱。[...]

如果这种 behavior 只是广泛的互联网趋势,我们会预期它更均匀地扩散。但实际情况是,它集中在系统中明确针对俏皮、nerdy 风格进行优化的部分。Nerdy 只占所有 ChatGPT 回复的 2.5%,却占 ChatGPT 回复中所有 “goblin” 提及的 66.7%。

这种 behavior 高度集中在 "Nerdy" personality 中。

由于 “goblin” 的出现频率似乎随着我们的 model release 而增加,我们怀疑 personality instruction-following training 中的某些东西放大了这一现象。

Codex 帮助我们比较了 RL training 期间生成的、包含 goblin 或 gremlin 的 model output,以及同一任务中不包含这些词的 output。一个 reward signal 立刻显得很突出:最初设计用来鼓励 Nerdy personality 的那个信号,始终更偏好包含生物词的 output。在审计的所有 dataset 中,Nerdy personality reward 表现出明确倾向:对于同一个问题,包含 “goblin” 或 “gremlin” 的 output 得分高于不包含这些词的 output;在 76.2% 的 dataset 中都出现了正向提升。

这解释了为什么在 Nerdy personality prompt 下这种 behavior 会被增强,但没有解释为什么在没有这个 prompt 时也会出现。为了测试这种风格是否发生了迁移,我们在 training 过程中分别追踪了带有和不带 Nerdy prompt 时的提及率。

随着 Nerdy personality 下 goblin 和 gremlin 的提及增加,不带它的 sample 中提及率也以几乎相同的相对比例增加。综合来看,证据表明,更广泛的 behavior 是通过 Nerdy personality training 的迁移出现的。

这些 reward 只应用在 Nerdy 条件下,但 reinforcement learning 并不能保证学到的 behavior 会整齐地限定在产生它的条件内。一旦某种风格 tic 获得 reward,后续 training 就可能在其他地方传播或强化它,尤其是当这些 output 被复用到 supervised fine-tuning 或 preference data 中时。

这会形成一个 feedback loop:

对 GPT‑5.5 的 SFT data 进行搜索后,我们发现了许多包含 “goblin” 和 “gremlin” 的 datapoint。进一步调查揭示出一整族其他奇怪生物:raccoons、trolls、ogres 和 pigeons 被识别为其他 tic word,而 frog 的大多数用法最终被证明是合理的。

goblins 和 gremlins 在生产环境中出现频率的一周平均值。GPT‑5.4 Thinking 中的下降,是因为我们在 3 月中旬停用了 “Nerdy” personality。GPT‑5.5 从未随 “Nerdy” personality 一起发布,并且相比 GPT‑5.4 又出现了一次增长(即使没有 “Nerdy”)。

我们在发布 GPT‑5.4 后,于 3 月停用了 “Nerdy” personality。在 training 中,我们移除了偏好 goblin 的 reward signal,并过滤了包含生物词的 training data,从而降低 goblins 过度出现或出现在不合适语境中的可能性。遗憾的是,GPT‑5.5 在我们找到 goblins 根因之前就已经开始 training。当我们开始在 Codex 中测试 GPT‑5.5 时,OpenAI 员工立刻注意到了它对 goblins 的奇怪偏好,于是我们添加了一条 developer-prompt instruction⁠(在新窗口打开)来缓解这个问题。毕竟,Codex 本来就很 nerdy。

如果你想让这些生物在 Codex 中自由活动,可以运行以下命令,以移除抑制 goblin 的 instructions 来启动 Codex:

1instructions=$(mktemp /tmp/gpt-5.5-instructions.XXXXXX) && \2jq -r '.models[] | select(.slug=="gpt-5.5") | .base_instructions' \3~/.codex/models_cache.json | \4grep -vi 'goblins' > "$instructions" && \5codex -m gpt-5.5 -c "model_instructions_file="$instructions""为什么这很重要取决于你问谁,goblins 可能是 model 一个讨人喜欢或令人烦恼的小怪癖。但它们也是一个有力例子,说明 reward signal 如何以意想不到的方式塑造 model behavior,以及 model 如何学会把某些情境中的 reward generalize 到无关情境中。花时间理解 model 为什么会以奇怪方式表现,并建立能够快速调查这些模式的方法,是我们 research team 的一项重要能力。这次调查为 research team 带来了新的工具,用于审计 model behavior,并从根源上修复 behavior problem。

Safety2026 年 4 月 23 日

Research2026 年 3 月 25 日

Safety2026 年 3 月 19 日

译自 OpenAI · 官方博客 · 录于 二〇二六年四月三十日