- Published on
Vibe Coding 基本技术
- Authors

- Name
- RickeeX
近期 Vibe Coding 的一些感想:
明确需求
冯诺伊曼曾经对计算机的反对者说:「如果你能说清楚机器到底做不到什么事,我总可以造出一台机器,而它就做那件事!」
在 60 年代,这还只是逻辑上的思辨,有大量的事情逻辑上可行但是实际上不可行。但是AI Vibe Coding不一样。只要你说清楚你每一步要做什么,AI已经相当接近全能的助手了。
模块化思维
你可能会有一个比较简单的目的,比如:「让 AI 帮我抓取某某网站的内容,然后存储到某个地方」。那么这种事情办起来就很简单,因为它有明确的检验标准。如果网站有反爬措施,那么换新的方法去爬、用新的库去爬,都是可以的,AI 可以帮你大量试错。这个试错是没有成本的,不需要 Vibe Coder 付出任何精力。AI 可以很方便地自我检验,debug 到这个明确的目标被满足为止。
这就是模块化的编程。「抓取内容 + 存储」本身就是一个内部紧凑的模块;这个模块可以很轻易地组合到更加大型的工程中去。
其他时候,你可能并想不清楚你需要的是什么。
最重要的是有清晰的逻辑。你这个软件为什么而存在,是为了解决什么痛点?如何解决?
哪怕是给自己写的,也要问自己:我这个软件有什么独特的价值是别的软件(的组合)所不能取代的?
基本想法
-
我的出发点是,我觉得如果完全依赖 LLM 来做语义分析,会严重缺乏一致性。可能这次是这个结果,下次又是那个结果。传递性也难以保证。可能 A 和 B 的相关系数高,B 和 C 也高,却判定 A 和 C 几乎没有关联。 在这个 LLM 盛行的时代,我觉得回归确定性的,llm-free 的算法,其实很有意思。
-
不同的文章,在我看来,就像是高维空间中的各种 view 镶嵌在不同的 event 的点阵图中。可能立场左 / 右是一个(或者 100 个)维度,经济问题 / 政治问题 / 环境问题又是一个维度。
-
我们人的大脑习惯性地以发散的视角看问题,我猜想语义分析可以帮助我们顺藤摸瓜,发现两个表面本无关联的 views,由第三个 view 相连接;或者由第三个 event 相连接。这种在混乱的世界中找规律的 idea,我是特别喜欢的。
-
我做这个 project 的另一个初衷就是效率。如果只看一个网站吧,可能陷入 “喂给你什么你就看什么” 的境地;看多个网站吧,又有点太多了,重复性高。从这两点上看,一个好的解决方案,很可能是「综合多个网站的数据,对于事实性内容这种有唯一现实模板的东西,只保留一份就好。」这个保留一份的动作,很适合由 LLM 来完成。
-
但是看太多新闻也有坏处,那就是不知道自己在看什么。好比那些「早上 60 秒了解世界」的 RSS,喂给你 20-30 个一句话新闻,你看了。然后呢?它们成了孤立的记忆点,没有整合进你的知识图谱中。你可能最多感叹一下,「哦,这事情发展到这个地步了」,也就是顺着时间轴串联一下,总的来说还是很难和整个「世界模型」联系起来,或者说要联系的话,也要日积月累。这种「左眼进 右眼出 不过脑子」的看法,是我认为现在新闻阅读的一大痛点。同样的理论适用于「兴之所至去啃几篇深度访谈」。是深度了,但它们还是散点的记忆。(这可能是第 3 点的一个更充分的解释)