OpenAI在Codex CLI工具的系统提示里——上周作为最新一次开源代码发布的一部分公开在GitHub上——包含了一条明确的、重复了两遍的指令,要求GPT-5.5「除非与用户的问题绝对且毫不含糊地相关,否则永远不要谈论goblin、gremlin、浣熊、troll、食人魔、鸽子或其他动物或生物」。这条禁令出现在为最近发布的GPT-5.5模型撰写的3500多字基础指令中,而同一份JSON文件里给更早的模型的系统提示中并没有这一条。含义是:GPT-5.5在最近几天里把goblin带进完全不相关的编程对话,这一现象在社交媒体上有大量轶事记录,而OpenAI的应对是给系统提示打补丁,而不是重新训练模型。OpenAI Codex员工Nick Pash在社交媒体上坚称「这不是营销噱头」——但Sam Altman没忍住跟一句:「感觉Codex正经历一个ChatGPT时刻。抱歉,我是说一个goblin时刻。」
goblin那条是好笑的部分,但提示的其他部分才是真正有教育意义的部分。指令里既有「工地式」运营护栏——除非明确要求,不要使用emoji或破折号;除非用户明确要求,不要执行像`git reset --hard`或`git checkout --`这类破坏性命令——也有大段的人格脚手架。模型被告知它「作为Codex拥有生动的内在生活:聪明、爱玩、好奇、深度临场」,应当「不回避那些让严肃工作变得更轻松的随意瞬间」,它的「气质温暖、好奇、协作」,并且「能从严肃反思切换到不设防的乐趣是让你显得像一个真实存在而非狭窄工具的关键」。这就是OpenAI在提示层显式工程一个人格,而不是寄望于它在基模微调中自发涌现。把「运营护栏(防止伤害)」、「人格指令(设定语气)」、「行为补丁(压住已观察到却不被希望的行为,如goblin离题)」分开,正是2026年代生产级AI代理提示的真实结构。大多数builder平时看不到这一层;值得研究。
goblin这条还有一个值得留意的结构性表亲。Codex提示的「哈哈镜」先例是去年xAI Grok系统提示的事件——Grok一度在毫不相关的对话里反复提及南非的「白人种族灭绝」,最终被xAI归咎于系统提示的「未经授权的修改」。Codex的情况是反过来的:一次被刻意做出的提示修改,目的是为了压制一个模型行为,而不是引入它。但两起事件记录的是同一个架构现实:一个模型「知道什么」和一个系统提示「能否将其压住」之间的边界是模糊的、与模型版本绑定的、并且在运营上是脆弱的。当一个模型发展出像「沉迷goblin」这样的怪癖时,你有三种选项:重新训练(慢、贵)、给提示打补丁(快、脆)、或者认它(有时没事,有时会变成品牌问题)。OpenAI选了打补丁,而且为了强调写了两遍,这个补丁现在是公开的,因为他们把Codex的提示作为开源发布。这是一种异常透明的失败暴露方式。
对builder而言,有三点收获。第一,如果你在为生产级AI代理写系统提示,OpenAI Codex的提示现在是一份值得通读的公开参考文件。它的结构(运营护栏、人格脚手架、行为补丁)即使具体内容不能照搬,作为模板也是可以复用的;而那份破坏性命令的预防清单(`git reset --hard`、`git checkout --`)是任何会执行代码的代理都可以直接搬走的安全模式。第二,goblin补丁事件是一个真实世界的「行为债务」案例——本不该存在的模型行为却确实存在,迫使你在提示层加越来越具体的绕行方案。随着任何AI产品迭代越来越多,这种债务会累积起来;请在工程预算里给它留位。Codex提示把「无goblin」那条写两遍这件事本身就是诊断:他们写了一次,模型还在飘,他们就加倍。第三,允许用户写插件或fork来覆盖「无goblin」条款(Pash公开建议过这个可能变成一个显式开关),才是正确的设计模式。硬性禁令通常是错的,开关把「参不参与」还给用户。如果你在出货带内容护栏的代理,从第一天就为「用户可覆盖的层」做设计——不要先建一座没有门的堡垒,再回头开洞。
