The Impact of Large Language Models on Open-source Innovation: Evidence from GitHub Copilot
本文利用 GitHub Copilot 在不同编程语言中分阶段发布这一自然实验,证明虽然大语言模型显著提升了开源贡献,但它们不成比例地偏向于增量式代码维护而非实质性创新,从而将协作努力从探索新功能转向利用现有代码库。
原始论文采用 CC BY 4.0 许可(http://creativecommons.org/licenses/by/4.0/)。 这是对下方论文的AI生成解释。它不是由作者撰写或认可的。如需技术准确性,请参阅原始论文。 阅读完整免责声明
想象一下,开源软件的世界就像一座庞大而繁忙的城市,成千上万的志愿者共同建造公共公园、图书馆和道路。这里没有老板;每个人都根据自己的兴趣或他们认为需要修复的问题,自主选择任务。
这篇论文提出了一个简单的问题:当你给这些志愿者配备一位超级智能的 AI 助手(称为 GitHub Copilot)来协助编写代码时,会发生什么?
研究人员并非凭空猜测;他们设计了一个巧妙的“自然实验”来寻找答案。
伟大的语言实验
想象有两组志愿者正在构建类似类型的工具:
- A 组(Python): 他们获得了一位新的、超级智能的 AI 助手,可以即时帮助他们编写代码。
- B 组(R): 他们尚未获得 AI 助手(这是由于公司的商业决策,而非志愿者本身存在差异)。
由于这两组在其他方面非常相似,研究人员可以通过比较它们来确切地看出 AI 带来了哪些变化。他们分析了超过一百万次代码更新(称为“提交”),以观察 AI 是否让人们工作得更多,以及他们从事的是何种类型的工作。
两种类型的工作
为了理解结果,研究人员将工作分为两类,就像两种不同的烹饪方式:
- “优化者”(增量创新): 这就像在现有食谱的基础上稍作改进。也许你加了一撮盐,修正了说明中的拼写错误,或者让菜肴看起来更美观。问题已经明确;你只需要执行修复。
- 示例: 修复一个导致图表打印为黑白的错误。
- “发明者”(实质性创新): 这就像从零开始构思一道全新的菜肴。你必须决定做什么,找出食材,并自己创建食谱。问题尚未明确;你必须发明解决方案。
- 示例: 为一个数据工具添加一个此前完全不存在的功能。
发生了什么?
研究人员发现了三个主要现象:
1. AI 让每个人工作得更快(更多工作量)
当 Python 组获得 AI 助手后,与没有 AI 的组相比,他们贡献的代码量增加了28% 到 40%。这就像给建筑队配备了电动工具;他们在相同的时间内建造了更多的房屋。
2. AI 更偏爱“优化”而非“发明”(构成转变)
这里有个转折。虽然 AI 对两种类型的工作都有帮助,但它对优化(修复错误、清理代码)的帮助远大于对发明(创建新功能)的帮助。
- 为什么? AI 就像一台超级复印机,它从已有的事物中学习。如果你给它一份现有食谱,它能迅速建议加一撮盐或改进切洋葱的方法。但如果你让它从零开始发明一种全新的菜系,它就会感到吃力,因为它还没有可以模仿的模式。当“问题”已经清晰,而“解决方案”仅仅是一个小调整时,AI 的效果最好。
3. 随着 AI 变得更智能,差距扩大了
研究人员观察了 2022 年年中 AI 升级后的情况。AI 在理解上下文方面变得更加出色。
- 结果: “优化”与“发明”之间的差距并没有缩小;反而扩大了。随着 AI 变得更聪明,它在协助常规修复和维护方面变得更擅长,但它仍然无法完全取代人类发明全新事物所需的灵感火花。
大局观
该论文得出结论:虽然 AI 是加速现有软件维护和改进的绝佳工具,但它可能会无意中引导志愿者远离发明新事物所需的艰难、创造性工作。
可以这样想:如果你给城市的志愿者们一把能瞬间扫清街道的魔法扫帚,他们将会清扫大量街道。但他们可能会停止花费时间设计新公园或发明新游戏,因为扫帚在清扫方面如此出色,以至于人们觉得一遍又一遍地清扫更容易。
作者建议,为了让开源社区保持创新,他们可能需要为“发明者”专门设立特殊的奖励或激励措施,以确保他们不会淹没在大量由 AI 辅助的、容易的“优化”工作之中。
您所在领域的论文太多了?
获取与您研究关键词匹配的最新论文每日摘要——附技术摘要,使用您的语言。