嗨,我是辉哥,一个致力于使用 AI 技术搞副业的超级个体
随着AI Coding热度高涨,主流的编码方式可以分为Vibe Coding和Spec Coding,今天我们来聊聊两者的特点,结合我的一些个人经验分享,希望能够让你有更好的选择
Vibe Coding介绍
在软件开发领域,Vibe Coding俗称氛围编程,顺应氛围、拥抱指数级能力、忘记代码本身存在的开发方式,强调 "跟着感觉走" 的对话式协作。
通过持续对话与迭代优化结果,流程从 "编写 - 调试 - 优化" 压缩为 "需求 - 生成 - 测试" 闭环,尽量弱化代码的细节
也就是说非常适合创意想法的快速落地,也适合非编程人员从0到1开发一个产品的场景。

Vibe Coding最佳实践
一直以来,有很多人会有一个误区,觉得Vibe Coding生成的代码非常不可控,无法参与复杂项目的开发,我其实是不认可的
在较早的时候,主流大模型的上下文窗口大小非常有限,确实需要一些额外的手段,比如我们以前做得很多的项目知识沉淀文档化,AI Rules通用规则化等方式,来充分利用上下文,让AI写出来的代码更加可控
现在随着大模型的迭代升级,主流大模型上下文窗口已经是百万token级别了,就算用Vibe Coding,用让它参考现有的代码风格,来实现一个新的功能,其实质量也是非常高了,并不需要做更多额外的事情
我觉得最佳的实践,应该在Vibe Coding开始之前,让AI帮我们总结一些内容作为后续的上下文参考。找到需求所在的模块,不管是关联的文件还是入口,能够尽量准确最好,让AI帮我们从入口出发梳理整个核心的流程,包括数据领域模型之间的关联,进行md文档的记录,这个md文档是非常有价值的,可以作为项目长期的知识文档进行沉淀
然后,针对我们的需求,进行会话描述的同时,上下文挂上我们前面总结的md文档,最终的效果质量是非常高的(跟大模型也有很大的关系,推荐最新的GPT或者Claude系列)
Spec Coding介绍
与Vibe Coding不同,Spec Coding有着自己鲜明的特点和适用场景。Spec Coding是基于详细规范的一种编码方式,它更注重精确性。
这种精确性使得Spec Coding非常适合大型、复杂且对稳定性要求高的项目。在大型项目中,往往涉及众多模块和大量代码,如果没有统一的规范和精确的实现,很容易出现代码混乱、难以维护的问题。而Spec Coding可以确保各个部分的代码都符合标准,提高代码的可读性和可维护性。

Spec Coding最佳实践
对于Spec Coding的使用,我强烈推荐使用AWS的Kiro,提供了最完整的 Spec 驱动开发流程,并且有很友好的交互体验
Spec的流程驱动本身就是文档化的,所以在前期我们规划需求、设计、任务阶段,多多参与,充分将项目中所关联的上下文挂载出来,Spec方式文档直接影响我们最终代码的质量,所以一份清晰的文档是可以做到事半功倍的
当然还有一个点,大模型的推理能力也是严重影响代码的质量,在Kiro中现在是一些主流的Claude,也是直接推荐Claude Sonnet4.5或者Claude Opus4.5

总结
不同的项目应该有不同的方式来处理,对于偏Vibe Coding快速落地的项目,应该更加考虑产品的可用性,弱化代码细节;对于复杂度高,或者需要准确性不能出错的项目,不管是Vibe Coding还是Spec Coding都一定要自己review所实现的代码,毕竟AI不可能不出错,我们能够做的只是让其少出错
