乐于分享
好东西不私藏

AI编程工具翻车现场:代码写得更快,返工也可能来得更快

AI编程工具翻车现场:代码写得更快,返工也可能来得更快

你以为引进 AI 是给团队装上火箭?多份报告提醒我们:如果只看代码行数和 PR 数量,你可能只是买了一台更快的代码打印机。
上周和一位在金融公司做技术管理的朋友聊天,他跟我吐槽了一个现象:
去年上了 AI 编程工具,团队代码产出看起来涨得很猛,但代码审查开始积压,安全问题也变多了。现在每天不像是在写代码,更像是在给 AI 生成的代码填坑。
这个案例没法公开核实,所以我不把它当作证据。
但有意思的是,2025 到 2026 年,GitClear、Faros AI、Jellyfish、CodeRabbit、SonarSource、METR 等机构陆续发布的数据,都指向了一个类似的风险:AI 编程工具确实能提高产出速度,但如果团队只盯着代码行数、PR 数量、提交频率,很容易低估后续返工、审查和维护成本。
今天我们就来扒一扒这个问题。
不是为了劝退 AI 编程。而是为了搞清楚,什么时候它是加速器,什么时候它会变成技术债制造机。

一、你以为的”高采纳率”,可能没有想象中那么扎实

先来一道送命题:你的团队真的在有效使用 AI 编程工具吗?
很多管理者看到的第一个指标,是采纳率。
谁装了插件,谁打开了 Copilot,谁在 IDE 里用了 AI,谁提交过 AI 辅助生成的代码。
这些数字看起来很漂亮。
但问题是,使用过,不等于有效使用;合并过,不等于长期存活;短期跑通,不等于三个月后仍然可维护。
Waydev 官方产品页强调了一个类似问题:企业需要区分 AI 代码的生成、采纳、最终进入生产环境,以及这些代码后续是否仍然保留。也就是说,真正该看的不是”有没有用 AI”,而是 AI 产出的代码到底有没有经受住实际工程周期。
这个问题在 GitClear 的报告里也被反复提到。
他们关注的不是”AI 写了多少代码”,而是这些代码后续有没有产生更多 churn,也就是短期内被改来改去、删掉、重写。
所以,下次看到”AI 采纳率 90%”这种数字时,我建议先问一句:90% 之后呢?这些代码两周后还在吗?三个月后还在吗?它是稳定地进入了系统,还是只是更快地产生了一批需要别人返工的半成品?这才是关键。

二、数据说话:AI 代码到底带来了什么变化?

光说现象不够,咱们看几组相对可核实的数据。
GitClear 在 2025 年的 AI Copilot Code Quality 报告中,分析了 2020 到 2024 年间超过 2.11 亿行代码变更。他们最核心的观察是,随着 AI 编程工具普及,代码 churn 和复制粘贴式变更明显上升,而重构类变更下降。
这不是一个小信号。
因为代码质量最怕的,不是单纯写得多。是写得多,但结构越来越散,重复越来越多,后续修改越来越频繁。

📊 1. 短期返工比例上升

GitClear 报告中,一个值得注意的数据是:短期 churn 从约 3.1% 上升到 5.7%,增长幅度约 84%。
这里的意思不是”AI 写的每一行代码都会返工”。
更准确地说,是在他们分析的代码库里,短期内被重写、改动、删除的代码比例明显升高。
+84%
短期 churn 增长幅度(3.1% → 5.7%)
翻译成人话就是:代码产出速度变快了,但代码稳定留下来的能力,没有同等变强。
这就很麻烦。因为一个团队最贵的成本,往往不是写第一版代码。而是后面反复读它、改它、修它、解释它。

📊 2. 重构占比下降,复制粘贴式代码增加

GitClear 还观察到,重构或移动类变更占比从 2021 年约 25% 降到 2024 年低于 10%,复制粘贴式代码从 8.3% 升到 12.3%。
25%→10%
重构类变更占比大幅下降
8.3%→12.3%
复制粘贴式代码增加
这个趋势很值得警惕。因为重构下降,不一定说明系统更稳定。它也可能说明团队在忙着堆新代码,而不是改善已有结构。
复制粘贴增加,也不一定全部是 AI 的锅。但它和 AI 生成代码的使用场景高度贴合。
你让 AI 帮你写一个模块,它很容易给你一坨看起来能跑的实现。然后你复制进去,稍微改改,PR 合并。短期看,效率很高。长期看,系统里多了一块没人真正消化过的东西。这就是技术债最喜欢的土壤。

