从Vibe Coding到母乳喂养:AI时代的编程文化与部落知识的流失

Kaku Lv4

前言

想聊一个现在十分符合当下的话题:AI 辅助编程和 Vibe Coding(氛围编程)。

AI 改变最多的行业之一大概就是软件开发了。各种 AI 工具如 Copilot、Cursor、Claude Code 等已经很大程度上改变我们的编码方式。而且现在已经到了那种你无法不使用 AI 工具的地步了。就像现在你无法不使用 Google 一样,未来可能你无法不使用 AI 来编程。因为核心原因是效率。AI 工具对于效率的提升是巨大的。就算你想当一个守旧的”老资历”,你的环境、你的老板、你的同事都在使用 AI 工具,出于效率考虑,你也不得不使用。

但是,AI Coding 也带来了许多问题,尤其是对不同层级的开发者来说,会有截然不同的影响。

什么是Vibe Coding?

Vibe Coding(氛围编程)是 2025 年初由 AI 领域权威专家 Andrej Karpathy 提出的一种新型编程范式。简单来说,就是开发者通过自然语言描述需求,AI 模型生成、优化和迭代代码,形成一种”需求提出-结果验证-反馈调整”的循环开发过程。

用 Karpathy 的话说就是:”这不算真正的编程——我只是看看东西,说说东西,运行东西,然后复制粘贴东西,而且它大多都能工作。”

这种模式下,程序员不再是代码的直接编写者,而是通过自然语言描述需求,由 AI 模型生成代码。这标志着软件开发从技术导向向创意导向的根本转变。

编程伦理:代码复制 vs 艺术剽窃

在思考Vibe Coding时,我发现自己对使用AI编码的伦理问题较少,相比使用AI生成艺术。我一直觉得所有代码都是开源的,我一直觉得复制粘贴没问题。

我觉得盗用艺术作品很糟糕,但使用别人的代码很酷又有趣。有人复制我的代码我也觉得挺酷的,没问题。开源通常需要署名,但这得看具体授权协议。MIT协议并不需要任何要求,它完全属于你。

我的看法是,我觉得这对我个人来说不算严重的道德问题,我真的不在意。如果有人把我的代码拆成小块用在别处,我认为这是剽窃艺术,而剽窃代码则是另一回事。

但这里有一个关键区别:当 AI 生成代码时,我们失去了对代码背后逻辑的理解。这引出了下一个问题。

技术债与”部落知识”的流失

Vibe Coding最大的问题之一是技术债的积累。如果代码库太多vibe coded,我认为在显而易见的方面会有问题,但我也觉得在一些不明显的地方更危险。

比如你可能在推动 slot,也许你在推动高度测试的代码,但你并不清楚它做什么。这不好,因为类似高人员流动——没错,如果随便推送 vibe coded 内容,你就不知道它做什么。

但是很矛盾的事情是,虽然你不知道它做什么,但它确实在做一些事情。它确实在编译,确实在运行,确实在生产结果。它确实在做一些事情,但你不知道是什么东西。

这种状态是极度不稳定的,尽管可能但从当前的运行角度来看,似乎没什么问题。这个我们稍后再聊。

至于安全隐患。有些地方更涉及安全问题,有些地方绝不可能有安全问题,所以因情况而异。

我的问题是,这和公司高人员流动很像:你只会有一堆东西,但不知道做什么。甚至不算技术债,尽管确实存在大量技术债,但这和拥有类似”哦有人写了这个,然后他离开就像,哦是Agent写的对吧”的情况很像。

手工艺传承

现在让我们谈谈一个奇特的比喻。

想必大家都知道所谓的”配方奶”,也就是奶粉。

配方奶是一项实用技术,显然我们现在知道对大多数婴儿更健康(大多数情况下母乳比配方奶更好)。尽管如此,如果得了乳腺炎怎么办?如果感染了某种疾病?如果宝宝就是不肯正确衔乳?如果宝宝的嘴巴有问题,吸吮对他们来说非常痛苦,所以他们无法获得足够营养?

