'Vibe Coding' 的认知成本:AI 是否正在侵蚀我们的技术技能?
'Vibe Coding' 的认知成本:AI 是否正在侵蚀我们的技术技能?
大语言模型 (LLMs) 的诱惑力是不可否认的。对于许多开发者来说,从手动编码转向 "vibe coding"——即通过提示词让 AI 生成整块逻辑并只需检查其是否有效——感觉就像获得了一种超能力。然而,技术社区中日益增长的一种观点认为,这种生产力的提升伴随着隐藏的认知税。
在一次坦诚的反思中,开发者 James Pain 描述了一个令人痛心的发现:在完全依赖 AI 进行编码的一两年后,他觉得自已“几乎忘记了如何编码”。这种经历凸显了现代开发工作流中的一个关键矛盾:将 AI 作为提高效率的工具,与将其作为思维的替代品之间的界限。
基础技能的侵蚀
对许多人来说,AI 的危险不在于它取代了工作,而在于它取代了学习的过程。当解决问题的摩擦力被消除时,应对该问题所需的心理肌肉就会开始萎缩。
"Imposter" 循环
Pain 指出,AI 会加剧现有的自我怀疑和冒充者综合征 (imposter syndrome)。这个循环通常是这样的:开发者对自己的能力感到不确定,使用 AI 生成解决方案,发现结果看起来“很像 AI”(平庸且缺乏个人风格),随后感到对自己从零开始产出工作的能力更加缺乏信心。
这种情绪在其他开发者中也得到了共鸣,他们发现自己开始怀疑曾经凭直觉完成的基础任务。正如一位用户所言:“怀疑总是最快地潜入那些我以前不需要思考就能做的事情中。”
入职陷阱
这种侵蚀对于初级开发者来说尤为严重。一位贡献者分享说,在新工作中由于使用 AI,入职过程变得显著更加困难,因为 "vibe coding" 的诱惑阻止了他们培养该职位所需的深层系统知识。
"我花在让 Claude 写代码的时间越多,我就越觉得自己在减少培养该职位所需的技能……我对自己工作的必要信心不足,这感觉很糟。”
反方观点:更高层次的抽象
并非所有人都将此视为智力下降。许多人认为,我们只是在向更高层次的抽象迈进。就像开发者不再编写汇编语言而转而使用高级语言一样,向提示词工程 (prompting) 的转变被一些人视为下一个逻辑步骤。
从编码者到架构师
一些开发者报告称,他们感觉自己变得更聪明了,因为他们不再被枯燥的语法所困扰。通过将“平庸的代码编写”外包出去,他们可以专注于架构决策、业务关键模块以及复杂的系统设计。
"我不再问‘这个 for 循环的正确语法是什么?’,而是在问‘这个系统中的业务关键模块是什么,以及我该如何构建测试套件以证明它符合规范?’"
AI 作为高级导师
对于非技术团队或正在学习新领域的人来说,AI 充当了虚拟的高级工程师。它可以解释复杂概念、重构旧代码并提供即时反馈,从而为那些将其作为导师而非代笔人使用的开发者加速学习曲线。
认知保留策略
为了避免与盲目依赖 AI 相关的“脑萎缩”,社区中涌出了几种有纪律的方法:
1. "Plan-First" 工作流
与其要求 AI “构建 X”,成功的用户提倡一种苏格拉底式的方法:准备一个详细的计划,与 AI 进行思想碰撞,然后以细小、可验证的步骤来实现功能。这确保了人类始终是编排者,而 AI 始终是执行者。
2. 有意识的摩擦力
一些开发者正有意识地在生活中重新引入难度,以保持思维敏锐。这包括:
- 手动编码个人项目: 仅在卡壳时使用 AI 获取思路。
- Code Katas: 手动练习一些细小、重复性的编码练习。
- 学术研究: 将学习数学或计算机科学理论作为一种“爱好”来保持思维的严谨性。
3. 审查循环
开发者不再直接接受 AI 的输出,而是将 AI 代码视为来自初级开发者的 PR。这涉及使用 git diff 来阅读每一次变更,并强制 AI 解释其做出某些决策的原因。
结论:工程师的责任
比较谨慎的开发者们的共识是,虽然 AI 录得一个不可思议的工具,它并不是工程学的替代品。风险不在于工具本身,而在于不加理解地进行委派。正如一位贡献者警告说,危险在于我们提交了自己从未见过的代码,这些代码由 AI 审查,并由另一个 AI 紧随其后进行跟进。
最终,目标是确保 AI 服务于工程师,而不是工程师变成了一个生成代码黑盒子的项目经理。