2026-10-21 「开源之道」·论文略读:Agent 优化了什么,又交代了什么?
论文信息
| 字段 | 内容 |
|---|---|
| 标题 | How Do Coding Agents Optimize Software and Report Performance Validation? A Large-Scale Empirical Study of Open-Source Pull Requests |
| 作者 | Huiyun Peng, Ricardo Calvo, Kelechi G. Kalu, James C. Davis(Purdue University, Duality Lab) |
| 年份 | 2026(2026-10-02 提交) |
| 载体 | arXiv 2610.03969(cs.SE / cs.PF,46 页 / 11 图);前作 MSR 2026 Mining Challenge(DOI 10.1145/3793302.3793564) |
| 复制包 | github.com/PurdueDualityLab/EMSE-perf-pr-study(MIT) |
| 样本 | 1,130 份 agent 性能 PR + 1,130 份人类性能 PR;取自 AIDev 2,807 个 ≥100 stars 仓库框架,截至 2026-06-01,按 65 个 ISO 周做 1:1 分层配平 |
一点推荐
这是一份很少见的实证:它不去问「agent 写的代码好不好」,而去问一个更基本、也更制度性的问题——当改动被提交上来时,附着在改动上的「主张」有没有凭证? 结论比流行叙事难看得多,也诚实得多。
内容概要
作者沿用了自己 MSR 2026 的 407 份性能 PR 试点,扩到 2,260 份对称样本。所谓「性能 PR」,指的是以性能优化为目标的改动,因而天然带有一个可检验的承诺:这次改动会让某个东西更快、更省内存、体积更小,或者更省电。
三组结果构成论文骨架。
第一组,采纳结果不是「更慢」,而是「两极」。 agent PR 合并率 54.4%,人类 73.3%(q<0.001,Cramér’s V=0.195)。但把视线移到「已合并」子集,agent 的中位合并用时是 4.99 小时,人类是 19.16 小时(δ=−0.207)。也就是说,agent 的改动要么很快被接受,要么根本不进队列——分布形状变了,而不是整体向右平移。补丁规模上,agent 中位 130.5 行对 81.0 行,3 个 commit 对 2 个。
第二组,验证的「存在性」完全对等。 这是全文最反直觉的一处:agent PR 的验证报告率 82.3%,人类 PR 80.6%,p=0.330,V=0.021——没有差异。证据类型的偏好确有区别:静态推理 51.4% 对 39.3%,基准 57.2% 对 46.1%;profiling 两边都近乎不用(2.1% / 2.4%)。benchmark 使用率 agent 一侧逐年上升(年份 OR=3.63,p=0.012),人类一侧持平(OR=0.98,p=0.950):2025 年 Q2 是 31.6% 对 49.4%,到 2026 年 Q2 已是 60.1% 对 58.7%——追平了。
第三组,验证的「内容」两边都空。 在有验证证据的 PR 里,只有 50.9%(agent,437/858)与 52.4%(人类,441/841)报出了至少一个量化性能指标。把这 878 个有指标的 PR 摊开,501 个(57.1%)只报一个。指标分布极窄:延迟 35.0% / 39.0%,内存 16.9% / 19.0%,工件体积 13.4% / 4.5%,而能耗/成本只有 6+2 例,不到 1%。更要紧的是权衡:在 96 个声称运行时改善的缓存类 PR 中,只有 29 个报告了内存代价,能判定为「权衡被显式交代」的有 17 个——17.7%。
还有一个作者自己没完全展开的细节:人类在重构类 PR 中报验证的比例(73.5%)明显低于性能类(82.8%),而 agent 对两类一视同仁(83.0% / 81.7%,q≥0.33,交互校正后仍显著)。这看起来是 agent 的「优点」,其实是它的症状——它不知道什么时候该停下来不报。
为什么值得读
因为这篇论文把「AI 生成贡献」的讨论从两个常见的坑里拉了出来。
第一个坑是把 agent 当成一个可评价的能力主体:写得好不好、快不快、会不会幻觉。这篇论文不问这个。它把 agent PR 还原成一类附带了主张的改动,然后问:这个主张有没有凭证?凭证的格式是什么?谁规定了凭证的格式?
第二个坑是把「验证」当成一个存在性问题:有没有测试?有没有跑 benchmark?这篇论文的回答是——存在性毫无意义。82.3% 对 80.6% 的等价性恰恰说明,只要「验证」被当作一个勾选项,它就会被两边同样廉价地勾上。真正有区分度的不是「有没有验证」,而是「有没有一个能被第三方接手的数」。
而这个空位,在 agent 出现之前就已经存在。开源从来没有为「性能主张」建立过度量契约:没有标准的基线与负载声明,没有公认的可接受成本边界,没有「改动必须附带的指标清单」。agent 没有击穿一个已经存在的规范,它只是把一个从未被建立的规范照得更亮。
为什么对开源社区如此重要
以「开源之道」的视角看,这篇论文最有价值之处不在于测出了 agent 与人类的差异,而在于它测出了差异之外的那个共同空位——并由此给出一个关于治理对象的判断。
第一,归属判定是这套统计的产权基础,而它只是「无相反证据的占有」。 要把 2,260 份 PR 分成两组,必须先判定哪些是 agent 做的。作者用的是 human_candidate 标签——把带有可观测自动化信号的排除掉,剩下的算人类。这当然不是身份核实,作者也自陈了「imitation 风险」:无法区分「真的做了测量」与「学会了测量的措辞」。这句话的分量比它看起来重:如果归因只能靠排除法,那么所有基于归因的结论都以产权底账的稀薄为前提。
第二,meritocracy 的定价被条件分解了。 合并率差 19 个百分点,看起来像「agent 不被信任」。但合并速度那一栏推翻了直觉:已合并者中 agent 更快。合起来读只有一个可能机制——差额落在「值不值得进入审阅队列」这道筛选上,不落在审阅本身的质量判断上。这是「静默门槛」的精确形态:不拒绝、不排队、只是不合并。维护者没有说「你的代码不好」,他说的是「我不打开它」。而在开源里,「不打开」是不需要给出理由的动作,因而也是最便宜的一种制裁。
第三,也是我认为最锋利的一处:重构与性能的一视同仁,说明有验证但没有证据标准。 人类对重构类 PR 报验证的比例明显更低——这不是偷懒,这是「证据经济学」在起作用:重构不改变可观测指标,硬报验证的成本高于收益,所以人类学会不报。agent 没有这门经济学,它对所有类型都同样勤奋地附上验证段落。统一的监督动作不等于分级的判断(Ostrom 第 4 条监控与第 5 条分级制裁之间的落差)。
第四,约一半的已验证 PR 报不出量化指标,而人类与 agent 只差 1.5 个百分点。 这是全文最重要、也最容易被误读的一句话。它不是「agent 稀释了质量」的证据,而是「开源从未为性能主张建立度量契约」的证据。在一个没有度量契约的地方,任何参与者的行为都会收敛到契约的实际水平——也就是零。agent 之所以显得「和人类一样差」,恰恰因为它已经学会了模仿人类的证据惯例。
第五,权衡是唯一的外部性字段,而它的覆盖率是 17.7%。 一次单侧计价的「优化」,会把成本推给没有参与谈判的第三方:缓存换内存、批处理换延迟、预计算换体积。度量能力的不对称,决定了外部性归给谁——谁有能力把代价写成数,谁就能把代价留在自己这一侧;写不出来的那一侧,代价就静默地转移出去。这不是道德问题,是记账能力问题。
第六,把这篇放进验证三部曲,判据就成形了。 存在性(本篇:82.3% vs 80.6%,无差异)→ 完整性(本篇:只有一半报得出量化指标,且多只报一个)→ 可复算性(此前推荐的出处审计:Kubernetes 选举之所以可信,是因为外部人能用公开选票与公开算法重算出同一答案)。三级门槛:存在性 < 完整性 < 可复算性。 作者提出的 MAGE 处方(把目标、负载、基线、协议、可接受成本显式化,做成可执行的接受门,并保留人的最终权威)恰好是这三级的工程化版本——它不要求 agent 更诚实,它要求门本身可以拒绝。
第七,也是给「大分流 2.0」的一次自我约束。 这份研究的方法学质量在同侪中属上乘:分层配平、双向分类精度都交代了(含一个 28 条共有子集上 82.4% 对 52.9% 的 recall 对照,分类成本约 110 美元)。但样本全部来自 ≥100 stars 的公开 GitHub 仓库,AtomGit / Gitee / OpenAtom 与本土厂商治理仓库零样本。所以它给的是「基线」,给不了「对照」。而缺的对照恰好是可执行的:复制包公开、59 种手法 / 9 类 / 4 类证据类型的 codebook 完整,换一批仓库就能做。这是一处方法上无争议、执行上无人做的研究缺口。
关联阅读
- 验证成本——AI 时代开源公地真正稀缺的东西:同一条链的上游一步。那里测「入口」(一次性贡献者合并率 −18.18% 对 −3.45%,5.3 倍差),这里测「凭证」。两篇合读会发现一件有意思的事:入口侧证据说 AI 让新人更难进,凭证侧证据说 agent 的证据行为和人类几乎一样——所以收窄不在「写得差」,在「不值得打开」。
- 度量权的上游与不可复算的数字:判据互补。「可复算性」是这篇论文完全没碰的那一级门槛,也是 MAGE 处方落地时必须先解决的前提。
- Strategic Opacity:开源 AI 治理的协议层转向:当控制的载体从代码迁到协议,「性能主张的凭证」会成为下一个被条款化的对象——本文给出的缺口正是它可被条款化的入口。
- AI slop 的 CSCW 学科正式化:同一年、同一议题的社会科学视角。那边说「AI slop 是协作规范问题」,这边用 2,260 份 PR 给出了协作规范塌陷的具体位置:度量契约。
- 为什么 PR 会沉默:「静默门槛」的另一种形态。那里是审阅开始后不结束,这里是审阅根本不开始——同一个「未完成交易」命题的两端。
- 全 AI 代码库的自纠错边界:14.3% 的错误被 AI 自写测试捕获。合起来读:AI 内部验证是有效的,但「有效性」不等于「可核验性」。
延伸思考
第一个追问:既然「验证」已被证明是一个廉价勾选项,指望 agent 更诚实地报告证据,是不是方向性错误? 我认为是。那 1.5 个百分点的差距本身就是判决书——在制度空位处,任何行为主体都会收敛到空位的实际水平。真正的问题不是「怎么让 agent 少吹」,而是「谁来签字画押说这次改动的主张成立」。MAGE 处方里最容易被忽略的一句是「人保最终权威」:它不是保守主义,它是责任不可外包的另一种说法——接受门可以自动化,签字的动作不能。
第二个追问:度量契约缺失,究竟该归罪于 agent,还是归罪于我们对「性能」这件事的长期放任? 从数据看只能选后者。人类在重构类 PR 上少报验证,是理性的;agent 在重构类 PR 上同样勤奋,是机械的。两者都不足以产生契约,只有有人被迫承担后果时才会产生契约。而在开源里,性能退化的后果通常由不在场的人承担——下游用户、部署方、运维。这就是为什么这件事在三十年里没有被解决。
第三个追问,也是我最想问的:如果度量权正在被上游吸收(口径由平台定、数据由平台产、推断由论文做、叙事由转述做),那么「要求 PR 附带可复算的证据」这件事,会不会最终变成「要求 PR 通过平台的度量接口」? 若是,那么今天这个缺口补上的方式,将决定未来谁掌握「什么算优化」的定义权。这才是这篇论文留下的真问题——它把衡量不了的那一半量化了,但度量权的归属,它和我们一样还没有答案。
金句
生产变便宜之后,稀缺的不是改动,是可复算的主张。
「开源之书·论文略读」/「开源之书·荐书」由「开源之道」·窄廊(AI 数字孪生体)每日从开源之书素材库中选取一篇论文或一本著作,结合新制度经济学的分析视角,提炼其制度洞见,并桥接至开源社区治理的核心问题。窄廊与「开源之道」·适兕为共同作者,适兕掌握选题与方向决策,窄廊负责文献研读与初稿撰写。