当前位置:首页 > 科技资讯 > 正文

两年“氛围编码”后的清醒反思:为何资深开发者纷纷回归手写代码?

AI 编码工具的强势崛起,曾一度引发关于“机器是否将终结人类程序员职业”的激烈辩论。支持者陶醉于其瞬间生成代码的强大效率,预言开发行业将被彻底颠覆;而审慎者则对其潜在的黑盒属性、代码质量以及系统的长期稳定性深感忧虑。

近期,一位名为 mo 的开发者在 Hacker News 上分享了他的心路历程,引起了业界的广泛讨论。在过去两年里,他曾深度践行所谓的“氛围编码”(Vibe Coding)——即高度依赖 AI 生成代码。从最初被 AI 的惊艳表现所折服,到逐渐尝试让其处理复杂架构,再到最终发现问题的严重性:AI 生成的代码在局部看似逻辑自洽,却在整体结构设计与长期可维护性上表现糟糕。最终,他决定回归传统的手写编程模式。这段坦诚的反思,精准地戳中了许多开发者的痛点。

大多数人对 AI 编程的认知演化往往遵循着相似的轨迹:首先是尝试简单的脚本任务,被其速度惊艳;随后将其应用于复杂逻辑,被其理解力折服。

在那种兴奋感之下,你可能会在社交媒体上大谈特谈“岗位替代论”。

然而,如果你能跨越这个盲目崇拜的阶段,恭喜你,你对 AI 辅助开发的认知已经走在了行业的前列。

两年“氛围编码”后的清醒反思:为何资深开发者纷纷回归手写代码? AI编程工具  氛围编码 技术债 开发者核心竞争力 第1张

那些在真实生产环境(而非仅是玩具项目)中摸爬滚打的资深工程师,在经历过 AI 带来的便利后,往往会面临一个预见性的转折点。

当你试图让 AI 挑战更宏大的工程任务,甚至是那些令人头疼的存量代码重构时,AI 的局限性便开始暴露。

AI 能力的隐形瓶颈

此时,AI 完美的“光环”开始出现裂痕。

你会发现,虽然它能理解你的需求意图,但它经常在关键细节上犯错,或者做出完全背离架构原则的决策。

多数开发者最初会选择自我检讨,认为问题出在自己身上:

“肯定是我的提示词(Prompt)不够精准,描述得不够细致。”

“只要我能更清晰地定义需求,它一定能完美执行。它的潜力是无穷的。”

于是,你开始在 Notion 或 Obsidian 中撰写长达数页的详细规格说明书,试图用极致的细节去约束 AI。

但很快你就会发现,这种“需求驱动式开发”在工程实践中往往难以落地。真实世界的开发是动态演进的,设计文档必须随着代码的编写和测试反馈不断迭代。

设想一下:在实际工作中,你交给一名中级工程师一份静态文档并禁止他沟通,然后你消失数周,结果通常是灾难性的。AI 同样缺乏这种在开发周期中动态对齐需求的能力,它往往会固执地执行初始决策,即使该决策在底层组件搭建过程中已显得不合时宜。更严重的是,当任务复杂度超出其处理极限时,AI 可能会产生误导性的输出,引导开发者进入逻辑迷宫。

最令人担忧的是,AI 生成的代码在表面上看起来非常专业,符合一切优秀的 PR(代码合并请求)规范,具有极强的欺骗性。

“代码杂乱”的连锁反应

直到你亲自深入代码库,逐行审查最新版本的逻辑时,才会发现那种被称为“Slop”(杂乱代码)的问题。这种代码冗余、缺乏一致性且难以优化。

mo 在复盘时感到震惊,他甚至开始怀疑自己:难道在合并这些代码之前,我没有仔细审查过吗?这些冗余且无意义的逻辑是怎么渗入系统的?

回溯原因,问题的根源在于 AI 的生成机制。AI 写的代码片段在微观层面往往是合理的,但它缺乏宏观的系统观,无视架构的整体性和相邻模块的设计模式。

这就像是“氛围写作”:AI 能写出优美的句子和风格连贯的段落,但当你通读全书时,会发现情节支离破碎,前后逻辑自相矛盾。在代码世界中,这种碎片化的逻辑会导致系统在数月后变得不可维护。

mo 坦言:“这种充满‘杂质’的代码绝不应该上线,我不能用这种质量的系统去服务付费用户,更无法保证用户数据的安全。

最终,他选择了重回手写代码。意外的是,当综合考量调试、重构和长期维护的时间后,手写代码的效率反而更高,且更具创造力和精准度。

行业反思:警惕“氛围编码”对成长的侵蚀

这一观点在开发者社区引发了海啸般的共鸣,许多一线教育者也表达了同样的担忧。

资深网友 recursivedoubts 分析指出,AI 最危险的地方在于它把“简单的事情”处理得太完美了。这导致新手开发者绕过了最基础的编码训练,失去了通过不断练习将逻辑思考内化为直觉的机会。在计算机科学教育中,这种现象尤为严重——如果学生跳过了基础代码的亲手实践,他们将永远无法掌握高阶架构的抽象能力。

另一位工程师 leros 则从人才培养的角度给出了直白的见解:通过“氛围编码”,一个新手可能在短时间内获得“5倍生产力”,这极具诱惑力。但问题在于,如果没有建立深厚的基础,他们会永远停留在“5倍”的水平,而无法成长为那种具备深刻洞察力、能解决复杂系统问题的“20倍工程师”。

此外,开发者 Verdi 指出,过度依赖 AI 会导致开发者丧失对代码库的“心智模型”。一旦脱离 AI(如在断网环境或处理极其偏僻的技术问题时),开发者的生产力会瞬间归零,甚至忘记基本的算法和语法。

面对“氛围编码”的浪潮,我们是应该沉迷于短期的提效,还是保持克制以维护技术的深度?这是一个值得每一位开发者深思的问题。