← 最新论文
🤖 AI

An Exploratory Study on LLM-Generated Code and Comments in Code Repositories

这项探索性研究分析了 2021 年至 2025 年间公司维护和社区维护的代码库中由大语言模型(LLM)生成的代码与注释,揭示了虽然检测到的 LLM 代码随时间推移而减少,且在具有高克隆率的测试用例中较为普遍,但 LLM 生成的注释保持稳定但往往存在语法缺陷,且人工标注的缺陷与 LLM 生成的代码之间仅表现出微弱的相关性。

原作者: Yongyi Ji, Jiaji Wang, Yi Zhou, Fuxiang Chen, Hongji Yang

发布于 2026-07-03
📖 1 分钟阅读☕ 轻松阅读

原作者: Yongyi Ji, Jiaji Wang, Yi Zhou, Fuxiang Chen, Hongji Yang

原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明

想象一个规模宏大、繁忙有序的图书馆,每天都有数百万本书(软件代码)正在被编写。最近,一种新型的“影子作家”(Ghost Writer)进入了这里:人工智能(LLM)。这些影子作家能以闪电般的速度写出句子和故事(代码与注释)。

这篇论文就像是一群决定进行调查的图书管理员,他们想研究:“在我们图书馆的著作中,究竟有多少是由这些影子作家完成的,而且这些作品呈现出什么样的特征?”

以下是他们的发现,通过简单的故事进行了拆解:

1. “影子”写作之谜

图书管理员使用了特殊的“金属探测器”(软件工具)来扫描这些书籍。这些探测器并不能确定某页究竟是由人类还是机器人编写的,但它们可以识别出那些看起来像机器人写作的模式。

  • 代码(指令): 他们发现,“机器人编写”的代码量似乎随时间推移在缩减。这就像是影子作家变得越来越擅长模仿人类,或者人类图书管理员对机器人的作品进行了大量的修改,以至于机器人的指纹消失了。有趣的是,他们发现的大多数机器人编写的代码都出现在**“测试用例”**(Test Cases)中——你可以把这理解为练习测验或排练剧本。机器人似乎非常热衷于编写这些重复性的练习演练。
  • 注释(笔记): 虽然机器人编写的代码在减少,但机器人编写的笔记(解释代码功能的注释)却保持稳定。看来机器人在编写解释指令的“便利贴”方面依然很擅长,但人类正重新接管实际的机器构建工作。

2. 公司图书馆 vs. 社区图书馆

研究人员对比了两类图书馆:

  • 公司图书馆: 由大型科技巨头(如 Google 或 Meta)运营。
  • 社区图书馆: 由志愿者群体(开源项目)运营。

研究发现: 公司图书馆拥有更高比例的“影子编写”材料。这就像是大公司更频繁地使用影子作家,以保持其内部系统的顺畅运行和一致性。社区图书馆的机器人编写内容较少,而且当研究人员发现其中的笔记时,这些笔记通常比公司图书馆里的笔记在语法上更整洁、更精炼。

3. “复制粘贴”问题

研究人员注意到机器人代码中有一个奇怪的现象:它充满了克隆体。
想象一下,如果一个影子作家写了一个故事,然后将这个同样的故事复制粘贴到了图书馆 70% 的书籍中。这就是代码发生的情况。机器人生成的代码与同一图书馆中的其他代码几乎完全相同。然而,当他们将此与已知“纯机器人代码”的数据库进行对比时,发现重合度非常低。这表明人类并非只是在简单地复制粘贴机器人的原始输出;他们很可能对其进行了微调,这使得代码看起来很独特,但仍然留下了那些重复性的模式。

4. 影子作家是否搞砸了?

一个主要的担忧是,如果由机器人编写代码,它们可能会引入漏洞(错误),从而导致软件崩溃。

  • 研究发现: 研究人员查看了一份已知的“损坏书籍”(漏洞)清单,并问道:“这是由机器人写的吗?”
  • 结果: 出人意料的是,极少的损坏书籍是由机器人编写的。在所有已知的错误中,只有大约 5% 到 10% 似乎源自这些影子作家。
  • 隐喻: 这就像是允许影子作家撰写草稿,但人类编辑非常严格。他们在书稿付梓之前就捕捉到了错误。人类很可能在代码被保存之前,就已经修正了机器人的错误。

5. 一个重要的前提(“侦探的警告”)

作者们非常诚实地说明了他们的局限性。他们承认自己并没有“真相喷雾剂”来确定某一行代码究竟是由人类还是机器人编写的。他们的“金属探测器”只是根据模式进行推测。

  • 类比: 这就像是通过观察笔触来猜测一幅画作是由人类还是机器人创作的一样。有时机器人表现得如此出色以至于看起来像人类,而有时人类的绘画方式也可能非常重复,从而看起来像机器人。
  • 结论: 因此,他们称其发现为**“代理观察”**(Proxy Observations)。他们并不是在说,“这绝对是机器人代码。”他们是在说,“根据我们的工具,这看起来非常像机器人代码。”

总结

简而言之,这项研究表明,虽然人工智能正在辅助编写软件,但人类仍然是掌舵人。AI 承担了大量的重复性“试驾”和笔记记录工作,尤其是在大公司中。但人类正在进行大量的编辑、修复错误,并确保最终产品看起来不像是机器人写的。即使机器人在编写解释性内容,但在代码本身层面,其“机器人指纹”正变得越来越难以被发现。

您所在领域的论文太多了?

获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。

试用 Digest →