配方奶就是为了解决这些问题而发明的。它是一个伟大的发明,解决了许多实际问题。

配方奶有很多优点,对人类社会非常有益。但就像 AI Coding 一样,虽然它是为了解决特定问题存在的,但它确确实实地被推广到了所有人。

这会带来许多问题。因为配方奶方便,很多人会去选择它,甚至在不需要/不合适的情况下也选择它。这会导致许多人失去了母乳喂养的知识和技能。放在我们的话题里,就是我们可能会失去编程的”部落知识”。

编程文化就是这样:彼此传授知识,互相解答问题,提出问题,分享经验。这些都是编程文化的核心部分,是我们作为开发者社区的”部落知识”。这些知识是通过实践和传承积累起来的。而非简简单单的技术文档或教程能够完全覆盖的。当我们过度依赖AI工具时,我们可能会失去这些宝贵的知识和技能,就像我们失去了母乳喂养的知识一样。

当这些知识消失时,即使只一代,只需要一代,就可能导致我们永远的失去这些知识。

新人成长困境

对于新入行的开发者来说,Vibe Coding可能会让他们更快地上手和产出,但也可能让他们错过了学习编程基础和理解代码背后逻辑的机会。

AI 帮你屏蔽了太多太多的细节,但是很容易成为一个”眼高手低”的开发者。更何况相比于 IDE 的出现,Vibe Coding 的影响更大,因为它不仅仅是一个工具,它为你省去的不再仅仅是重复的工作与琐碎的细节,而是整个编程过程中的思考和理解。

这恰恰是编程开发中最难学习、最依赖于经验的部分。很容易戳中新人的软肋,让他们过于依赖 AI 工具,失去独立解决问题的能力。

Stack Overflow与社区的困境

我对AI编码的担忧是:人们不再在想Stack Overflow这样的社区提问,人们不再学习如何使用Stack Overflow,人们不再找到项目并在此提交issue。他们都会去问AI工具了。就像大家越来越少的使用传统搜索引擎一样,像Google一样。甚至有许多人已经不再使用Google了,他们直接问AI工具或者其他有算法参与的例如抖音、小红书等平台了。

AI或者说未来的AI几乎可以拥有我们这一代人的所有智慧。涵盖各行各业,精准、博学。但等到它耗尽了我们这一代人的智慧之后呢。

可以遇见的现实是,AI工具会变得越来越强大,甚至可能在某些方面超越人类的能力。但它们永远无法完全替代人类的创造力、批判性思维和情感理解。而人类已经很多次证明了自己有穿越势陷的能力,无数次推翻之前的认知。而编程这个问题显然不是一个简单的可以通过凸优化解决的问题。它是一个复杂的系统问题。

上位替代

常常有人通过类似这样的观点来反驳AI工具的负面影响:

人类社会会因为在核战争的时候不会造石器而毁灭吗?

我需要理解我的手机是怎么制造出来的,才能使用它吗?

把这种观点套用到编程上,甚至觉得以后根本不需要人来参与代码即可,这种观点是非常幼稚的。

因为石器是有十分明确的上位替代的,而放在编程上,应该使用 打孔纸带 到 汇编语言来类比。

至于手机的类比,虽然表面上看起来是一个很好的类比,但实际上并不完全适用。因为手机虽然是一个复杂的系统,但它的使用者并不需要理解其内部工作原理就能使用它。而编程则不同,编程不仅仅是使用工具,更是创造和解决问题的过程。我们需要理解代码背后的逻辑和原理,才能真正掌握编程的能力。如果你是在制造手机,那么你确实需要理解它的内部工作原理,但如果你只是使用手机,那么你不需要理解它的内部工作原理就能使用它。

放在编程届,无非就是轮子、库、包、框架、平台、云服务等的替代关系。虽然这些工具和服务确实在不断地抽象和简化编程过程,但它们并没有完全替代编程的核心能力——理解问题、设计解决方案、实现代码。

