我用Claude Code写了2万行核心代码,然后亲手把它们全部删掉了
我用Claude Code写了2万行核心代码,然后亲手把它们全部删掉了
一句话导读:2026年,AI编程工具已经从"辅助"变成了"主力"。但当Node.js核心团队用AI生成了21000行代码并试图合入主仓库时,上百名开发者联名抗议。Google首席工程师用Claude Code一小时复现了团队一年的工作。而我,在亲手删掉自己用AI写的2万行代码后,终于理解了这场争论背后真正的危机——我们正在把"生成速度"误认为"工程能力"。
一、那个让我失眠的夜晚
今年3月,我所在的项目需要重构一个核心模块。按照以往的经验,这至少需要3周。
我打开了Claude Code。
6个小时后,21000行代码躺在我的仓库里。所有测试通过,覆盖率90%+,甚至比我自己写的还要规范。
那天晚上我失眠了。
不是因为兴奋。而是因为我突然意识到——这21000行代码里,我真正理解的,不到2000行。
二、“没问题,反正测试都过了”
第二天,我试图向同事解释这个模块的架构设计。
我发现自己说不清楚。
“这里为什么用观察者模式而不是发布-订阅?”
“这个边界条件为什么这样处理?”
“这段并发逻辑在极端情况下会发生什么?”
我不知道。AI替我做了这些决定,而我甚至没有注意到它们被做出了。
同事安慰我:“没关系,反正测试都过了。”
这句话,就是2026年整个软件行业最大的定时炸弹。
三、数据不会撒谎——但人会骗自己
就在我挣扎的时候,几条新闻几乎同时引爆了开发者社区:
事件一:Node.js"AI代码入侵"事件
Node.js TSC成员Matteo Collina用Claude Code生成了约21000行VFS(虚拟文件系统)核心代码并提交PR。社区瞬间炸锅。上百名开发者联名请愿,要求禁止AI生成的代码进入Node.js核心仓库。理由不是代码写得不好,而是——没人能说清楚这些代码在干什么。
事件二:Google首席工程师的"7百万浏览炸弹"
Google首席工程师Jaana Dogan在社交平台发帖:她用Claude Code在一个小时内,复现了团队去年花一整年构建的分布式代理编排系统。这条帖子3天内获得超过700万次浏览。她预测:“2026年将是充满争议的一年”,并直言AI编程代理已经成为开发者社区"最具分裂性的话题"。
事件三:Zig创始人的"垃圾宣言"
Zig语言创始人Andrew Kelley在JetBrains播客中直接开炮:AI生成的代码提交"一律是垃圾",甚至具有"负价值"——因为它们浪费了维护者有限的审查时间。Zig项目将对AI辅助的提交采取直接拒绝的政策。
但这还不是最可怕的数据。
METR实验室的一项研究显示:有经验的开发者使用AI后,实际效率反而下降了19%——但他们自己却"感觉"快了20%。
GitClear分析了超过2亿行代码变更,发现2024年以来,复制粘贴的代码块首次超过了被重构和复用的代码。而新代码在两周内被推翻重改的比例,几乎翻了一倍。
我们以为自己更快了。我们只是更忙了。
四、Vibe Coding:从流行词到行业级灾难
2025年2月,Andrej Karpathy(前Tesla AI总监,现任Anthropic研究员)发明了一个词:Vibe Coding。
他的原话是:“你完全把自己交给’感觉’,拥抱指数级增长,甚至忘记代码的存在。”
一年后,连Karpathy自己都改口了。他在2026年初公开表示Vibe Coding已经"过时了",转而提倡"Agentic Engineering"——人类作为编排者和管理者,而非被动的乘客。
但这个词已经产生了巨大的影响。整个2025年下半年,"Vibe Coding"成了一种文化现象:
- 13岁小孩用AI"写"出百万美元估值的创业项目
- 零编程基础的人靠AI生成的App月入600美元
- 社交媒体充斥着"3小时做一个SaaS"的教程
然后,崩塌开始了。
Cursor(AI编程工具)的CEO Michael Truell做了一个著名的压力测试:用数百个AI Agent连续168小时生成了超过300万行Rust代码,试图复现一个网页浏览器。
结果?连谷歌首页都加载不流畅。
Truell的警告振聋发聩:Vibe Coding是"建立在流沙之上的建筑"。他描述了三个致命陷阱:
- 技术次贷危机:代码生成的边际成本趋近于零,但理解这些代码的成本呈指数级上升。
- 死亡螺旋:新手前两周觉得自己是天才,然后遇到一个Bug。把错误喂给AI,AI生成新的错误。无限递归,直到人类完全失去控制。
- 维护陷阱:开发速度提升10倍,未来维护成本增加100倍。
五、“可你又凭什么说AI代码就是垃圾?”
读到这里的你,可能会反驳:你说AI代码不好,但Node.js那个PR不是所有测试都通过了吗?Zig创始人说AI代码是垃圾,是不是有点精英主义的傲慢?
好问题。我们来看看反对声音。
正方:AI编程是民主化的力量
- Andrej Karpathy:AI编程工具让没有CS学位的人也能创造软件。这不是"降低标准",这是"打破壁垒"。
- Linus Torvalds:Linux内核明确允许AI辅助开发。Torvalds的原话是——“全面禁止AI只是毫无意义的作秀”,应该追究提交者的责任,而不是限制工具。
- James Snell(Node.js TSC):唯一的评判标准应该是代码质量,而不是代码是怎么写出来的。
- OpenClaw作者Peter Steinberger:他甚至声称"Vibe Coding"已经变成了一个侮辱性词汇——传统开发者用它来贬低AI辅助开发,暗示这种方式"不费力、没技术含量"。
反方:但我们正在杀死自己的生态
- George Hotz(iPhone越狱第一人, comma.ai创始人):AI学会的是"代码产物的分布",而不是"工程判断的过程"。结果是——“坏代码越来越像好代码”,更隐蔽、更危险。
- Zoho创始人Sridhar Vembu:“开发者生产力悖论”——代码量激增,实际创造的价值却没有同步提升。他提议用**ACE(AI-Assisted Code Engineering)**取代Vibe Coding,强调纪律而非"感觉"。
- 学术界的警告:一篇题为《Vibe Coding Kills Open Source》的论文指出,AI工具正在静默吞噬开源生态——开发者不再访问项目主页、不再阅读文档、不再点Star。Tailwind CSS的文档流量比2023年下降了40%,创始人因此裁员3人。当开源维护者失去了关注、声望和经济回报,这个支撑了整个互联网的生态会怎样?
六、真正的战场不在代码,在"人"
回到我的故事。
在失眠的那晚之后,我做了一个决定:删除那21000行代码,从头手写。
不是因为AI写的代码不好。恰恰相反,它写得太好了——好到我作为这个项目的负责人,却没脸说"这是我的代码"。
四周后,我用手写的版本替换了AI生成的版本。代码行数少了40%,但这次我知道:
- 为什么选择这个设计而不是那个
- 每个边界条件背后的权衡
- 哪里可以安全修改,哪里是雷区
- 出问题时我应该先排查哪里
这些,才是工程判断。这些,AI给不了你。
但这里有一个真正的悖论
如果我的老板只关心"功能是否按时上线",如果公司的考核只看"代码产出量",如果市场只奖励"谁先发布"——那我手动重写的决定,从商业角度看,是错的。
这就是2026年每一个开发者都在面对的选择:
| 路径 | 短期收益 | 长期代价 |
|---|---|---|
| 全部AI生成 | 快、多、省人力 | 技术债爆炸、无人能维护、排错成本指数级增长 |
| 传统手写 | 可控、可维护、可传承 | 慢、“效率低”、在市场上被AI选手碾压 |
| 混合模式 | 看似平衡 | 容易滑向"AI写→人看不懂→AI改→更看不懂"的死循环 |
没有正确答案。只有不同代价。
七、微软联合署名事件:当AI开始"冒名顶替"你
2026年4月,微软做了一件让整个开发者社区爆炸的事。
在没有公告的情况下,VS Code将git.addAICoAuthor的默认值设为all。这意味着你的每一次提交,Copilot都会被自动添加为"共同作者"。
想象一下:你辛苦调试了3天,最后发现是AI生成的代码里藏了一个微妙的并发Bug。你修复了它,提交了代码,然后提交记录上写着——
Co-authored-by: Copilot <copilot@microsoft.com>开发者社区爆发了激烈的抵制。微软在3周后被迫回滚该设置并公开道歉。
这个事件的荒诞性,恰恰暴露了AI编程时代的终极问题:当代码是AI写的,Bug是AI藏的,测试是AI生成的,那么——谁是作者?谁负责?谁背锅?
八、“初级开发者在消失”——一个更深的危机
让我们暂时放下代码质量的争论,看向一个更令人不安的趋势。
根据多项独立数据源:
- 美国初级开发者岗位较2022年下降了67%
- 22-25岁软件开发者的就业率较2022年峰值下降了约20%
- CS专业的报考人数预计到2026年底将下降20%
Mark Russinovich和Scott Hanselman在2026年4月的《Communications of the ACM》上发表了一篇重磅论文,提出了**“管道收窄假说”**:
今天没有初级开发者,明天就没有高级开发者。每个高级开发者都曾经是初级开发者。如果企业用AI替代了初级岗位,那么5-10年后,谁来当高级?谁来审查AI生成的代码?谁来做出AI做不出的工程判断?
他们还举了一个具体的案例:某AI Agent在处理一个竞态条件Bug时,插入了一个sleep()调用来"修复"问题。有经验的工程师会立刻识别出这是掩盖问题而非解决问题。但一个只使用AI写代码的开发者,永远不会获得这种直觉。
AWS CEO Matt Garman称用AI替换初级开发者是"最愚蠢的想法之一"。但市场显然不这么认为——因为一个中级工程师+AI确实比一个中级工程师+两个初级工程师更省钱。
短期看,这是理性的。长期看,这是自杀。
九、我理解的"第三条路"
写到这里,我必须承认:我不会停止使用AI编程工具。如果不用,我无法在市场上竞争。这不是一个个人选择的问题,而是一个囚徒困境。
但我给自己定了三条规则,也许对你也有用:
规则一:AI生成后,必须能"讲"出来
每当我让AI生成超过200行代码,我会强迫自己关闭编辑器,向同事(或任何一个愿意听的人)口头解释:
- 这段代码在做什么
- 为什么这样做
- 如果出了问题,最可能在哪里
如果讲不清楚,说明我没有真正理解。这段代码不能合入。
规则二:核心逻辑必须手写,胶水代码可以用AI
业务核心逻辑、并发处理、安全相关、状态管理——这些我手写。
配置文件、样板代码、测试框架搭建、文档生成——这些用AI。
这个区分不是技术上的,而是认知上的。前者是你需要"拥有"的知识,后者是你需要"完成"的任务。
规则三:每两周,至少有一天"无AI日"
关掉所有AI工具,手写一天代码。不是为了效率。是为了确保你还没有退化到离开AI就不会写代码的程度。
就像飞行员不会永远开着自动驾驶飞行。暴风雨来临时,你需要能自己握住操纵杆。
十、写在最后
2026年,AI编程工具的争议只会越来越激烈。
Zig拒绝AI代码。Linux接受但要求标注。Node.js在投票。Ladybird浏览器干脆禁止了公开的Pull Request。
每个项目都在摸索自己的边界。每个开发者都在计算自己的得失。
但有一件事我很确定:
当"生成速度"被误认为"工程能力",当"测试通过"被等同于"理解系统",当"AI使用率"被当作"生产率"——我们不是在迎来效率革命,我们是在悄悄堆积未来十年的维护成本和系统性风险。
George Hotz说过一句话,我每次想到都会后背发凉:
“这将是一个垃圾代码成吨涌出的黄金时代,也是高质量精品的黑暗时代。”
选择权在我们每个人手里。
不是选择"用不用AI"——这个选择已经不存在了。
而是选择:你要做AI的执行者,还是AI的决策者。
前者只需要会描述需求。后者需要真正的工程判断。
而工程判断,从来不是在键盘上敲出来的。
本文首发于CSDN,欢迎在评论区分享你的看法:你是AI编程的拥护者还是警惕者?你所在的公司/项目对AI生成代码是什么态度?
如果你喜欢这篇文章,点赞、收藏、转发是对我最大的支持。你的每一次互动,都可能让更多正在迷茫的开发者看到这篇内容。
相关阅读推荐:
- 《Vibe Coding Kills Open Source》——学术视角分析AI编程对开源生态的影响
- 《Node.js 21000行AI代码引发的社区分裂》——事件全记录
- 《No Juniors Means No Seniors》——Forbes关于初级开发者危机的深度分析
- 《Microsoft Secretly Made Copilot Co-Author Your Code》——微软联合署名事件始末
标签:#AI编程#VibeCoding#程序员成长#技术债#软件工程#ClaudeCode#AI争议#职业发展
