← 最新论文
💻 computer science

AI Agent Pull Requests on GitHub: Frequency, Structure, and Merge Conflict Rates

本文通过对 AIDev-pop 数据集的实证分析表明,并发的 AI Agent 提交现象非常普遍,且主要涉及同一个 Agent,并且跨 Agent 对比同 Agent 对,其导致的合并冲突率显著更高。

原作者: George Xu, Arjun Subramanian, Nithilan Karthik

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

原作者: George Xu, Arjun Subramanian, Nithilan Karthik

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

想象一个规模宏大、繁忙的建筑工地,这里没有人类工人,取而代之的是数十个高度专业、相互独立的机器人(AI 编程智能体),它们都在同一时间试图建造或修理同一栋房子。

这篇论文是一份成绩单,记录了当这些机器人在互不沟通的情况下尝试协作时会发生什么。研究人员观察了 GitHub 上数千个真实的开源项目,以了解这些机器人发生冲突的频率、冲突的形式以及造成的混乱程度。

以下是他们研究结果的拆解,使用了简单的类比:

1. 机器人的“交通拥堵”

第一个大问题是:这些机器人在同一时间处理同一栋房子的频率有多高?

答案是:几乎总是如此。

  • 研究发现: 在大约 40% 的项目中,有两个机器人正在同一秒钟对同一栋房子进行作业。如果你给它们多一点时间(一个星期的窗口期),这个数字会跃升至接近 95%。
  • 类比: 想象一个繁忙的厨房,90% 的厨师都在同一时间对着同一块案板切菜。这很混乱,但却是常态。
  • 谁在打架? 令人惊讶的是,这很少是不同类型的机器人(比如一个“Devin”机器人与一个“Copilot”机器人)之间的战斗。这几乎总是同一种类型机器人在进行自我博弈。在 99.5% 的案例中,冲突发生在两个并行的相同 AI 模型实例之间。这就像是有两对完全相同的双胞胎在试图同时粉刷同一面墙,却没有任何协调。

2. “冲突”(合并冲突)

当两个机器人试图将它们的更改保存到同一个文件时,计算机必须决定保留哪个版本。这被称为“合并”(merge)。如果它们修改了相同的行,计算机就会感到困惑并抛出“冲突”(Conflict)标志。

研究人员模拟了这些合并过程,以观察出错的频率:

  • 同类机器人 vs 同类机器人: 当两个相同的 AI 实例尝试合并时,它们大约有 20% 的时间会发生冲突。
  • 异类机器人 vs 异类机器人: 当两种不同类型的 AI 尝试合并时,它们的冲突率约为 42%
  • 核心结论: 不同类型的机器人发生分歧的可能性是相同机器人的两倍。然而,由于相同类型的机器人工作最频繁,因此整体上的混乱主要还是由它们引起的。

3. 它们在为什么而争吵?

当机器人发生冲突时,冲突的本质是什么?

  • 位置: 大多数冲突发生在源代码(软件的实际指令)中,而不是“购物清单”(依赖文件)或文档中。大约 84% 的冲突发生在代码本身。
  • 冲突类型:
    • 内容冲突 (58%): 两个机器人试图修改同一个段落中的同一句话。
    • 结构冲突 (42%): 这是最奇怪的部分。一个机器人决定删除一个文件,而另一个机器人决定修改它。或者,两个机器人都试图创建一个具有相同名称但内容不同的新文件。
    • 类比: 这就像一个机器人说:“我要拆掉厨房”,而另一个说:“我要装修厨房”,第三个又说:“我要就在这儿建个新厨房”。他们不可能全都对。

4. 为什么这很重要?(隐藏的成本)

论文指出,虽然我们只测量了“文本层面”的争吵(代码行),但实际成本要高得多。

  • “浪费时间”的成本: 因为机器人不知道其他机器人的存在,它们浪费了大量时间去构建那些永远无法合并的功能。
  • “人工清理”的成本: 最终,必须由人类介入来收拾残局。人类必须决定哪个机器人是对的,保留哪个文件,以及如何撤销被删除的内容。这完全违背了让机器人干活的初衷。

总结

论文得出结论,目前的 AI 编程智能体就像是在一个共享房间里工作的孤独天才。它们个体表现极其高效,但由于它们互不沟通(即使是同一个模型),它们经常会自己绊倒自己的脚。

  • 频率: 它们几乎总是在并发工作。
  • 冲突率: 同类机器人冲突约 20%,异类机器人冲突约 42%。
  • 混乱程度: 冲突主要集中在代码结构上(如删除 vs 添加文件),而非简单的拼写错误。

研究人员建议,为了让 AI 真正能够协助构建软件,我们需要教会这些机器人如何协调各自的进度,并在开始对同一段代码“挥锤施工”之前学会互相交流。

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

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

试用 Digest →