@KengGuangLong: Vibe Coding 时代,为什么软件工程反而更重要了? AI 让代码跑起来的成本趋近于零了。写一个功能、出一个原型,速度快到离谱。但瓶颈也跟着变了:现在最难的地方,是这个东西以后还能不能改。 Vibe coding 最大的问题,就是让…
摘要
在 Vibe Coding 时代,AI 让代码生成变得容易,但软件工程的原则如代码可维护性和设计模式变得更加重要,以解决审查、调试和重构的挑战。
查看缓存全文
缓存时间: 2026/09/19 08:57
Vibe Coding 时代,为什么软件工程反而更重要了?
AI 让代码跑起来的成本趋近于零了。写一个功能、出一个原型,速度快到离谱。但瓶颈也跟着变了:现在最难的地方,是这个东西以后还能不能改。
Vibe coding 最大的问题,就是让人产生一种错觉,觉得能跑就是完成了。实际上,真正的完成还包括你能改它,你能跟别人解释它。很多人用 AI 快速出了原型,到了 review 阶段才发现,代码里的类名自己都不认识,文件之间的关系完全理不清。AI 帮你省下的时间并没有消失,它连本带利地转移到了 review、debug 和重构里面。
所以现在大厂的程序员们开始重新把软件工程捡起来了。这件事很值得注意。
再说另一个点。AI Agent 写代码有个典型毛病:它喜欢按层来,先把数据库层全写完,再写应用层,最后写前端。每一层单独看都还行,拼到一起就出问题。因为数据库的设计会影响前端怎么展示,你得让这些层早点碰上才知道合不合理。Agent 偏偏总是最后才组装。
怎么解决?经典软件工程里有个概念叫 tracer bullet(追踪子弹),意思是做一个功能的时候不要按层横着切,要纵向切一刀,从数据库到后端到前端,先把一条最窄的路径跑通,确认可行再往两边扩展。你把这个词写进给 Agent 的提示词里,Agent 就会在推理过程中主动使用它。
这背后有个很实用的原理:经典编程书籍几乎肯定在模型的训练数据里。你在 prompt 里用上这些专业术语,就相当于激活了模型脑子里对应的那片知识。这些术语就像一把钥匙,能打开模型已经学过但平时不会主动调用的能力。Grill Me Skill 的作者 Matt Pocock 管这个叫 leading word,引导词。
类似的概念还有很多。比如 deep modules(深模块),讲的是模块要接口简单、功能强大,别搞一堆浅薄的小模块互相调来调去。比如 ubiquitous language(通用语言),讲的是团队里所有人对同一个概念要用同一个词,代码里也要用这个词,别搞一堆同义词让人猜。
这些都是二三十年前的老概念。到了 AI 时代,它们反而更好用了。因为你在跟模型协作的时候,越精确的术语,越能引导出越精确的输出。
推荐三本书,都不厚,挑核心章节看就够用了:
《程序员修炼之道》,tracer bullet 就出自这本,里面还有很多关于怎么写可维护代码的实战思路。
《软件设计哲学》,讲的是怎么在模块层面做好设计,deep modules 的概念就在里面。
《领域驱动设计》,讲的是怎么用统一的语言把业务和代码对齐,ubiquitous language 的出处。
Vibe coding 让写代码变得很快,但快不等于完成。能改、能维护、能跟别人解释清楚,这些老功夫,现在反而成了最值钱的东西。
相似文章
@10xmylife: Vibe coding 时代,想法即产品,链接即生意。
文章讨论了vibe coding时代如何利用AI工具如灵光、Kimi和Google AI Studio简化应用开发和部署,降低创作门槛,并实现快速变现。
如何阻止 Vibe Coding?
本文讨论了使用 AI 代理进行 'vibe coding' 的兴起,其对代码质量和开发者理解的风险,并呼吁重新思考软件工程实践,以超越仅仅从意图生成代码。
Vibe编程在项目变得足够大以至能记住自身历史之前感觉更快。
作者反思了AI辅助编码如何提高初期生产力,但警告说大型项目需要深入理解代码库,因此需要更好的文档和代码素养实践。
@ai_super_niko: https://x.com/ai_super_niko/status/2070299861757616606
本文讨论了在AI能写代码的时代,计算机从业者是否还需要学习技术。作者认为,语法和API等表层技术正在贬值,但算法、设计架构和判断力等深层能力变得更加重要,学习重心应从初级技能转向高级工程师所需的知识。
@dedene:Vibe coding 看起来很简单。零前期设计。零结构。现实是:每一次出错的迭代都会消耗 tokens。每一次…
一条推文强调了 vibe coding 的挑战,并推广了一本免费的 50 页指南,内容涉及向 agentic engineering 转型,涵盖新的人工智能驱动的软件开发生命周期。