当前位置: 首页 > news >正文

我用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是"建立在流沙之上的建筑"。他描述了三个致命陷阱:

  1. 技术次贷危机:代码生成的边际成本趋近于零,但理解这些代码的成本呈指数级上升
  2. 死亡螺旋:新手前两周觉得自己是天才,然后遇到一个Bug。把错误喂给AI,AI生成新的错误。无限递归,直到人类完全失去控制。
  3. 维护陷阱:开发速度提升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争议#职业发展

http://www.jsqmd.com/news/992331/

相关文章:

  • 医药企业花千万建系统,却卡在了这件最基础的事上
  • ViT架构解析:从Transformer到视觉识别的跨界革命
  • MPC8314E高速接口电气特性解析与硬件设计实战
  • 免费开源网络速度测试工具OpenSpeedTest™:3分钟搭建专属测速站
  • 【MATLAB】飞行器姿态快速收敛控制算法实现
  • 低查重AI教材编写利器!AI工具助力,快速生成实用教材
  • 深度测评:餐饮老板怎么评估数字化转型方案的投入产出?
  • 从游戏玩家到电影导演:用League Director打造专业级英雄联盟视频
  • 虚幻引擎资产深度编辑终极指南:UAssetGUI 5大核心特性解析
  • 影刀RPA新手教程_输入文本与模拟输入的区别
  • 实战USG5500防火墙安全域与策略配置:从零构建Trust-DMZ-Untrust访问模型
  • 沈阳苏家屯区防水补漏哪家靠谱?2026正规修缮公司排名实测 - 苏易房屋修缮
  • 如何高效使用SuperRDP:Windows远程桌面完整功能配置指南
  • Revelation光影包:如何为你的Minecraft世界注入电影级视觉体验
  • 河南乐算企业服务集团:郑州高新区/金水区代理记账及费用优化专业服务商 - 品牌推荐官
  • 开源Cherry MX键帽3D模型库:从零打造个性化机械键盘的完整指南
  • 亚马逊美国站CPSC新规
  • 【C/C++】深入解析uint8_t、uint16_t、uint32_t之间的数据转换与字节序处理
  • 3分钟解锁Adobe全家桶:GenP通用补丁使用全攻略
  • PCAL9555A I2C GPIO扩展芯片实战:驱动开发、中断处理与性能调优
  • 拯救者 Y70 隐藏用法!一键快速查看当日运动数据
  • I2C总线电容隔离与热插拔设计:PCA9510A缓冲器原理与应用实战
  • prototype 注入到 singleton 里,prototype是否还是线程安全的
  • DDrawCompat完整指南:5分钟让经典游戏在现代Windows上流畅运行
  • 2026深圳黄金回收 TOP 榜,11家实体实测,这几家最值得选 - 奢侈品回收测评
  • 2026年6月10日科技热点新闻
  • 2026企业架构实战:ERP单据异常智能排查与日志联动分析,如何靠实在Agent破解集成僵局?
  • 如何在Mac上免费获得专业级医学影像处理工具:Horos完整指南
  • 30张实拍共享单车图像+VOC标准XML标注,适配YOLO/Faster R-CNN训练
  • # 打车票根卡片 UI 重构:从 Circle 挖洞到 clipShape PathShape,再到 100% 自适应