1. 深度对话引发的AI编程思考
最近,深度学习先驱杰瑞米·霍华德(Jeremy Howard)与Machine Learning Street Talk播客主理人蒂姆·斯卡夫(Tim Scarfe)进行了一场极具启发性的对话。作为Kaggle前总裁兼首席科学家、Fast.ai创始人,以及ULMFiT(通用语言模型微调)的提出者,霍华德对当前AI编程热潮提出了尖锐批评,特别是针对所谓的"Vibe Coding"现象。
这场对话之所以重要,是因为它来自一位真正推动AI技术发展的元老级人物。霍华德不是技术保守派,恰恰相反,他2018年提出的ULMFiT架构直接启发了后来的BERT和GPT系列模型。正因如此,他对当前AI编程热潮的批评才更值得深思。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. Vibe Coding的本质与危害
2.1 老虎机式的编程体验
霍华德将Vibe Coding比作"老虎机"——开发者输入提示词,按下回车,然后祈祷生成的代码能工作。这种模式创造了一种"控制的幻觉",但实际上开发者对生成的代码缺乏真正的理解和掌控。
我在实际项目中也深有体会:当使用AI生成复杂业务逻辑时,虽然能快速得到看似可运行的代码,但一旦需要调试或修改,往往比从头编写还要耗时。因为你需要先理解AI的"思考"过程,而这通常比理解人类同事的代码更困难。
2.2 直觉培养的缺失
更深层的问题是,这种编程方式剥夺了开发者培养代码直觉的机会。霍华德引用教育学中的"适当的困难"(Desirable Difficulty)概念指出:人类的学习需要一定程度的挑战和摩擦。就像肌肉需要通过锻炼才能生长,编程能力也需要通过解决实际问题来培养。
我认识一些依赖AI工具入门的开发者,他们在处理简单任务时效率很高,但面对真正复杂的系统设计时往往束手无策。因为他们缺乏在底层代码中"摸爬滚打"的经验,难以建立全面的心智模型。
2.3 工程质量的隐忧
从工程角度看,Vibe Coding还存在严重质量问题。霍华德提到Anthropic宣称用Claude编写C编译器的案例,指出那实际上只是对现有编译器代码的风格迁移,而非真正的创新。
在商业项目中,我见过太多由AI生成的"能跑但脆弱"的代码。这些代码往往:
- 缺乏清晰的架构设计
- 边界条件处理不完善
- 难以进行有效测试
- 维护成本高昂
