Tools

AI Agent 写的代码靠谱吗?24000+ PR 数据揭示真相

9 min read ·

从”AI 辅助编码”到”AI 自主提交 PR”

2025 年是 AI 编码工具爆发的一年——Copilot、Cursor、Claude Code 成为开发者的标配。但到了 2026 年,行业已经走到了下一步:AI Agent 不再只是补全代码片段,而是独立完成整个 Pull Request。从理解 Issue、编写代码、生成测试到提交 PR,全流程自主完成。

这引出了一个关键问题:AI Agent 写的代码,到底靠不靠谱?

过去我们只能凭个人经验和零散案例来判断。但现在,MSR 2026(Mining Software Repositories)会议的 Mining Challenge 给出了迄今最大规模的实证数据。多个研究团队基于同一个数据集,从不同角度拆解了 AI Agent 代码的真实质量。

这篇文章就带你深入这些研究成果,看看 24000 多个 Agentic PR 背后藏着什么。

AIDev 数据集:目前最大的 AI 代码质量研究基础

MSR 2026 Mining Challenge 使用的 AIDev 数据集,是目前公开可用的最大规模 Agentic PR 数据集。先看核心数字:

维度数值
Agentic PR 数量24,014 个(已合并)
总 Commit 数440,295 个
人类 PR 对照组5,081 个
覆盖 AgentClaude、Copilot、Cursor、Devin、Codex
数据来源GitHub 公开仓库
时间范围2025 年初至 2026 年初

数据集的构建方式值得关注:研究团队通过 PR 中的 bot 标签、commit message 模式、以及 Agent 特有的签名信息来识别 Agentic PR,并与人类 PR 进行配对对照。这种设计让研究结论具备了对比基准,而不是孤立地评价 AI 代码。

💡 为什么这个数据集重要:过去关于 AI 代码质量的讨论大多基于个人体感或小样本测试。AIDev 数据集覆盖了多个主流 Agent、多种项目类型和长达一年的时间跨度,让我们第一次可以用数据说话。

五大 Agent 横评:谁在写更多的 PR?

先看各 Agent 的 PR 数量和增长趋势。

PR 数量分布

AgentPR 总数峰值月份峰值数量增长趋势
Codex最多2025 年 9 月9,089爆发式增长后回落
Copilot中等稳步增长
Claude快速增长2026 年 1 月244持续上升
Devin中等稳定
Cursor较少波动

Codex 在 2025 年 9 月的爆发非常显眼——单月 9,089 个 PR。这与 OpenAI 在当时加大了 Codex Agent 模式的推广有关。但需要注意的是,PR 数量多不等于质量高,后面的测试覆盖和回退率数据会给出更完整的画面。

Claude 的增长曲线则更稳健:从 2025 年 8 月开始出现在数据集中,到 2026 年 1 月已增长到月均 244 个 PR。虽然总量不大,但增速在五个 Agent 中是最快的。

测试覆盖率对比

测试覆盖是衡量代码质量的核心指标之一。研究论文 “An Empirical Study of Tests in Agentic Pull Requests” 对五大 Agent 的测试生成能力做了详细分析:

Agent测试生成比例变异区间评价
Devin31-34%最稳定,测试行为可预测
Copilot35-44%中等上限较高,但波动明显
Codex31-58%差异最大,取决于项目类型
Claude数据量较少,趋势向好
Cursor数据量较少

几个关键发现:

Devin 的测试行为最稳定。不管是什么类型的项目,Devin 生成测试的比例都在 31-34% 的窄区间内波动。这说明 Devin 的测试生成策略比较一致——但也意味着它在需要高测试覆盖的场景下不会自动调整策略。

Codex 的变异性最大。31% 到 58% 的区间意味着 Codex 的测试行为高度依赖于上下文。在已有完善测试框架的项目中,Codex 会生成更多测试;在缺乏测试基础设施的项目中,测试比例显著下降。

