跳过正文
  1. Posts/

Vibe Coding时代我们应该做些什么

·4549 字·10 分钟·
UZPENG
作者
UZPENG
略懂代码,喜欢徒步,业余带娃爱好者。

前言
#

由于大模型的出现,软件开发产生了革命性的变化,当前大量使用prompt+Agent,大大提升了效率。欢迎来到 Vibe Coding 时代!

回想起当年刚入学时VC6.0手搓C代码的窘迫、问题得不到解答的苦闷,生活在Vibe Coding 时代是多么的幸福啊! 当然,很多人可能感觉不到幸福,而是感觉到焦虑,感觉自己要被 AI 取代从而面临失业了。 今天我在这里不会展开讨论这个话题,因为我对这个问题的看法是————尽人事,听天命。

天命不由己,让我们来聊聊自己能做的 人事 吧。

保持身心健康
#

这个是重中之重,我把它放到了第一位,因为没有了身心健康,其他的都是空谈。

如何保持身心健康?

首先是不要焦虑。不需要对Vibe Coding那么恐惧,既来之,则安之。先接受它的存在,然后寻求共存的方式。 当然,你可能会说,我没法不焦虑,一旦 AI 取代了我,我就要失业,我就会面临各种经济压力。 OK,那就允许AI取代你这个事情发生,经济上的事情做好风控和资产重组,放松心态。 佛说:“无我相,无法相,无众生相。” 没必要执着于自己一定要怎样,保持心态开放,拥抱变化,活出多元化的自我。

然后是保持充足的睡眠。对于我们这一行,这个还是很重要的。加班多了,回家就别刷手机、打游戏了,老老实实去睡觉。 睡眠不足心率都会加快的,同时会引发一大堆的身体的问题。能好好睡觉本身也是一种幸福,也是身体健康的重要特征。 多爱惜自己的身体,多呵护自己好好睡觉的能力。

最后是多锻炼。这个老生常谈,但是很重要。锻炼要找到自己的节奏,简单蹦蹦跳跳、拉伸一下、快走一下都是锻炼,培养自己的执行力才是锻炼需要的最核心的能力,Just Do It。

要好好地活着,才能讨论怎样活呀。

接触高质量信息
#

任何时代,高质量信息都至关重要,在信息爆炸的时代更甚。

我们要认识到自己的精力有限。就算我们拥有良好的心态,健康的身体,我们一天也就24个小时, 其中高质量接触和处理信息的时间估计不会超过12个小时。 我们的注意力是很宝贵的资源,正是因为它宝贵,我们更需要把有限的注意力放在高质量的信息上。

那么什么是高质量的信息?我认为有以下几个切入点:

  1. 一手信息或原始信息。 常见的有:官方文档、官方手册、源代码、论文
  2. 充分思考的信息。 常见的有:优秀书籍、大牛博客

当然,我说的这些优秀信息不是让你埋头钻进去的,而是让你关注和查阅的。更多详细内容下一个主题讲。

为什么这些是高质量信息?

先说一手信息或原始信息。这些信息更接近本质,换个说法也可以说更接近事实。 我现在的观点是:先了解清楚事实,再讨论基于事实的认知。 同一个事实不同人会有不同的认知,会有不同的建模和解构的方法。 如果你只是掌握这些建模和解构方法,而忽略底层的事实,大部分情况下你都没法理解和记忆对应的知识,更加无从谈起融入自己的理解和认知。

我举两个我熟悉的领域的例子:

  1. 编程:比如很多文章会跟你说,某个库不能怎样怎样用,这种就是非原始信息,这个是作者的认知结果,大概率在作者的场景下是正确的。但是,你应该了解是一手信息,也就是这个库的源代码是怎样实现的,为什么会出现这这种结果?你的场景是否有这个问题?
  2. 交易:撮合成交数据就是原始的信息,基于成交数据统计的各种指标就是加工后的信息,各种大V的解读和观点更是三手四手的信息。做交易,多了解成交数据的更重要,因为他更原始更本质,也能够让你更理解一些加工后的信息,也能帮助你构建自己的交易理念和体系。

我解决过的不少BUG都是看源代码实现定位解决的,搜索引擎咋搜都找不到结果,或者结果跟我场景相去甚远。

目前印象深刻的就是一个mysql同步ES的工具monstache,一个是influxdb的数据处理工具kapacitor

