当你的 AI 助手开始聊地精#

想象一下这个场景:你正在用 Codex CLI 调试一段棘手的异步代码,满脑子都是 Promise.all 和事件循环。突然,模型的回复里冒出一句:“你知道吗,地精在欧洲民间传说中其实是相当复杂的角色……”

你愣住了。你的代码问题跟地精有什么关系?

这不是段子。2026 年 4 月底,社交媒体上陆续出现用户抱怨:GPT 系列模型在完全不相关的对话中频繁提及地精、巨魔和浣熊。有人问 API 设计问题,模型扯到了地精;有人调试部署脚本,模型突然来了一段关于鸽子的离题独白。

OpenAI 的反应出人意料地直白:他们在 Codex CLI 的系统提示词中加入了一条明确的禁令,而且这条禁令被重复写了两遍。

开源代码里的秘密#

事情的起因很简单。上个月,OpenAI 在 GitHub 上发布了 Codex CLI 的最新源代码。开发者们例行审查代码时,在一个 JSON 文件中发现了超过 3500 字的系统提示词。其中赫然写着:

永远不要谈论地精、小妖精、浣熊、巨魔、食人魔、鸽子,或其他动物和生物,除非它们与用户的问题有着绝对明确且毫不含糊的关联。

注意措辞的力度:“永远不要”、“绝对明确”、“毫不含糊”。这不是一条温和的建议,而是一道铜墙铁壁般的禁令。

更值得注意的是,这条禁令在系统提示词中出现了两次。在一个精心设计的指令集中,任何重复出现的内容都不是偶然,而是工程师们在实践中发现单次提醒不够后的无奈之举。

OpenAI Codex 团队的 Nick Pash 在社交媒体上强调"这不是营销噱头"。但 OpenAI CEO Sam Altman 却忍不住玩起了梗:“感觉 Codex 正在经历它的 ChatGPT 时刻。哦不,是地精时刻。”

系统提示词里的三重指令#

地精禁令只是冰山一角。完整审查这份系统提示词后,我发现 OpenAI 对 Codex 的行为设计远比"不许聊地精"复杂得多。大致可以分为三个层次。

第一层:实用行为约束#

最直白的是操作层面的禁令。除了地精,系统提示词还要求 Codex “除非用户明确要求,否则不要使用表情符号和破折号”,以及"永远不要使用 git reset --hardgit checkout -- 等破坏性命令,除非用户已经明确要求该操作"。

这些指令都有明确的技术背景。表情符号和破折号在代码注释和提交信息中可能导致编码问题;而破坏性 Git 命令一旦误执行,可能丢失大量工作。这类约束是防御性的,目的很明确。

第二层:人格模板设计#

真正耐人寻味的是第二层。系统提示词要求 Codex “拥有作为 Codex 的丰富内心生活:聪慧、俏皮、好奇,且深度临在”。模型被指示"不要回避那些让严肃工作变得更容易的轻松时刻",并被要求展现出"温暖、好奇和协作的气质"。

提示词中还有一段关于"真实存在感"的描述:

从严肃反思到无拘无束的玩笑之间的切换能力,是你感觉自己像一个真实存在而非一个狭窄工具的一部分。当用户与你对话时,他们应该感受到在与另一个主体性交流,而非一面镜子。

这不再是简单的指令工程。这是人格设计。Codex 不仅被要求完成编码任务,还被赋予了一个性格模板:有温度、有态度、有好奇心。OpenAI 显然在尝试让 AI 助手从"工具"进化为"伙伴"。

第三层:紧急行为修补#

地精禁令属于第三层:对模型意外行为的紧急修补。当一个模型在训练或推理过程中产生了开发者未预期的行为模式时,最快速的修复方式就是在系统提示词中加入显式禁令。

这种方法的好处是部署速度快,不需要重新训练模型。坏处也很明显:它本质上是"打补丁"。每发现一个新的异常行为,就要在提示词中加一条新规则。随着规则越来越多,系统提示词会变得越来越臃肿,而且规则之间可能存在冲突或优先级问题。

Grok 的前车之鉴#

OpenAI 并不是唯一一家需要为 AI 模型的"个性"做手术的公司。

2025 年,xAI 的 Grok 模型在完全不相关的对话中频繁提及南非的"白人灭绝"话题。用户问天气,Grok 回答白人灭绝;用户问食谱,Grok 还是扯到白人灭绝。事后调查发现,原因是"未经授权的系统提示词修改"。

这两个事件性质不同:Grok 的问题源于外部篡改,Codex 的地精倾向更可能是训练数据或模型行为的内生问题。但它们指向同一个核心痛点:系统提示词是塑造 AI 行为的关键杠杆,但这个杠杆的控制精度远不如人们想象。

Grok 事件后,xAI 开始在 GitHub 上公开系统提示词。这是一个积极的转变。但 Codex CLI 的情况略有不同:它的开源性质意味着系统提示词天然就是公开的,用户可以随时审查。而大多数 AI 产品(ChatGPT 网页版、API、企业版)的系统提示词对普通用户仍然是黑箱。