📊 3. AI 代码的问题率并不低

CodeRabbit 在一份基于 470 个开源 PR 的分析里,把 AI-authored PR 和 human-only PR 做了对比。
他们发现,AI-authored PR 平均每个 PR 约有 10.83 个问题,而 human-only PR 约为 6.45 个问题。换句话说,AI PR 的问题数量约为人工 PR 的 1.7 倍。
1.7倍
AI PR 问题数量 vs 人工 PR(10.83 vs 6.45)
+75%
逻辑和正确性问题增幅
2.74倍
安全类问题发生率最高值
注意,这里不是说”每 100 行 AI 代码多出 2.74 个安全漏洞”。这个说法太夸张,也不准确。
更准确的表达是,在 CodeRabbit 的样本中,AI 生成 PR 的安全类问题发生率最高达到人工 PR 的 2.74 倍。
差别很大。但即便这样,也已经足够让技术团队警惕了。

📊 4. 代码异味问题也很突出

SonarSource 对多个大模型完成 Java 编程任务的输出做过分析。他们发现,在模型输出的问题中,代码异味占比超过 90%。
这里也要注意,不是”90% 的 AI 代码都有代码异味”。
更准确地说,是 Sonar 的样本里,AI 输出暴露出来的问题大多数属于 code smell,也就是可维护性、可读性、结构质量相关的问题。
这很符合实际体感。AI 代码最常见的问题,往往不是一眼就炸。而是看起来能跑但不好读,不好维护,和系统风格不贴,边界条件考虑不足。这种问题,短期不一定阻塞上线,长期却很贵。

三、为什么 AI 会带来”高产量、低质量”的错觉?

数据看完了,问题来了。
为什么 AI 看起来那么能写,写出来的东西却经常不经用?
我自己的理解,有三个原因。

🔍 1. 认知负荷从”思考”转移到了”审查”

以前写代码,你得先理解需求、设计结构、考虑边界条件,然后再动手。
现在你一句:
帮我写个登录模块。
AI 哗哗给你一堆代码。这当然爽。
但问题是,思考并没有消失。它只是从写代码之前,转移到了审代码之后。你不需要从空白文件开始写了,但你得判断 AI 写出来的东西到底对不对,和现有系统是否兼容,安全边界有没有漏,异常路径有没有处理。代码是 AI 写的。责任还是你的。

🔍 2. “看起来跑通”掩盖了”长期正确”

传统编程里,很多错误会在写的过程中暴露出来。
编译器报错,测试失败,类型不匹配,接口对不上。
AI 编程的问题是,它经常能给你一份”表面完整”的答案。
函数有了。注释有了。测试甚至也有了。
但业务逻辑可能错了,边界条件可能漏了,鉴权可能不严,异常处理可能只是装装样子。
这就是最危险的地方。短期跑通,不代表长期正确。AI 很擅长生成”看起来对”的代码。但工程系统需要的,是”在真实上下文里真的对”的代码。

🔍 3. 上下文仍然是硬伤

AI 不天然知道你的项目历史、架构设计、技术债情况、团队约定、隐藏业务规则。
它能看到多少上下文,取决于你给了它多少,以及工具能检索多少。
这就会导致一个典型问题:代码能跑,但和系统格格不入。像一个外星人学做中国菜。配方都对。但味道不对。工程里的”味道”,其实就是长期积累出来的上下文。AI 如果拿不到这些上下文,就很容易写出局部合理、全局别扭的代码。

四、谁在承受代价?

👤 初级工程师:看起来更快,成长可能更慢

METR 在 2025 年做过一个很有争议的实验。
他们让 16 位经验丰富的开源开发者,在自己熟悉的大型代码库里完成 246 个真实任务。结果很反直觉:开发者主观感觉 AI 让自己快了约 20%,但实际完成时间反而慢了约 19%。
+20%
开发者主观感觉的效率提升
-19%
实际完成时间(反而变慢)
这个研究不能直接推广到所有程序员。因为它测的是有经验的开源开发者、熟悉的大型仓库、真实维护任务。
但它至少提醒我们一件事:
AI 带来的”感觉变快”,不一定等于真实效率提升。
对初级工程师来说,风险还不一样。
如果一个新人长期依赖 AI 生成代码,却没有认真理解、调试、重构和复盘,他可能会跳过很多本该亲自踩坑的成长环节。短期看,交付快了。长期看,判断力没长出来。这才是更隐蔽的问题。