好的,说完为什么一手信息或原始信息是高质量信息,我们再说一下为什么充分思考的信息是高质量的信息。

因为充分思考这个过程需要时间成本,人只要会承担相应的代价,就会认真考虑自己的言行。 毕竟有句话叫做“成年人不做改变,只做筛选”,有充分的思考就是一个很好的筛选手段。 当然,这句话也是可以扩展一下的呢,比如真枪实弹地干过的也是一个很好的筛选手段,知易行难。 总得来说要灵活掌握,有效筛选,避免浪费自己的精力。

在体验和实践中学习
#

作为一名并不优秀的小镇做题家,回顾我的学习经历,大部分时间都是在接受一些概念的定义,很少有体验和实践的机会。 就算是读大学的时候也是,老师更多的都是在讲一些概念定义,鲜有直接的体验和实践辅导,就算自己去体验和实践了, 很多问题也得不到解答。这里我并非抹黑我的母校,这个可以说是高校教育普遍的问题。 这个结论也并非我生搬硬造,而是我综合自身的经历、多方朋友的交流、网上博主的输出、活动嘉宾的分享做出的判断。 不保证结论一定正确,但是保证是充分思考的信息。

可能我上面说得比较抽象,你没有get到我的意思,没关系,下面我举一个例子你就明白了:

想象一下你现在要学习Vibe Coding,传统的教育会怎么跟你讲?

  1. 学习定义。什么是vibe coding?什么是大模型?什么是Agent?什么是Skill? 什么是MCP? 然后都给出一个形式化的,很严谨的定义。
  2. 然后开始基于这些定义来做题,接着考试。

总的来说就是很抽象,概念学了很多,但是可能完全没有实验过。我其实是理解为什么会出现这种情况的, 主要还是受限于成本,体验和实践的启动本身就需要成本,过程中的试错可能还需要额外的成本。 在一个成本有限的条件下,优先投入时间到成本很低的理论学习是能理解的。

但是,你要自己找机会多去体验和实践,不能拘泥于这种理论,就算成本有限,也有一些优秀的体验和实践的资源的, 而且最重要的是————大模型把这个过程的成本压缩得很低了。

我们回到主题:要从体验和实践中学习vibe coding是怎样的?

  1. 下载一个工具,Claude Code / Codex / OpenCode
  2. 接入一个领先的模型,Opus / GPT / GLM
  3. 找一个需求
  4. 开始做需求
  5. 不懂就问大模型,过程中的问题和思考记录一下
  6. 解决需求,收集问题,总结经验。OK你对Vibe Coding 就有了一个直观地感受

你会发现走一把这个流程,很多概念你已经有印象了,只是可能缺少一个定义,哦,原来这东西就叫Agent、SKill、MCP。 知识无形中就进入了你的脑子,抽象的概念也有了落地的实体。

从前走这条路可能有些困难,因为有时候自己甚至都不知道怎样实践,实践中遇到的很多问题都无人解答, 往往在自我怀疑中就丧失前进的动力。但是,大人,时代变了。有了大模型,这些都不是问题, 大模型可以给你输出优秀的学习路径,可以按照你的想法给你问题的答案,这种问有所答的感觉,真的太!爽!了!

最后我想说,我并非否认形式化的重要性和理论的定义对于沟通的方便性,但是这些都是体验和实践后,对相关概念有感觉后的事情, 而不是新学习相关知识的方法。人类科学大部分的东西都是现有现象,后有的理论,我们不能本末倒置。我现在也很喜欢研究一样东西的历史, 比如AI的发展史,也想着去复习一下自动机和形式化理论,但是这些都是我大量体验和实践后自己自发的想法, 而不是我刚入门时候被动去接受的枯燥理论。

Anyway,记住在体验和实践中学习,只要上道了,其他很多东西都是顺其自然的。

抽象思维和领域知识
#

不是吧,哥们,你前面不是才跟我说理论很抽象要联系实际多体验和多实践吗? 咋回头又叫我要有抽象思维啊?

兄弟不要着急,其实两者并不矛盾,甚至相辅相成。

所谓抽象思维,就是你理解一个东西,要先理解他的外部行为特征,把复杂的知识限制在特定的范围内。

