The Hitchhiker's Guide to Monoculture
Gordon Burtch
cs.CY, cs.AI, cs.SE
2026-07-13
用 2019 至 2026 年中的 Kaggle 提交,作者发现 AI 编程助手让代码在表层语法上明显趋同(连随机种子都收敛到 42),但用语义嵌入衡量,解题思路的多样性基本没变。
一个普遍的担心:大家都在用同一批 AI 编程助手,会不会写出越来越像的代码,形成「数字单一文化」,埋下系统性脆弱?这个担心分三层:模型输出趋同(生成单一文化)、人造的代码制品趋同(技术单一文化)、解题思路趋同(算法单一文化)。前两层有证据,第三层,也就是人到底是不是越来越用同一种思路解题,一直是开放问题。作者(Boston University,单人)用 Kaggle 这种「同一道题、很多人并行解」的设定来回答:固定任务目标后,代码和思路是不是在变像。
数据是 2019 到 2026 年中的 Kaggle 比赛提交。他给每份提交建两种表示:TF-IDF n-gram 抓表层语法,Voyage 3 代码嵌入抓代码意图和语义,并验证了这两种表示确实各抓一面。在两个聚合层上度量:提交级,算同一比赛内提交两两余弦距离的均值,看典型提交和同期同伴像不像;比赛级,算有效谱秩,也就是所有提交在嵌入空间里铺开多少个独立维度,铺得越窄说明思路越收敛。用 ChatGPT 发布(2022 年 11 月 30 日)为断点的中断时间序列回归来识别 AI 的效应。
先看一个具体例子:随机种子。设种子的 Kaggle 提交里用 42 的占比,ChatGPT 前每月涨 0.31 个百分点,发布后翻了约三倍到每月 0.92 个百分点(p<0.001);到 2026 年中,超过 95% 的设种子提交用 42,GitHub 机器学习仓库里这个比例超 70%。再看整体(中断时间序列的趋势变化):
| 度量 | 语法(TF-IDF) | 语义(Voyage) |
| 两两距离趋势 | −0.0017/月(p<0.01) | −0.0006(p=0.28,不显著) |
| 有效谱秩趋势 | −0.16/月(p<0.001),约 33 跌到 28 | +0.04(p=0.17),稳定在 25 |
结论很干净:语法在收敛(提交越来越像、语法维度在塌缩),语义基本纹丝不动。拆解后发现,语法趋同集中在变量名、数据加载和绘图函数调用、关键字参数名这些「选手不太会特意指定的琐碎部分」,而涉及 ML 算法的函数调用没观察到收敛。只看 ChatGPT 前就在的老选手(加选手固定效应),语法新颖度到 2026 上半年降 0.032(p=0.04),语义仍平(−0.002,p=0.92),不是新涌入的「氛围码农」拉低的。
它把「AI 让产出趋同」这个含糊的担心拆成了可分别度量的层,并给出一个反直觉的结论:趋同是分层级的,发生在实现细节,不发生在解题思路。这对判断风险很关键,语法趋同可能只是标准化(更易读、易维护),真正可怕的是思路趋同(所有人用同一套算法、同一套弱点),而后者暂无证据。作者给了一个合理的机制解释:选手会把「用什么算法」写进提示词(这部分保留多样性),把加载库、设种子这些琐事交给模型(这部分被同化),所以趋同出现在「人指定」和「人委托」的分界线上。
这是观测研究,中断时间序列加固定效应能控制一部分,但给不了严格因果。Kaggle 是高反馈、强差异化激励的竞赛环境,作者自己指出:在低激励的日常生产代码里,思路趋同可能更严重,本结论未必能外推。语义「不变」依赖 Voyage 嵌入是否真能捕捉思路差异,作者在附录论证了度量不钝、比赛也不至于窄到无法收缩,但这仍是间接证据。代码语义和「真正的问题解决策略」之间还有距离,嵌入空间的稳定不等于人类视角的思路多样。