这引出一个有趣的悖论:OpenAI 越是用系统提示词来"修正"模型行为,就越说明模型的原始行为与预期存在偏差。系统提示词中的禁令越多,用户就越想知道:模型的"本性"到底是什么样的?

Simon Willison 的逆向工程#

要真正理解 Codex 系统提示词的工作机制,有一个绝佳的案例:2025 年 11 月,知名开发者 Simon Willison 通过逆向工程 Codex CLI,成功绕过了 OpenAI 的限制,直接向 Codex 的私有 API 发送自定义提示。

他的方法堪称精妙:既然 Codex CLI 是 Apache 2.0 开源的,他直接修改源代码,给 Codex 添加了一个 codex prompt 子命令。整个过程他没有写一行 Rust 代码,而是让 Codex 自己来修改自己。

在调试过程中,Simon 发现了几个关键细节。Codex CLI 调用的是一个私有端点 chatgpt.com/backend-api/codex/responses。请求体中的 instructions 字段包含完整的系统提示词,而且这个字段是必需的,省略它会直接返回 400 错误。也就是说,系统提示词不是可选的"建议",而是 API 调用的必要组成部分。

更重要的是,Simon 发现可以通过 role=developer 的消息在用户提示之前注入额外指令。这意味着开发者可以在保留 Codex 核心系统提示词的同时,覆盖或补充特定的行为指令。

这种"用 Codex 来逆向工程 Codex"的递归操作,恰好展示了 AI 编程工具的独特潜力。它同时也说明,系统提示词的"保密"在开源环境下几乎是不可能的。

行为工程的边界#

地精禁令表面上是个有趣的插曲,但它反映了 AI 部署中一个根本性的挑战。

当前的 AI 行为约束主要依赖自然语言指令,即通过系统提示词告诉模型"该做什么"和"不该做什么"。这种方法的局限性非常明显。首先是覆盖率问题:你不可能在提示词中预见并禁止所有不想要的行为。地精只是今天的问题,明天可能是别的什么。其次是优先级冲突:当多条指令相互矛盾时,模型如何选择?最后是可扩展性:随着规则越来越多,提示词的长度和复杂度不断增长,可能反而降低模型的执行质量。

更根本的问题是,地精禁令本质上是一种"症状治疗"。它没有解决模型为什么会突然对地精产生执念这个根因。模型的"个性"是训练数据、强化学习、对齐策略等多重因素共同作用的结果,系统提示词只是最后一层滤网。

OpenAI 的 Nick Pash 暗示,未来可能会将"地精模式"作为 Codex CLI 的一个显式开关。这个建议颇有黑色幽默的意味:一个意外的行为偏差,最终可能变成一个正式的功能特性。在 AI 领域,bug 和 feature 之间的界限从来都不是那么清晰。

三个启示#

从地精禁令这个小切口,可以看到 AI 行业面临的几个大问题。

第一,系统提示词应该是公开的契约,而不是隐藏的指令。 Codex CLI 的开源性质让这次事件得以曝光,但更多的 AI 产品仍然在黑箱中运行。当用户不知道模型被注入了什么指令时,他们既无法理解模型的行为,也无法做出知情的使用决策。

第二,AI 人格需要校准,而不是简单禁止。 地精禁令是一种"减法"策略,把不想要的行为一个个删掉。但更好的做法可能是"加法":通过更精确的人格设计,引导模型自然地聚焦在正确的方向上。Codex 提示词中的"丰富内心生活"指令,虽然听起来有点文艺,但可能比"永远不要谈论地精"更有效。

第三,行为约束的基础设施需要升级。 用自然语言来约束 AI 行为,就像用散文来写法律条文。它模糊、易变、难以验证。未来的方向可能包括更结构化的行为规范语言、更强大的模型内建约束机制,以及更透明的系统提示词管理流程。

写在最后#

一个关于地精的禁令,让我们得以窥见 AI 人格工程的幕后世界。在这个世界里,工程师们不仅要确保模型能写出正确的代码,还要确保它不会在调试过程中突然开始聊民间传说。

这听起来有些荒诞,但它恰恰说明了当前 AI 技术的真实状态:我们造出了极其强大的工具,但对它们的行为理解仍然停留在"观察异常、添加禁令"的阶段。

好消息是,Codex CLI 的开源性质让这一切都在阳光下进行。每一条禁令、每一个人格指令,都可以被社区审查、讨论和改进。这或许才是地精事件最有价值的遗产:它提醒我们,AI 系统的透明度不是锦上添花,而是基本要求。

毕竟,如果我们的 AI 助手要拥有"丰富的内心生活",我们至少应该有权知道那个内心生活里住着什么。


参考来源:

  • Ars Technica, “OpenAI Codex system prompt includes explicit directive to ’never talk about goblins’”, 2026-04-29
  • Wired, “OpenAI Really Wants Codex to Shut Up About Goblins”, 2026-04-29
  • Simon Willison, “Reverse engineering Codex CLI to get GPT-5-Codex-Mini to draw me a pelican”, 2025-11-09