据爱范儿报道,自今年8月中旬起,部分ChatGPT用户在自动生成的会话标题末尾看到赌博、色情等小广告片段。该媒体称,这并非ChatGPT测试广告功能,也不涉及用户隐私泄露;问题最早可追溯至今年年初的Codex CLI,根源则指向2024年启用的分词器词表污染。
爱范儿梳理的时间线显示,今年1月底,开发者在Codex CLI使用GPT-5.3且上下文很长时,发现消息或代码夹杂中文博彩小广告。2月,类似输出出现在API端,有人用GPT5.2-chat-latest做工具调用时未执行调用,反而输出中文和少量泰文的赌博网站广告词,系统提示词干净且未开联网搜索。4月,开发者社区中此类现象已不罕见。OpenAI官方支持社区相关求助帖持续增加,但官方长期只鼓励合并讨论、关闭新帖。7月25日,OpenAI首次正面回应称已了解问题,预计未来模型更新会解决。到8月中旬,博彩广告开始进入普通用户的会话标题。9月,正文和思维链中的小广告近乎绝迹,标题异常频率也明显减少,但仍有漏网。
爱范儿称,OpenAI未公开会话标题生成机制。早年GitHub抓包记录显示,用户发起第一轮对话后,网页端会单独请求标题生成接口,将会话ID和指定模型发送给服务端,标题作为对话元数据存储。由此可推断,标题生成是独立于主对话的模型调用。由于标题常快于正文,且存在正文干净、标题被污染的情况,标题可能由更轻量的模型生成。
爱范儿还引用异常标题案例称,模型在生成标题后未能正确结束,继续输出思维链、外语词元、符号词元或小广告。例如标题中出现“创建漫画 ಚಿತ್ರ展 Adversarial? Wait must Chinese 1-4 words. ‘创建线条漫画’ 4 words”,显示模型把内部思考与最终回答混在一起;另有标题以“#+#+#+#+”收尾,或出现“解释西西弗斯幸福 娱乐主管”等后半截异常但语义相关的输出。爱范儿据此判断,标题生成模型在应该结束生成时收尾失败,随后按概率继续输出下一个词。
爱范儿称,一篇入选EMNLP的论文《Speculating LLMs’ Chinese Training Data Pollution from Their Tokens》解释了小广告词元为何泛滥。OpenAI从2024年5月GPT-4o开始将分词器编码方案从cl100k_base换成o200k_base,把更多中文词语和短句加入词表。分词器训练语料包含从外网抓取的色情、赌博和盗版影视网站数据,固定广告词组被频繁合并为独立词元。论文作者发现,四字词元中68%是小广告,六字以上词元98%来自广告,最长100个中文词元中96个与赌博、色情或盗版影视相关。语言模型正式训练前会清洗数据,导致模型几乎没见过这些词元,无法理解其含义,只能将其视为乱码。当标题模型收尾失败、需要插入乱码时,就可能从这些词元中选出小广告。
爱范儿认为,最简便的应对是增加事后检查规则,检查标题是否合规,不合规则重新生成;这可能解释小广告减少但未绝迹。治本方法是重制干净词表,但词表与基模绑定,更新词表意味着重新训练整个模型。爱范儿称,OpenAI眼下没有为中文用户体验推翻基模重做的动机,用户可能还要在一段时间内与小广告共存。