DeepSeek V3.1 近期上演了一出让人啼笑皆非的 bug “大戏”,被网友戏称为“极你太美”,引发了全网的广泛关注。
事情是这样的,不少开发者在使用 DeepSeek V3.1 的 API 进行代码开发时,发现输出结果中会时不时地冒出“极”字。
就像这样:

最初,这个问题是在火山引擎、chutes 等平台上被发现的,但随着事件的持续发酵,越来越多的平台也受到了影响,甚至包括腾讯的 CodeBuddy 和 DeepSeek 官方自身。

这股“极”字风波甚至蔓延到了国外的 Reddit 论坛,引发了热烈的讨论。其中,“extreme”、“极”和“極”成为了重灾区:
“extreme”(id:15075)
“极”(id:2577,简体中文的 extreme)
“極”(id:16411,繁体中文中的 extreme)

更令人惊讶的是,腾讯 CodeBuddy 甚至直接在输出结果中插入了一句带有“极”字的广告……

△ 图源:小红书用户 @ 奈绪白 Nine-piece shell
可以想象,如果开发者没有仔细检查,直接使用了这些带有“极”字的代码,很可能会导致编译失败等问题。对于需要高精度、结构化输出的场景来说,这无疑是一个巨大的打击。
目前,大家普遍认为问题出在 DeepSeek V3.1 模型本身。据 CodeBuddy 透露:
已经和 DeepSeek 团队取得了联系,他们将在最近的版本中修复这个问题。

△ 图源:微信公众号“刘小排 r”评论区
那么,现在该如何防范这个“极”字 bug 呢?
虽然要彻底解决这个问题,还需要等待 DeepSeek 官方出手,但已经有网友分享了一些临时的解决方案。
例如,小红书网友 @大模型产品经理 就提供了一个通过修改提示词来缓解问题的方法:

其中,关键的一句提示词是:
禁止如下符号序列模式:
[空格] [几个token] [占位符/省略符号]
需要注意的是,这个方法主要适用于调用 API 的第三方平台,对于 DeepSeek V3.1 官方平台则可能无效。
DeepSeek V3.1 为什么会出现这样的 bug 呢?
知乎网友、阶跃星辰的黄哲威对此发表了自己的看法,并获得了广泛认可。

他指出,这种现象并非个例。在使用小模型和开源数据蒸馏,以及测试早期的 R1 模型时,他也曾遇到过类似的 bug。
黄哲威认为,这可能与大模型在编程编题时出现的一种“恶性模式”(malicious pattern)有关。他举例说,在让模型枚举素数时,正常的模型应该无限地列举下去,例如“素数表 2, 3, 5, 7 …”。
但他发现,之前一个代号为 R1-0528 的模型会出现一种奇怪的行为:在列举一段时间后会停止,变成一个有限的列表,例如“素数表 2, 3, 5, 7 … 997, 极长”。
这个“极长”的用法与现在讨论的“极”字问题非常相似,通常出现在大量重复之后,作为正常推理过程的修正。有时,模型甚至会输出“90000000…0000 极大的数字”这样的内容。
他进一步描述了这种 bug 的触发场景:当模型陷入“thinking”的末尾循环无法跳出时,有千分之一的概率会突然蹦出一个“极”字,然后终止思考,这似乎是一种特殊的终止符或标记。
通过观察 R1 模型的大量输出,黄哲威发现了不少问题,包括超长响应、大面积的空白字符、不断重复的短句等,甚至连 thinking 末尾的英文字符都变得破碎。
基于以上观察,他提出了一个核心推测:问题的根源可能在于数据清洗不彻底。在进行 SFT(监督微调)数据合成,乃至构建预训练数据时,可能没有将一组名为“‘极长’的数组”的“脏数据”清洗干净。
他推断,R1 模型在处理一些难题的解答时,可能大量使用了 RAG(检索增强生成)技术,而后续的 RL (强化学习)阶段,模型直接将这个“极”字当作了某种终止符或者语言切换标记来学习和使用了。
最后,黄哲威总结道,如果 R1 迭代时的数据没有清洗干净,模型自行蒸馏并“污染”到正常的输出过程中,是完全可能发生的。这为理解 DeepSeek V3.1 模型出现的“极”字问题提供了一个可能的解释。

至于这个被网友戏称为“极你太美”、“‘极’速版”的问题何时能够彻底解决,我们只能期待 DeepSeek 官方尽快发布新版本了。
参考链接:
[1]https://mp.weixin.qq.com/s/MrozcO\_iRvoxK1HvgP4IVA
[2]https://www.zhihu.com/question/1942934856603505597
[4]https://linux.do/t/topic/897789
本文来自微信公众号:量子位(ID:QbitAI),作者:金磊
侠游戏发布此文仅为了传递信息,不代表侠游戏网站认同其观点或证实其描述