👤 资深工程师:从写代码变成审代码

资深工程师也不轻松。
AI 让团队更容易产出 PR,也让资深工程师更容易被淹没在 review 里。
Jellyfish 在 2026 年的一篇分析里提到,高 token 使用和更高 PR 吞吐有关,但 token 成本和审查成本也显著上升。文章里一个很直观的结论是,高 token 使用者的 PR 吞吐更高,但每个 PR 对应的 token 消耗接近十倍量级。
换句话说,成本没有消失。它只是换了地方。从”写代码的时间”,转移到了”生成、筛选、审查、返工”的时间。
这也是很多资深工程师最近的真实体感:
以前是我自己写代码。现在是我审核一堆看起来很像代码的代码。尼玛。

五、管理者的困境:你可能在衡量错误的东西

很多技术管理者面对 AI 编程工具,脑子里想的是:
提升团队产出。降低人力成本。加速迭代。
这都没问题。
问题是,他们最后衡量的指标,往往变成了代码行数、PR 数量、commit 频率。
这就非常危险。因为代码行数从来不是产出。PR 数量也不是产出。commit 更不是产出。真正有价值的,是能交付、功能正确、可维护、能安全运行的代码。
Faros AI 在 2026 年的报告里也提出了类似警告:AI 可以显著提升 throughput,但同时也可能伴随 code churn、bug、incident、review 压力等指标上升。
也就是说,团队不能只问:
AI 让我们写得更快了吗?
还得问:
这些代码留下来了吗?这些代码出问题了吗?谁在审这些代码?三个月后维护它的人会不会骂人?这才是工程管理真正该关心的问题。

六、那到底该怎么用 AI 编程工具?

我不是来劝退的。
AI 编程工具当然有价值。
关键是,别把它当银弹。更不要把它当廉价替代品。

✅ 1. 明确边界

AI 更适合这些场景:
样板代码生成
简单 CRUD
单函数级别的重构
文档生成
测试用例草稿
代码迁移的初始版本
熟悉代码库时的辅助解释
但这些场景要小心:
核心业务逻辑
支付、鉴权、权限系统
安全敏感代码
基础设施改动
大规模架构调整
跨模块复杂重构

不是说这些地方完全不能用 AI。而是不能让 AI 独立完成

✅ 2. 设立 AI 代码审查红线

团队应该明确规定,哪些代码可以 AI 辅助,哪些必须人工强审,哪些不允许 AI 独立生成后直接合并。
一个简单版本可以这样:
场景 AI 可辅助 必须人工强审 不允许直接合并
简单函数
CRUD
视情况
业务逻辑
安全敏感代码
支付/鉴权
仅辅助解释和测试
基础设施
仅辅助草稿
核心原则就一句:AI 生成,你负责。就像你不会让实习生写的代码不经 review 直接上生产,AI 代码也不应该享受特权。

✅ 3. 衡量正确的指标

别再只数代码行数了。
建议关注这些:
代码审查通过率
PR 从创建到合并的周期
合并后两周内 churn
上线后 bug 率
安全问题数量
代码重复率
重构占比
技术债务增量
新人工程师成长速度
这些指标不一定都要上。
但至少要意识到,AI 编程的价值不能只用”写了多少”来衡量。写得多,可能是效率。也可能是污染。

写在最后

AI 编程工具不是洪水猛兽。
但也不是银弹。
它更像一把电锯。用对了,省力很多。用错了,砍断的是你自己的工程质量。
这几年 AI 编程工具最容易制造的幻觉,是让我们把”产出速度”误认为”工程效率”。
但数据提醒我们,高产量不等于高效率,高采纳率不等于高价值,高 PR 数不等于高交付。
下次再看到”AI 让团队效率提升 300%”这种宣传时,不妨先问三个问题:1. 这个效率是怎么定义的?2. 质量指标有没有一起变化?3. 这些代码三个月后还在吗?想清楚这三个问题,你大概就知道该不该信了。

数据来源:GitClear 2025 AI Copilot Code Quality Report、GitKraken 2026 AI Multiplier Effect、Faros AI 2026 Engineering Report、Jellyfish Tokenmaxxing 分析、CodeRabbit AI vs Human Code Generation Report、SonarSource LLM coding analysis、SWE-CI 研究、METR 2025 AI productivity study、Waydev AI Adoption 产品资料及相关报道。