今天看到一篇 Ars Technica 的文章,标题很扎心:AI coding agents generate more code, but not more software。
文章引用了一个研究,跟踪了 700 多家软件公司,数据截止到 2026 年 3 月。
结论很简单:AI 确实让代码产出变多了,但没有让软件变得更好。
我看到这个数字的时候愣了一下。
不是因为意外,而是因为太熟悉了。
这不就是我每天在经历的事情吗。
我现在的工作流是这样的。
早上打开电脑,先看一遍昨晚 AI 写的代码。
有时候是 Claude Code 跑的,有时候是 Codex,看心情。
代码写得挺快的,真的。
一个功能,以前我要写半天,现在 AI 二十分钟就给我了。
然后我要花一个小时 review。
不是那种随便看看的 review,是真的要一行一行看。
因为你知道的,AI 写的代码,能跑。
但不一定能用。
研究里的数据更具体。
95% 的公司已经用上了 AI 编码工具。
代码产出确实增加了。
但问题解决率没有显著提升。
Review 时间变长了。
修改请求变多了。
我看到这里的时候笑了。
这不就是"我虽然写得快,但你改得更慢"吗。
还有个数据更扎心。
80% 的公司用 AI 做 code review。
但 AI 只贡献了 23.3% 的 review 评论,10.8% 的 PR。
也就是说,绝大部分 review 工作还是人在做。
AI 没有帮你 review,它只是帮你写了更多需要 review 的代码。
这算什么效率提升?
我今天早上 review 的那段代码就是典型。
AI 写了一个数据处理函数,逻辑是对的。
但变量命名乱七八糟。
一个函数里混用了 camelCase 和 snake_case。
注释写得像流水账,“这里做了 A,然后做了 B”。
我要的不是这种注释,我要的是"为什么这么做"。
还有错误处理,AI 写了个 try-catch,然后把异常吞了。
啥也不干,就吞了。
这种代码能跑吗?
能。
能上线吗?
不能。
然后我又看到另一个研究。
arXiv 上刚发的,叫 LSCBench,测试了 6 个前沿编码智能体。
450 个任务,来自 150 个真实漏洞。
功能通过率:73.6% 到 91.3%。
听起来很牛逼对吧?
然后看安全率。
25%。
你没看错,25%。
也就是说,AI 写的代码,90% 的概率能跑,但只有 25% 的概率是安全的。
这中间的差距是什么?
是我要花时间去填的坑。
我有时候会想,AI 编码工具到底改变了什么。
以前我写代码,写得慢,但想得清楚。
写之前会在脑子里过一遍,这个函数要干什么,边界条件是什么,错误怎么处理。
写的时候也会边写边想,这行代码会不会有问题。
写完还会自己 review 一遍。
现在呢。
AI 写得快,但我想得少了。
因为我觉得"反正有 AI 帮我写"。
然后 review 的时候才发现,我其实没想清楚我要什么。
AI 也不知道我要什么。
它只是根据我的 prompt 写了一堆代码。
能跑,但不是我要的。
JetBrains 的调查还有个数据。
90% 的开发者每周至少用一次 AI 编码工具。
68% 每天用。
Claude Code 39%,GitHub Copilot 21%,OpenAI Codex 16%,Cursor 12%。
这个格局和半年前完全不一样了。
Claude Code 从 18% 涨到 39%,Cursor 从 18% 跌到 12%。
大家都在从"辅助补全"转向"自主执行"。
但问题是,自主执行不等于执行得好。
我今天下午又遇到一个事。
让 AI 写一个数据库查询优化。
它给了我一个方案,加了个索引,重写了查询语句。
我一看,逻辑是对的。
然后跑了一下,性能确实提升了。
从 2 秒降到 0.5 秒。
但我多问了一句:为什么这么改?
AI 说:加索引可以加速查询。
废话。
我问的是为什么选这个字段加索引,为什么重写这个 JOIN,为什么不用子查询。
它答不上来。
或者说,它给出的答案很泛,没有针对性。
最后我还是自己把执行计划看了一遍,才真正理解为什么要这么改。
AI 给了我答案,但没有给我理解。
这就是问题所在。
AI 写的代码,能跑。
但不一定能用。
能用的代码,不一定能维护。
能维护的代码,不一定安全。
安全的代码,不一定是最优的。
每一层都需要人去判断,去决策,去理解。
AI 没有帮你跳过这些步骤,它只是把"写代码"这一步变快了。
但"写代码"本来就不是最耗时的部分。
想清楚才是。
我有时候会想,我们是不是被"代码产出"这个指标骗了。
以前我们衡量开发效率,看的是写了多少行代码。
后来我们知道这是错的,因为代码越多不一定越好。
现在 AI 来了,代码产出确实翻倍了。
然后呢?
软件变好了吗?
Bug 变少了吗?
用户满意了吗?
好像都没有。
因为我们衡量的东西错了。
我现在的做法是,限制 AI 写的代码量。
不是不让它写,而是不让它一次写太多。
一个功能拆成几个小任务,每个任务让 AI 写一小部分。
然后我 review 一部分,理解一部分。
这样虽然慢一点,但至少我知道自己在做什么。
也不会被 AI 牵着鼻子走。
有人说这是"人肉瓶颈"。
我觉得不是。
这是"人在回路"。
AI 可以帮你写代码,但不能帮你理解代码。
理解这件事,只能自己来。
晚上收工的时候,我算了一下今天的产出。
AI 写了大概 800 行代码。
我 review 了 600 行,改了 200 行。
最后实际提交的,大概 400 行。
如果没有 AI,我可能自己写 300 行。
代码量多了,但真正有价值的产出,好像也没多多少。
有人说 AI 是 10 倍效率提升。
我体感是 2 倍。
而且这 2 倍不是"写得快",是"想得清楚"。
因为 AI 帮我处理了一些机械性的工作,我可以把精力放在真正需要思考的地方。
但如果我不思考,只是让 AI 一直写,那效率反而是负的。
因为我要花更多时间去改它写的东西。
所以我觉得,AI 编码工具最大的价值,不是帮你写代码。
是帮你把时间花在刀刃上。
以前我要花 60% 的时间写代码,40% 的时间想。
现在反过来了,20% 的时间写,80% 的时间想。
写的事情交给 AI,想的事情只能自己来。
如果你还在追求"AI 帮我写更多代码",那方向错了。
应该是"AI 帮我想得更清楚"。
代码只是结果,思考才是过程。
过程对了,结果不会差。
过程错了,代码写得再多,也不是软件。
只是代码。
