前言#
由于大模型的出现,软件开发产生了革命性的变化,当前大量使用prompt+Agent,大大提升了效率。欢迎来到 Vibe Coding 时代!
回想起当年刚入学时VC6.0手搓C代码的窘迫、问题得不到解答的苦闷,生活在Vibe Coding 时代是多么的幸福啊!
当然,很多人可能感觉不到幸福,而是感觉到焦虑,感觉自己要被 AI 取代从而面临失业了。
今天我在这里不会展开讨论这个话题,因为我对这个问题的看法是————尽人事,听天命。
天命不由己,让我们来聊聊自己能做的 人事 吧。
保持身心健康#
这个是重中之重,我把它放到了第一位,因为没有了身心健康,其他的都是空谈。
如何保持身心健康?
首先是不要焦虑。不需要对Vibe Coding那么恐惧,既来之,则安之。先接受它的存在,然后寻求共存的方式。
当然,你可能会说,我没法不焦虑,一旦 AI 取代了我,我就要失业,我就会面临各种经济压力。
OK,那就允许AI取代你这个事情发生,经济上的事情做好风控和资产重组,放松心态。
佛说:“无我相,无法相,无众生相。” 没必要执着于自己一定要怎样,保持心态开放,拥抱变化,活出多元化的自我。
然后是保持充足的睡眠。对于我们这一行,这个还是很重要的。加班多了,回家就别刷手机、打游戏了,老老实实去睡觉。 睡眠不足心率都会加快的,同时会引发一大堆的身体的问题。能好好睡觉本身也是一种幸福,也是身体健康的重要特征。 多爱惜自己的身体,多呵护自己好好睡觉的能力。
最后是多锻炼。这个老生常谈,但是很重要。锻炼要找到自己的节奏,简单蹦蹦跳跳、拉伸一下、快走一下都是锻炼,培养自己的执行力才是锻炼需要的最核心的能力,Just Do It。
要好好地活着,才能讨论怎样活呀。
接触高质量信息#
任何时代,高质量信息都至关重要,在信息爆炸的时代更甚。
我们要认识到自己的精力有限。就算我们拥有良好的心态,健康的身体,我们一天也就24个小时, 其中高质量接触和处理信息的时间估计不会超过12个小时。 我们的注意力是很宝贵的资源,正是因为它宝贵,我们更需要把有限的注意力放在高质量的信息上。
那么什么是高质量的信息?我认为有以下几个切入点:
- 一手信息或原始信息。 常见的有:官方文档、官方手册、源代码、论文
- 充分思考的信息。 常见的有:优秀书籍、大牛博客
当然,我说的这些优秀信息不是让你埋头钻进去的,而是让你关注和查阅的。更多详细内容下一个主题讲。
为什么这些是高质量信息?
先说一手信息或原始信息。这些信息更接近本质,换个说法也可以说更接近事实。 我现在的观点是:先了解清楚事实,再讨论基于事实的认知。 同一个事实不同人会有不同的认知,会有不同的建模和解构的方法。 如果你只是掌握这些建模和解构方法,而忽略底层的事实,大部分情况下你都没法理解和记忆对应的知识,更加无从谈起融入自己的理解和认知。
我举两个我熟悉的领域的例子:
- 编程:比如很多文章会跟你说,某个库不能怎样怎样用,这种就是非原始信息,这个是作者的认知结果,大概率在作者的场景下是正确的。但是,你应该了解是一手信息,也就是这个库的源代码是怎样实现的,为什么会出现这这种结果?你的场景是否有这个问题?
- 交易:撮合成交数据就是原始的信息,基于成交数据统计的各种指标就是加工后的信息,各种大V的解读和观点更是三手四手的信息。做交易,多了解成交数据的更重要,因为他更原始更本质,也能够让你更理解一些加工后的信息,也能帮助你构建自己的交易理念和体系。
我解决过的不少BUG都是看源代码实现定位解决的,搜索引擎咋搜都找不到结果,或者结果跟我场景相去甚远。
目前印象深刻的就是一个mysql同步ES的工具monstache,一个是influxdb的数据处理工具kapacitor
好的,说完为什么一手信息或原始信息是高质量信息,我们再说一下为什么充分思考的信息是高质量的信息。
因为充分思考这个过程需要时间成本,人只要会承担相应的代价,就会认真考虑自己的言行。 毕竟有句话叫做“成年人不做改变,只做筛选”,有充分的思考就是一个很好的筛选手段。 当然,这句话也是可以扩展一下的呢,比如真枪实弹地干过的也是一个很好的筛选手段,知易行难。 总得来说要灵活掌握,有效筛选,避免浪费自己的精力。
在体验和实践中学习#
作为一名并不优秀的小镇做题家,回顾我的学习经历,大部分时间都是在接受一些概念的定义,很少有体验和实践的机会。 就算是读大学的时候也是,老师更多的都是在讲一些概念定义,鲜有直接的体验和实践辅导,就算自己去体验和实践了, 很多问题也得不到解答。这里我并非抹黑我的母校,这个可以说是高校教育普遍的问题。 这个结论也并非我生搬硬造,而是我综合自身的经历、多方朋友的交流、网上博主的输出、活动嘉宾的分享做出的判断。 不保证结论一定正确,但是保证是充分思考的信息。
可能我上面说得比较抽象,你没有get到我的意思,没关系,下面我举一个例子你就明白了:
想象一下你现在要学习Vibe Coding,传统的教育会怎么跟你讲?
- 学习定义。什么是vibe coding?什么是大模型?什么是Agent?什么是Skill? 什么是MCP? 然后都给出一个形式化的,很严谨的定义。
- 然后开始基于这些定义来做题,接着考试。
总的来说就是很抽象,概念学了很多,但是可能完全没有实验过。我其实是理解为什么会出现这种情况的, 主要还是受限于成本,体验和实践的启动本身就需要成本,过程中的试错可能还需要额外的成本。 在一个成本有限的条件下,优先投入时间到成本很低的理论学习是能理解的。
但是,你要自己找机会多去体验和实践,不能拘泥于这种理论,就算成本有限,也有一些优秀的体验和实践的资源的, 而且最重要的是————大模型把这个过程的成本压缩得很低了。
我们回到主题:要从体验和实践中学习vibe coding是怎样的?
- 下载一个工具,Claude Code / Codex / OpenCode
- 接入一个领先的模型,Opus / GPT / GLM
- 找一个需求
- 开始做需求
- 不懂就问大模型,过程中的问题和思考记录一下
- 解决需求,收集问题,总结经验。OK你对Vibe Coding 就有了一个直观地感受
你会发现走一把这个流程,很多概念你已经有印象了,只是可能缺少一个定义,哦,原来这东西就叫Agent、SKill、MCP。 知识无形中就进入了你的脑子,抽象的概念也有了落地的实体。
从前走这条路可能有些困难,因为有时候自己甚至都不知道怎样实践,实践中遇到的很多问题都无人解答, 往往在自我怀疑中就丧失前进的动力。但是,大人,时代变了。有了大模型,这些都不是问题, 大模型可以给你输出优秀的学习路径,可以按照你的想法给你问题的答案,这种问有所答的感觉,真的太!爽!了!
最后我想说,我并非否认形式化的重要性和理论的定义对于沟通的方便性,但是这些都是体验和实践后,对相关概念有感觉后的事情, 而不是新学习相关知识的方法。人类科学大部分的东西都是现有现象,后有的理论,我们不能本末倒置。我现在也很喜欢研究一样东西的历史, 比如AI的发展史,也想着去复习一下自动机和形式化理论,但是这些都是我大量体验和实践后自己自发的想法, 而不是我刚入门时候被动去接受的枯燥理论。
Anyway,记住在体验和实践中学习,只要上道了,其他很多东西都是顺其自然的。
抽象思维和领域知识#
不是吧,哥们,你前面不是才跟我说理论很抽象要联系实际多体验和多实践吗? 咋回头又叫我要有抽象思维啊?
兄弟不要着急,其实两者并不矛盾,甚至相辅相成。
所谓抽象思维,就是你理解一个东西,要先理解他的外部行为特征,把复杂的知识限制在特定的范围内。
为什么?因为人的理解能力和沟通成本是有限的。拿我最喜欢的计算机网络举例,当我跟你说计算机网络的时候, 如果你也学习过,那么我就没必要详细展开什么是计算机网络,我可以把复杂的底层实现使用一些术语抽象起来, 这样就会大大提高沟通效率。如果你没有学过,那也没关系,你可以完全不用理会这些术语,你就先了解计算机网络能干嘛, 能干嘛就是一个东西的外部特征。而计算机网络主要功能就是使得两台远程设备之间能够通信————也就是能够相关交换信息, 比如你说hello,他能跟你say hi。然后你抽丝剥茧,由浅入深地学习了解,很快就会系统掌握计算机网络的基础知识。
看出来了吗?抽象能够降低我们的沟通成本,也让我们在学习新知识的过程中,可以暂时屏蔽一些细节。
这个能力非常重要!很多年前,我就从书籍上看到学习计算机最重要的能力是抽象能力, 但是这个表述本身也很抽象,我当时完全没法理解这句话,只是觉得这话好像很专业、 很能装X,因此把它记住了。如今很多年过去了,通过自己不断地体验和实践, 我尝试用我自己的语言把它表达了出来。
同时,我也在平常的工作学习生活中不断地实践我这个理论。
比如我了解一个产品或者行业,我就先了解它对外提供的核心功能,我不需要上来就要弄懂他怎样实现的, 我完全可以基于它对外展现的能力做进一步的思考或者学习。
再比如我跟别人沟通问题时,我会有意识地留意我们当前讨论的抽象层级,当外层的内容不清晰时,讨论内层就没有意义。 当相关人员缺少对应的抽象层级的背景知识时,我会让大家优先去学习补充对应知识再讨论。
到这里,相信已经解答了前面的疑问,但是我的标题还有另外一半——领域知识,为什么把它和抽象放在了一起呢?
原因也很简单:抽象屏蔽掉的细节,恰恰就是对应的领域知识;又或者说,你必须具备优秀的领域知识,才能做到优秀的抽象。
所以两者都是紧密相连的,相信有过实际业务编程经验的人都能理解,你如果不懂业务(领域知识),你就没法设计出一个优秀的系统(抽象)。
如果Vibe Coding 时代真的彻底实现技术平权,那么业务能力(领域知识)的差距将会无限放大。
可验证和验证效率#
如果 Vibe Coding 时代下,Agent 是你的员工,你可以同时拥有大量的下属,那么有什么问题是不变的?
我想就是:验证。 如何保证把工作交给了其他人,其他人的输出符合我们的预期, 我们又应该如何提高验证效率,如何在问题出现后高效调整?
这些问题并没有因为 Vide Coding 的出现而消失,反而变得更加重要。那我们应该如何做呢?
- 自动化测试。坦白讲,有了
Vibe Coding的辅助,编写测试的效率大大提升,我甚至觉得它很好地解决了软件开发人员没时间写测试的问题。 - 形式化验证。其实编译器就是个很好的例子,为什么coding领域AI内容的质量更有保证,因为它至少是通过编译器的验证的。 (这就是我为啥如今又想重新拾起自动机和形式化语言的原因)
- 领域知识验证。有时候
Vibe Coding怎么弄也都弄不对,我们还是要回到官方信息源、官方源代码去寻找答案的, 同时这个过程也需要我们拥有大量的领域知识。(你看,这不就闭环上了吗)
总的来说,我们最终还是要提高自动化水平的,就算退让到使用领域知识验证,目标也是为下一次的自动化验证做改进。
KISS(Keep It Stupid Simple)#
为什么把它放到最后,因为我觉得这是终极哲学————我们都需要保持简单,简单秒杀一切复杂。
就算是 Vibe Coding 时代,同样的工具,同样的场景,有人实现就很复杂,但有人实现就很简单。
控制成本本质也是一种保持简单。
结语#
啰啰嗦嗦终于走到了最后,我把我核心的思想基本都总结了:
- 保持身心健康
- 接触高质量信息
- 在体验和实践中学习
- 抽象思维和领域知识
- 可验证和验证效率
- 保持简单
以上内容就构成了我现在的内核,往后就看自己如何知行合一了。
本文完稿于2026年除夕夜,最后在这里祝自己和家人身心健康、做大做强!