你以为的 vibe coding
你有一个点子,告诉对话框,它就框框完工。你要做的就是转发、倒流,接着收获大量用户。毕竟各大媒体、KOL都这么说。写代码不再是需要严谨的知识,系统架构、算法原理、业务知识都不存在了。你和顶级应用的差距,只是没买他们的应用和课程。买了之后,直接开除公司的程序员,让产品写代码。一人公司搞起来。
实际上的 vibe coding
-
写代码五分钟、debug 两小时。
-
写小玩具没关系,写大项目老大难。
-
代码写完了,需求却是伪需求。
很多 vibe coding 样例,是在设定demo范围内呈现。超出它能力范围的,就爱莫能助。
Vibe coding这个说法最早出现在推特。都说互联网盛产黑话,这事海内外一个样。Vibe coding 实质上是LLM coding,或者也可以叫 AI coding。Vibe 这个说法,试图将严肃的编码活动,营造成轻松、随心所动的工作。
你有写代码的基础,写过一些小应用。虽然没有见过特大应用,但是写系统内的问题不大。在cursor、Claude code没流行起来,你在vscode里面写你的python小代码,毕竟机器学习都用这个。
辅助编码工具兴起,你通过插件管理各种工具。你安装了一些开源的辅助编程工具,通过自部署方式,实现补全功能。chatgpt也能用,但是需要转发,外加隐私顾虑。你尝试了下这个本地模型,能帮你起个def函数定义的头。
公司让你们内测了copilot,确实能省下补全的时间,通过聊天也能写出一些小应用。文档详尽的框架基础上,出活很快,你还能就着前端样式反复调个几回。
程序员的工作,80%在阅读代码,20%才是编写代码。就算法来说,还有很多时间在现有框架下调参数、改阈值、写报告。并没有想象中那样,充分解放生产力。你觉得更解放生产力的,是减少无谓的会议,以及无休止的统计汇报。
这个时候的模型性能,还差点儿意思。上下文窗口有限,也没有外挂工具。好在大模型的摩尔定律还未失效,没多久性能就上来了。
各大厂商观察力LLM的落地,发现Coding落地成功,也纷纷开发对应的编码应用。Claud code、Gemini cli 就是这个逻辑的产物。当然,他们对模型也进行了垂直微调,使其编码能力进一步增强。
除此之外,应用提供方和整个社区,也在不断完善vibe coding的工程方法。对任务进行分解、更好的上下文窗口、更多的MCP外部调用接口。你会看见越来越多的讲座和活动,也有越来越多的人讲如何vibe coding。生态逐渐完善。
你逐渐掌握了以下原则:
- vibe 不是平空变戏法,a few shot 给出例子告诉模型你想要的效果
- 一次会话只做一件事,多任务只会导致模型混乱
- 设定你的编码风格习惯、要求,在全局约束所有编码行为
- 在单个项目,设定你的编码目标,项目风格
- 使用更多的外挂工具mcp,比如context7
- 效果不好就回退,不在模糊基础上构建下一步
- 必要情况下,使用更强性能的模型
当然,传统软件开发的习惯也很总要。用好git做版本控制、完成比完美重要、控制重构欲望、合理注释代码。
掌握这些原则,虽然离完美效果仍有距离。但你不再在代码里转圈,能够写出一些可用的项目了。
你用vibe coding 写应用,但需求描述比正经PR弱。描述不清即是需求不清,你也深知这个道理。但是代码已经写出来了,试试看呢。项目介于能用与不能用之间。越来越多的半成品堆积在你的git仓库。
各路自媒体也开始炒这个东西。授课开始流行。因为这个vibe这个概念,前期已经“骗”了不少人入局。实践起来却有不少问题。这里面先“骗”进来,再让用户受挫、再顺势提出解决方案,多熟悉的销售模式。
你用得比较顺手的,其实是让cursor的免费模型,帮你检查文稿的错别字、想一个惊世骇俗的标题。但你也发现,做不起来不是因为标题,在于内容的真实程度、干货程度。标题只是起个前期导流作用,而读者对于AI生成的标题也渐渐麻木。
你可以借它写一个复杂应用。这里的问题是,你描述不清想要什么、你不知道好应用长什么样子。
但其实呢,也不必纠结完美。所有成功的构建都来自不断的需求澄清、来自于迭代演进。
最重要的是,行比想重要。