Copilot 的上限较高。44% 的测试生成比例在五个 Agent 中是最高的,但其波动也不小。结合 Copilot 长期深耕 GitHub 生态的背景,这个成绩算是预期之内。

人类如何审查 AI 代码:一个令人担忧的发现

论文 “These Aren’t the Reviews You’re Looking For” 研究了人类审查 AI PR 时的行为差异,结论令人警醒。

审查松懈效应

研究发现,人类在审查 AI 生成的 PR 时,审查强度普遍低于审查人类 PR。具体表现包括:

这看起来是好事?恰恰相反。研究团队进一步分析发现,审查松懈与后续的代码回退之间存在显著关联——审查越宽松的 AI PR,后续被回退的概率越高

“形式化审查”陷阱

为什么会这样?研究提出了”形式化审查”假说:

AI 生成的代码通常在表面质量上表现优秀——一致的代码风格、规范的命名、完整的注释、清晰的 PR 描述。这些特征恰好是人类审查者首先关注的维度。当这些维度都”看起来不错”时,审查者倾向于快速通过,而忽略了更深层的问题:

⚠️ 核心警示:AI 代码的”表面质量高”可能是一把双刃剑。它让代码更易读,但也让审查者放松警惕。团队需要意识到这一点,建立针对 AI 代码的专项审查清单。

失败分析:AI PR 为什么被拒绝

论文 “Where Do AI Coding Agents Fail?” 聚焦于被关闭或拒绝的 Agentic PR,归纳出了几类典型的失败模式。

常见失败模式

失败类型典型表现影响程度
需求理解偏差实现了 Issue 字面描述但不符合实际意图
边界条件遗漏正常输入工作正常,边界情况崩溃
集成冲突单独看没问题,但与现有代码不兼容
过度修改改动范围远超需求,引入不相关变更
测试不充分测试只覆盖 happy path,缺少异常路径
依赖引入不当引入不必要的新依赖或版本冲突

需求理解偏差是最常见也是影响最大的问题。AI Agent 擅长把 Issue 的文字描述转化为代码,但往往缺乏对项目上下文和”言外之意”的理解。一个典型的例子:Issue 描述”优化搜索性能”,AI Agent 可能重写了整个搜索模块,而维护者的实际期望只是加一个缓存层。

过度修改也值得关注。部分 Agent 倾向于在实现需求的同时”顺手”重构周边代码,导致 PR 的改动范围远超预期。对审查者来说,这增加了审查负担;对项目来说,这增加了引入回归的风险。

代码回退的原因

被合并的 AI PR 中,也有一部分后续被回退(revert)。回退的主要原因包括:

  1. 生产环境暴露问题:本地测试和 CI 通过,但在真实流量下出现性能下降或异常行为
  2. 隐藏的兼容性问题:与某些特定版本的依赖或运行环境不兼容
  3. 业务逻辑错误:代码在技术层面正确,但业务逻辑不符合预期
  4. 副作用未被发现:改动引发了看似不相关的功能异常

这些回退原因有一个共同特征:它们很难通过常规的代码审查发现。这也解释了为什么即使有人工审查,AI PR 的回退率仍然高于人类 PR。

数据背后的深层洞察

把三篇论文的发现串起来看,可以提炼出几个跨维度的洞察。

Agent 特性画像

结合所有数据,我们可以大致勾勒出各 Agent 的特性画像:

维度CodexCopilotDevinClaudeCursor
产出量极高中(快速增长)
测试稳定性波动大中等稳定数据积累中数据积累中
适用场景批量任务日常开发端到端交付复杂推理交互式开发
主要风险质量不均审查依赖上下文边界样本量少数据不足

测试覆盖 ≠ 测试质量

一个容易被忽视的点:研究中统计的是测试生成比例(PR 中是否包含测试文件的变更),而不是测试质量。一个 Agent 可以在每个 PR 中都生成测试代码,但如果测试只是在验证最基本的功能而忽略边界条件和异常路径,这样的测试覆盖在实际意义上是打了折扣的。

