为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?

AI能否替代初级开发者?我们来聊聊这个话题</p> <p>其实这种情况早就见过了,很多初级开发者都会碰到类似的问题。</p> <p>结果工作量不但没有减少,反而增加了不少。更麻烦的是,你还得判断哪些代码是开发者自己写的,哪些是AI胡乱生成的。</p> <p>真是无奈。</p> <p>不是说不信任AI,而是实在不太能信赖……</p> <p>AI能帮忙的前提是,得有人和它一起协作。</p> <p>很多人幻想着让Vibe coding来完全取代程序员。</p> <p>听说已经有不少程序员因此失业了。</p> <p>AWS的CEO Matt Garman甚至直言“用AI取代初级开发者”是“最愚蠢的想法之一”!</p> <p>作为在技术圈摸爬滚打多年的老手,我只能说:终于有大佬敢说真话了。</p> <p>那么,为什么会这么说呢?</p> <p>并不是因为节省不了钱,而是这些人根本没搞明白两件事:第一,AI到底能做什么,不能做什么;第二,初级开发者在技术团队中的作用是什么。</p> <p>根据我的开发经验,AI确实能帮你节省一些时间去搜索API,但它能帮你做架构决策吗?</p> <p>能替你背负技术债的责任吗?</p> <p>能培养出下一个高级工程师吗?</p> <p>懂行的人自然会明白。</p> <h3>AI到底能干些什么?</h3> <h3>弄清楚这些界限是必须的</h3> <p>先说说AI确实能做的事情。</p> <p>Kent Beck在2025年12月的文章中提到了一组数据:初级开发者使用AI后,以前花3小时找API的工作,现在仅需20分钟就能搞定。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-GmzVVG.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>听起来不错吧?但问题来了!</p> <p>我来给你举几个AI可能出问题的例子……</p> <h3>翻车案例一:SQLite+Litestream的误用,AI给你挖坑</h3> <p>我们团队有人让Claude Opus做了个任务:用SQLite和Litestream VFS为REST服务添加读副本。</p> <p>任何学过分布式系统基础的人都知道,这根本就是个大坑!</p> <p>Litestream的VFS模式明明说不能这么用,会有脏读和隔离性的问题。</p> <p>可AI乐呵呵地接下了任务,给你写了段用Django的数据库路由器的代码:</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-hetEct.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>最搞笑的是,AI明明可以访问Litestream的官方文档,文档里清清楚楚写着“别这么用”,它却完全不在意。</p> <p>这就是AI最糟糕的地方:它不知道自己不知道什么。</p> <p>一个初级开发者起码还会怀疑一下,AI却满怀信心把你带入坑中。</p> <h3>翻车案例二:代码库崩溃周期加速,AI让你走向绝境</h3> <p>我之前接手过一个创业公司的代码库,通常6到8年就会达到“屎山临界点”!</p> <p>每个设计模式的例外比遵循的代码还多,遇到bug总能追溯到一堆历史遗留问题。</p> <p>AI加速开发?没错,但它同样在加快这个崩溃的周期。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-GmzVVG.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>更可怕的是,等代码库变成“屎山”后,AI反而最难以应对!</p> <p>因为它的训练数据里根本没有你们公司的独特历史和各种奇葩约定。</p> <h3>AI确实能提效的场景:搜索空间压缩</h3> <p>说了这么多翻车的情况,也得说说AI真正有用的地方。</p> <p>初级开发者过去的痛点是“在Stack Overflow上照抄代码、写样板代码写到手抽筋、因为少个import卡好几个小时”。</p> <p>AI解决了这些麻烦,新手可以把精力放在理解系统架构上。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-R0MHqr.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>还有AWS SDK文档的例子!</p> <p>那个文档真是一言难尽,加载一个条目得等半天,实际用的API就那么几个。</p> <p>在这种情况下让AI帮忙找,完全合理。</p> <h3>不过!理解原理和会按按钮是两码事</h3> <p>这里必须说一个很有意思的比喻。</p> <p>真正“学会”平方根的人,给他一个只有加减乘除的计算器,他能用迭代法算出来;只“学会”按√键的人,换个计算器就傻眼了。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-g3e8J5.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>我也很认同一个关于正则表达式的观点:每次遇到复杂正则,选择深究规范、把它推到极限,甚至发现任务超出正则的能力!</p> <p>这个过程才能建立真正的判断力。复制粘贴AI给的正则?</p> <p>你永远不会知道在边界情况下会出现什么问题。</p> <p>对那些因为看不懂黑格尔就去读AI摘要的人,我绝对不信任他们说的话。</p> <h3>文档浏览的偶然发现,AI给不了你</h3> <p>最后说一个容易被忽视的点。</p> <p>有资深工程师提到,翻看Microsoft文档时,左边的目录常常能让人惊喜地发现“卧槽还有这个功能”——这些都是你没想到要搜索的内容。</p> <p>AI搜索像什么?</p> <p>就像跟团游,只去打卡景点。读文档就像自己闲逛,沿途发现意想不到的宝藏。</p> <p>当你只问AI要直接答案的时候,你永远不会知道“你不知道自己需要知道什么”。</p> <h3>初级开发者到底是干嘛的?</h3> <p>说了AI的界限,再来说说为什么削减初级开发者无疑是在自杀。</p> <p>很多人觉得初级开发者只不过是“便宜的劳动力”,这种想法可真离谱。</p> <p>他们的真正价值在于:在技术传承链条上不可或缺的一环。</p> <p>资深工程师总有退休的一天,谁来接班呢?</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-TaQM3z.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>再聊聊程序员的发展历程。</p> <p>2005到2008年,业界普遍建议大家别学计算机,理由是印度和东南亚的外包会把薪资压到5万美元以下。</p> <p>结果呢?</p> <p>接下来的十年,参加个3到6个月的JavaScript训练营出来就能月入上万。</p> <p>放射科医生也曾被预测会被深度学习取代,五年内失业。</p> <p>现在呢?美国放射科医生的平均年薪是34到50万美元,活得好好的。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-kkSfn3.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>有人形容这是在“血流成河时才买入”的职业版本!</p> <p>当所有人都在担心某个领域会被技术替代时,恰恰是进入该领域的最佳时机。</p> <p>我个人觉得,现在关于“AI替代初级开发者”的论调,可能也是同样的剧本。</p> <p>OpenCV LUT映射的案例让我大开眼界。</p> <p>有人在代码审查中看到AI生成的OpenCV查找表映射代码,写了一大堆。</p> <p>问题是什么?初级开发者根本不知道,他只需要一个简单的插值函数。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-QLO1Nk.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>你不知道你不知道什么?</p> <p>这是AI修复不了的难题。</p> <p>它只会自信地给你一个复杂但不合适的方案,而没有经验的人根本看不出问题所在。</p> <h3>初级开发者对AI工具的适应性更强</h3> <p>说点积极的。</p> <p>初级开发者的工作流程可塑性更高,可以围绕AI工具原生构建。</p> <p>对比一下:用了十年vim的老鸟,让他用个需要跑Electron的AI工具,他可能会直接拒绝。</p> <p>但从VS Code过来的人就没这个包袱。</p> <p>所以正确的思路不是”用AI替代初级”,而是”用AI增强初级”——他们学得更快、产出更多,但仍然需要资深工程师的指导来避免那些坑。</p> <p>之前聊天时提到程序员与德国手工业的传统培养体系,我觉得这很有参考价值:</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-MHPnzo.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>现在行业大幅削减初级招聘,四到五年后会怎样?</p> <p>即使AI真的遇到瓶颈(很多人认为已经遇到了),所有公司都会争抢资深工程师,却发现市场上根本没有人可用!</p> <p>因为没人培养过。</p> <p>有个经典段子:某人的表弟第一天上班就把整个数据库清空了。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-lcLGLT.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>资深同事对此很理解,更重要的是这个事故引发了关于备份策略、环境隔离、权限控制的一系列讨论和改进。</p> <p>这种通过真实错误触发的学习和流程改进,是AI无法模拟的。</p> <p>初级开发者的“天真错误”往往能暴露组织流程中长期存在但被忽视的漏洞。</p> <p>AI为什么不行?</p> <p>因为有些东西只能由人传授(CoreFoundation的goto模式)。</p> <p>有个案例:一位资深工程师分享了向新人传授Apple CoreFoundation代码模式的经历。</p> <h2>当技术遇上管理:从工程师到管理者的那些事</h2> <p>说到CF的设计,真是让人感到复杂。每次调用API都有可能返回NULL,而如果给CF的函数传了NULL参数,系统就会直接崩溃。为了追求性能,CF选择不检查参数,这就让人不得不采用goto标签来处理错误。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-Fal4gk.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>新来的工程师一开始就问:“goto不是有害的吗?”</p> <p>但当他理解了CF对NULL的敏感性后,发现其实在这种情况下,使用goto确实让代码看起来更简洁,避免了层层嵌套,同时还能确保资源得到正确释放。</p> <p>这虽然听起来有点反直觉,但也合情合理。AI在这方面的建议往往只会告诉你“要避免使用goto”,可是真正的经验却是需要人来传授的。</p> <p>说到组织设计,其实把最优秀的工程师提拔到管理层,有时候能培养出出色的管理者,但更多的时候却是以优秀工程师的流失为代价,换来一个平庸的管理者。</p> <p>为了避免这种情况,Staff Engineer的职业路径设计就很有意义:那些有10到15年经验的工程师,如果不想做管理,应该能继续享受管理层的薪水,并发挥自己的技术影响力,而不是被迫去开1对1的会议和搞年度评审。</p> <figure><img decoding="async" src="https://www.2090ai.com/wp-content/uploads/2026/01/image-ATLy2d.jpg" loading="lazy" alt="为何团队使用vibe coding后代码审查效率反而下降?AI为何仍难以替代初级程序员?"></figure> <p>这样的设计确保了技术知识不会因为晋升的障碍而中断。</p> <p>我们不能完全依赖AI,并不是因为AI没有用,而是提这个想法的人根本没搞懂AI的技术边界,以及初级开发者在团队中的重要性。</p> <p>AI可以帮助我们提高效率,但它无法替代架构决策,弥补技术债务,也无法传递隐性知识,更不能培养出下一代工程师。</p> <p>其实,初级开发者正是最能与AI协同工作的群体——他们的工作流程灵活,能够围绕AI构建,同时又需要经验丰富的工程师指导,避免各种陷阱。</p> <p>如果我们用AI替代初级开发者,那就相当于同时切断了效率提升和人才培养的两条路,这种短期思维只会牺牲长期利益。</p> <p>简单来说,就是一些只盯着季度报表的人在做技术决策。</p> <h3>参考链接</h3> <p>Kent Beck: The Bet On Juniors Just Got Better :https://tidyfirst.substack.com/p/the-bet-on-juniors-just-got-better</p> <p>Staff Engineer职业路径 : https://staffeng.com/about/</p> <p>Peter Norvig: Teach Yourself Programming in Ten Years https://www.norvig.com/21-days.html </p> <p>Cargo Cult Programming定义 http://www.catb.org/jargon/html/C/cargo-cult-programming.html</p> <p>Litestream VFS使用指南 https://litestream.io/guides/vfs/#when-to-use-the-vfs</p> <p>Amazon $350亿印度投资公告 https://www.aboutamazon.com/news/company-news/amazon-35-billion-india-investment </p> <p>Practical Common Lisp https://gigamonkeys.com/book/practical-a-simple-database</p> <p>
来源:知乎
原文标题:团队用vibe coding后,代码审查效率反而下降了,ai 为什么还不能替代初级程序员吗? – 知乎
声明:
文章来自网络收集后经过ai改写发布,如不小心侵犯了您的权益,请联系本站删除,给您带来困扰,深表歉意!

发表评论