模型与实验室 4.0 · 优秀 2026-09-24 · 论文

Style, Not Self: Surface Cues Explain Zero-Shot Code Attribution by LLMs (arXiv:2609.30048)

在 MBPP/HumanEval/DS-1000 上检验商用 LLM 能否零样本认出自己写的代码:单解任务平衡准确率仅 49-58%,原始准确率主要反映模型多愿意声称署名;成对任务准确率与'评审者自己的解法更长'相关达 r=0.93,本质是长度偏置基于规则的归一化(剥离 docstring注释类型标注局部变量名)保持 Pass@1 不变,却让 12 个复测结果中 10 个掉回随机水平,Claude Haiku 的自我偏好也随之消失结论:所谓自我识别是表面风格特征而非自我表征,对模型互审/LLM-as-judge 方案是直接警示

打开原文回到归档

Style, Not Self: Surface Cues Explain Zero-Shot Code Attribution by LLMs

Source: <https://arxiv.org/abs/2609.30048&gt;
Authors: Ehsan Barkhordar, Surendrabikram Thapa
Published: 2026-09-24 · cs.AI, cs.CL, cs.SE · arXiv:2609.30048

摘要(基于论文摘要)

如果 LLM 能认出自己写的代码,它当评审时可能偏袒自己的代码;多个模型互相监控的场景就可能因此合谋。本文在商用模型上做了零样本检验:5 个 LLM 为 MBPP、HumanEval、DS-1000 生成解法,另外 7 个为 MBPP 生成,然后让模型做四类评审任务:从一对解法里挑自己的、判断单个解法是否自己写的、判断某段代码出自哪个被点名的模型、盲评质量。

结果(来自摘要):单解任务上,15 个"模型-基准"组合的平衡准确率只有 49–58%;原始准确率(38–67%)主要反映模型多愿意声称署名,而非真能识别。成对任务上,14 个"评审-对手"组合的准确率与"评审者自己的解法更长"这一因素相关达 r=0.93——所谓自我识别其实是长度偏置。对一个被点名模型的归属判断在部分模型对上成功、在另一些上稳定反向。关键消融:基于规则的归一化(剥离 docstring、注释、类型标注、局部变量名)保持 Pass@1 不变,却让 12 个复测结果中的 10 个掉回随机水平;剩下 2 个跟随残留的长度差。Claude Haiku 的自我偏好在归一化后也消失。

作者建议:此类实验应报告平衡准确率、启发式基线和标签一致性。

Field note

对"LLM-as-judge"和模型互审(包括 agent 互相监控的安全方案)是直接打击:自我识别主要是代码风格表面特征(长度、注释、命名),不是什么自我表征。归一化消融做得干净——保 Pass@1 说明剥离的是风格不是功能。做互审机制的人应该把"评审前风格归一化"列为强制前处理。