规模效应与质量的博弈

Codex 的数据揭示了一个有趣的张力:当 Agent 被大规模采用时,代码质量的方差会显著增大。这可能是因为大规模使用场景更加多样化,Agent 在不熟悉的领域表现自然会下降。这对依赖 AI Agent 进行批量代码生产的团队是一个重要警示。

最佳实践:如何安全地使用 AI Agent

基于研究发现,以下是面向开发团队的实操建议。

建立 AI 代码专项审查清单

既然人类在审查 AI 代码时容易”被表面质量蒙蔽”,就需要一个强制性的审查清单来对抗这种倾向:

AI PR 审查清单(建议嵌入 PR Template):
□ 需求对齐:实现是否匹配 Issue 的实际意图(不仅是字面描述)?
□ 改动范围:是否存在超出需求的"顺手重构"?
□ 边界条件:输入为空、极大值、负值时的行为是否合理?
□ 测试质量:测试是否覆盖了异常路径和边界条件?
□ 集成影响:改动是否影响了其他模块的行为?
□ 依赖变更:是否引入了新依赖?版本是否兼容?
□ 性能影响:是否存在潜在的性能回退?

渐进式采用策略

不建议一步到位地让 AI Agent 处理所有类型的任务。推荐的渐进路径如下:

第一阶段:低风险任务

第二阶段:标准功能开发

第三阶段:复杂功能开发

配套基础设施

AI Agent 不能孤立使用。必须配套的基础设施包括:

总结与展望

MSR 2026 的这批研究论文,第一次用大规模数据回答了”AI Agent 代码质量到底怎么样”这个问题。答案不是简单的好或坏,而是一幅复杂的图景:

对开发团队来说,核心启示是:AI Agent 是强大的生产力工具,但不是无需监管的自动化系统。建立针对性的审查流程、监控回退率、渐进式扩展使用范围——这些才是让 AI Agent 真正发挥价值的关键。

随着 Agent 能力的持续进化和更多实证数据的积累,我们有理由期待这些问题会逐步改善。但在当下,数据驱动的审慎乐观是最合理的态度。

Frequently asked questions

AIDev 数据集是什么,数据来源可靠吗?
AIDev 是 MSR 2026 Mining Challenge 官方数据集,来源于 GitHub 公开仓库中由 AI Agent 提交的 Pull Request。数据集包含 24014 个已合并 Agentic PR 和 5081 个人类 PR 对照组,经过严格的标注和清洗,是目前最大规模的 AI 代码质量实证研究数据。
哪个 AI Agent 的代码质量最好?
没有绝对的最好。数据显示 Devin 的测试覆盖率最稳定(31-34%),Codex 的 PR 数量最多但变异性较大(测试率 31-58%),Claude 的增长最快。不同 Agent 在不同类型的任务上各有优势,选择应基于具体项目需求和代码审查能力。
人类审查 AI 代码时有什么不同行为?
研究发现人类在审查 AI PR 时往往不够严格,容易出现形式化审查。部分原因是 AI 代码通常格式规范、注释完整,给审查者一种高质量的错觉。研究建议团队建立专门的 AI 代码审查清单,关注逻辑正确性而非代码风格。
AI Agent 代码被回退的主要原因是什么?
主要原因包括:功能实现与需求不符(理解偏差)、边界条件处理不当、与现有代码的集成冲突、以及测试覆盖不足导致隐藏缺陷在生产环境暴露。这些问题在所有 Agent 中普遍存在,不是某个特定 Agent 的问题。
开发团队应如何制定 AI Agent 使用策略?
建议采取渐进式策略:先在低风险任务上使用 AI Agent,建立代码审查规范后再扩展到核心模块。关键是不要将 AI Agent 视为替代品,而是协作工具。配合 CI/CD 自动化测试、强制代码审查、以及定期代码回退率监控,可以最大化 AI Agent 的效益。