为什么?因为人的理解能力和沟通成本是有限的。拿我最喜欢的计算机网络举例,当我跟你说计算机网络的时候, 如果你也学习过,那么我就没必要详细展开什么是计算机网络,我可以把复杂的底层实现使用一些术语抽象起来, 这样就会大大提高沟通效率。如果你没有学过,那也没关系,你可以完全不用理会这些术语,你就先了解计算机网络能干嘛, 能干嘛就是一个东西的外部特征。而计算机网络主要功能就是使得两台远程设备之间能够通信————也就是能够相关交换信息, 比如你说hello,他能跟你say hi。然后你抽丝剥茧,由浅入深地学习了解,很快就会系统掌握计算机网络的基础知识。

看出来了吗?抽象能够降低我们的沟通成本,也让我们在学习新知识的过程中,可以暂时屏蔽一些细节。

这个能力非常重要!很多年前,我就从书籍上看到学习计算机最重要的能力是抽象能力, 但是这个表述本身也很抽象,我当时完全没法理解这句话,只是觉得这话好像很专业、 很能装X,因此把它记住了。如今很多年过去了,通过自己不断地体验和实践, 我尝试用我自己的语言把它表达了出来。

同时,我也在平常的工作学习生活中不断地实践我这个理论。

比如我了解一个产品或者行业,我就先了解它对外提供的核心功能,我不需要上来就要弄懂他怎样实现的, 我完全可以基于它对外展现的能力做进一步的思考或者学习。

再比如我跟别人沟通问题时,我会有意识地留意我们当前讨论的抽象层级,当外层的内容不清晰时,讨论内层就没有意义。 当相关人员缺少对应的抽象层级的背景知识时,我会让大家优先去学习补充对应知识再讨论。

到这里,相信已经解答了前面的疑问,但是我的标题还有另外一半——领域知识,为什么把它和抽象放在了一起呢?

原因也很简单:抽象屏蔽掉的细节,恰恰就是对应的领域知识;又或者说,你必须具备优秀的领域知识,才能做到优秀的抽象。

所以两者都是紧密相连的,相信有过实际业务编程经验的人都能理解,你如果不懂业务(领域知识),你就没法设计出一个优秀的系统(抽象)。 如果Vibe Coding 时代真的彻底实现技术平权,那么业务能力(领域知识)的差距将会无限放大。

可验证和验证效率
#

如果 Vibe Coding 时代下,Agent 是你的员工,你可以同时拥有大量的下属,那么有什么问题是不变的?

我想就是:验证。 如何保证把工作交给了其他人,其他人的输出符合我们的预期, 我们又应该如何提高验证效率,如何在问题出现后高效调整?

这些问题并没有因为 Vide Coding 的出现而消失,反而变得更加重要。那我们应该如何做呢?

  1. 自动化测试。坦白讲,有了 Vibe Coding 的辅助,编写测试的效率大大提升,我甚至觉得它很好地解决了软件开发人员没时间写测试的问题。
  2. 形式化验证。其实编译器就是个很好的例子,为什么coding领域AI内容的质量更有保证,因为它至少是通过编译器的验证的。 (这就是我为啥如今又想重新拾起自动机和形式化语言的原因)
  3. 领域知识验证。有时候 Vibe Coding怎么弄也都弄不对,我们还是要回到官方信息源、官方源代码去寻找答案的, 同时这个过程也需要我们拥有大量的领域知识。(你看,这不就闭环上了吗)

总的来说,我们最终还是要提高自动化水平的,就算退让到使用领域知识验证,目标也是为下一次的自动化验证做改进。

KISS(Keep It Stupid Simple)
#

为什么把它放到最后,因为我觉得这是终极哲学————我们都需要保持简单,简单秒杀一切复杂。

就算是 Vibe Coding 时代,同样的工具,同样的场景,有人实现就很复杂,但有人实现就很简单。

控制成本本质也是一种保持简单。

结语
#

啰啰嗦嗦终于走到了最后,我把我核心的思想基本都总结了:

  1. 保持身心健康
  2. 接触高质量信息
  3. 在体验和实践中学习
  4. 抽象思维和领域知识
  5. 可验证和验证效率
  6. 保持简单

以上内容就构成了我现在的内核,往后就看自己如何知行合一了。

本文完稿于2026年除夕夜,最后在这里祝自己和家人身心健康、做大做强!