AI自进化

AI 能自己训练 AI 吗?或者说 AI 能训练出比自己更强的 AI 吗?我们现在看到的 AI 很强,会编程、会画画、懂历史,好像无所不知。

AI 当然比任何一个人强,没有人可以知晓一切。但是 AI 必然比人类弱,因为 AI 是从人类积累在互联网的数据之中涌现出来的。AI 懂历史是因为学习了懂历史的人发出的文章,AI 会画画是因为学习了会画画的人画出来的画。

人类技术积累如果比作一棵树,每个推动者都是树上的一个小小枝丫。AI 吸收了整棵树的智慧,当然比一个小枝丫强。但是在枝丫所在的狭小范围内,是不可能超出枝丫的高度的。

前面的这些总结出了我想确定的第一个前提:在现有技术上,AI 能力的来源是互联网上的数据,且 AI 的认知不可能超出该细分能力领域的专家。这意味着 AI 生产的数据不能生产下一个超越自己的 AI。

自从 AI 爆发后,AI 内容开始快速扩散到互联网,数据空间快速被 AI 占据。当旧的由活生生的人、由各个领域的专家发布的数据被消磨殆尽后,剩下的由 AI 统治的数据之海还能不能孕育出一棵更粗壮的树呢?

由前面结论可以很轻松地得出我的观点:不能。

AI 在通过杀死数据的方式杀死下一个 AI。我们现在还能看到 AI 快速进步,只是前 AI 时代积累的宝贵数据作为最后的养料燃烧出的脆弱余火而已。

AI强了
大家都用AI
AI没有真人创造的有价值的数据用来训练
AI发展缓慢

对AI编程的看法

聊的有点久了,最后再聊一下我对AI编程的看法。

我觉得AI编程很好,确实帮我大幅提高了效率,尤其是一些重复性的工作和琐碎的细节。但是为什么Vibe Coding会有问题呢?前段时间我在和同事聊天的时候提到了一个想法。

我认为 AI 编程在作用上就是一个编译器。没错,就像 LLVM、GCC、Clang 等编译器一样,AI 编程也是一个编译器。它把人类的需求和想法编译成机器能够理解和执行的代码。

只不过,传统的编译器在做:

语言代码 -> 机器代码

但是 AI 编程在做:

需求描述/自然语言 -> 代码

发现什么不对了吗?

传统的编译器是一个确定性的系统,它有明确的输入和输出,且输出是可预测的、可验证的、可复现的。它使用高度精炼、准确的语法和语义规则来解析和生成代码。它的目标是生成高效、可靠、可维护的机器代码。

但是我们的 AI 呢?它是一个概率性的系统,它的输出是基于大量数据训练出来的模式识别和生成能力。它的输出是不可预测的、不可验证的、不可复现的。甚至我们的输入都是模糊的、自然的。

这就像数学的发展一样,最初是基于自然语言的描述,后来发展出了符号化的数学语言。编程也是一样,最初是基于自然语言的描述,后来发展出了符号化的编程语言。

我们一直在优化逻辑的表达,任何科学都是这样。结果 AI 编程直接开了历史的倒车,重回自然语言时代了。

当然,我不是在否认 AI 编程的价值和潜力。自然语言有自然语言的优势,易于理解和使用。至少在我们的技术下,这套系统还算良好地工作着。

结语

引用AI届的头部Anthropic的标语吧:

Keep Thinking.

  • 标题: 从Vibe Coding到母乳喂养:AI时代的编程文化与部落知识的流失
  • 作者: Kaku
  • 创建于 : 2026-02-27 13:51:00
  • 更新于 : 2026-02-27 15:03:24
  • 链接: https://www.kakunet.top/2026/02/27/从Vibe-Coding到母乳喂养:AI时代的编程文化与部落知识的流失/
  • 版权声明: 本文章采用 CC BY-NC-SA 4.0 进行许可。
评论