Style, Not Self: Surface Cues Explain Zero-Shot Code Attribution by LLMs
Source: <https://arxiv.org/abs/2609.30048>
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 说明剥离的是风格不是功能。做互审机制的人应该把"评审前风格归一化"列为强制前处理。