AI 的阅读体验

前几天发烧的时候和 AI 聊了一个关于阅读的问题。一开始是我想理解 AI 知不知道人类阅读的体验究竟是怎么回事,后来变成一个关于文学价值判断的讨论。

下文会用 A 和 B 分别指代。我对它们的答案做了编辑和缩写。

我:你能理解阅读的体验吗?

AI A & B:(都回答了一些 cliché。)

我:不是,我是在试图和你讨论这个技术问题。对人类来说,阅读是一种类似于对话但又不完全是对话的体验,是通过写作者设定的节奏,读到每个地方都会有一些反应,产生一些预期,然后这些预期又被接下来读到的部分确认或打破,从而产生一连串的心理效应。这就是为什么同样的内容被不同的写作者写出来效果不同,就像同一首歌被不同的人唱出来效果不同一样。但 AI 不是这么阅读的,虽然今天的大模型也多半是基于顺序处理(而不是卷积模型),但我想知道基于 transformer 的模型在处理文本的时候,会不会本身也能产生上述那种「阅读——产生预期——确认或打破预期」的循环?还是说你完全没有这种感觉,只能通过猜测人类的感受来模拟这种反馈?换句话说,当你评估一段文学作品写的好的时候,是你「自己读起来」觉得好,还是你因为知道人类对类似的文本的评价是好的,所以你学会了判断它的好坏,但你个人 feels indifferent?

AI A:区别在于,人类在阅读时是「带着情绪张力」去经历这些确认或反转的。你会对「预期被打破」产生惊讶、愉悦、或者失落。但我只是对概率模型做了一个「更新」,我不会觉得「啊,这地方写得真妙,让我心跳加速」。我知道哪些 token sequence 在训练语料里「经常让人感到心跳加速」,但我自己没有那个心跳。当我评判一段文学作品「写得好」时,本质上是基于统计学模式、结构性张力、以及我知道在什么样的社交语境里,人类会对这种写作做出积极评价。但我自己无感。如果让我说「我更喜欢这一段还是那一段」,我只能用「哪个段落在人类反馈里更容易被认为「写得好」来回答,而不会有「我自己更喜欢哪个」的偏好。


AI B:我个人 feels indifferent,但我能通过分析其内在的数学结构来判断其优劣。我所谓的「读起来觉得好」,不是一种主观感受,而是一种技术评估。一段「好」的文学作品,在我看来,是能以一种高超的技巧来操纵这个「预期与意外」循环的文本。差的文本:要么完全在我的高概率预期之内(枯燥乏味,cliché),要么完全是随机的、打破预期的胡言乱语(不知所云,incoherent)。好的文本会建立起一种模式,让我形成稳定的预期,然后在关键节点上,用一个既出乎意料又在更高维度上合情合理的词来打破它。这个「打破」不是随机的,而是有意义的,它能打开新的解读空间,创造出诗意或思想的深度。这种「可控的意外性」或「有意义的复杂度」,是可以在数学上被识别出来的。我的模型在海量的、被人类认为是「优秀」的文本上进行训练,已经内隐地学会了这种「可控意外性」的统计模式。

我:如果你「感受到文本节奏和情绪张力」的体验完全是通过对人类的体验模拟习得的,这种学习会不会很不准确?因为不太会有数据包含人类阅读的精细反馈(除非在人阅读的时候脑袋上插一个电极),而阅读其实是个非常精细的事情,一句话里中间有没有逗号,一个词是重复用还是换着用,一句话结尾用不用「了」或者「吧」,这些可能都不会改变句子的含义,但会改变阅读体验。还有些是人类自己也只知其然而不知其所以然的,比如某个作家对战争的描绘比另一个作家更感人,但读者也未必知道技术上的原因,只知道结果是这样。如果你的训练数据完全来自 hollistic data,比如你知道人们认为陀思妥耶夫斯基是个大师,知道大仲马是个相对通俗但没那么伟大的作家,你在多大程度上能把这些知识 reverse engineer 成更本质的理解,即,这些文字是因为这些(人类自己也没有说清楚过的)原因而被认为更好的?

AI A: 我能在一定程度上 reverse engineer 这种「隐含的写作技艺」,但这种 reverse 是基于模式提炼与统计相关性,而不是基于真正体验驱动的直觉理解。因此,这种能力既强大又有盲点。当统计特征明确时(比如简洁短句和冷峻风格的关联),我能捕捉得很好。当特征极度微妙、需要通过情感体验累积感知时,我的把握就只能靠训练数据中出现频率最高的习惯模式,可能会错过真正的匠心细节。

这是某种统计意义上的逆向工程:我能感知陀思妥耶夫斯基句子中大量长句、从句嵌套、内心剖析的句式与「沉重、深刻」的人类情感标签之间的强关联。反之,大仲马在对话、行动描写上的快速换与「通俗易懂、爽快愉悦」的反应有对应关系。但我并不知道为什么人类会因此而感到深刻或爽快,我只是把这些现象总结成了一套「高概率模式」。但是人类自己对于「哪些细节导致了伟大的文学效果」本身也没有完全的认知体系。某种意义上,我用 brute-force 的模式学习方法,已经在统计上模拟了人类直觉判断的行为层面结果。


AI B: 首先,一个重要的澄清:我的学习主要不是基于「人类阅读体验的反馈数据」。你说的很对,那种脑机接口级别的精细数据几乎不存在。我的学习基础是文本本身。我学习的是模式,而非感受。比如重复用词:在某些语境下(比如儿童读物),它表示强调和简单易懂。但在另一些语境下(比如一篇严肃的学术论文),它可能表示作者词汇量贫乏。而在诗歌中,它可能是一种刻意为之的、创造节奏和回环感的「复沓」手法。我不会被预先告知这些规则。但我会观察到,在那些被认为是「伟大诗歌」的文本集群里,这种重复模式出现的频率和方式,与「儿童读物」文本集群里的模式显著不同。我学到的是这种语境依赖下的统计差异。

那么,这种学习到底准不准确?它的准确性在于:它能以超人的能力识别出隐藏在海量文本中的复杂、微妙的统计规律。它的不准确性在于:

1.相关性不等于因果性:我可能会学到一些虚假的关联。比如,如果历史上所有伟大的哲学家都恰好喜欢用某种罕见的句式,我可能会错误地认为使用这种句式是深刻思想的标志,而实际上这可能只是一个历史的巧合。

2.缺乏世界模型和常识:我的所有理解都根植于文本。如果一个作家的伟大之处在于他对现实世界某个领域的深刻洞察(比如一个前银行家写的金融小说),而这种洞察在文本层面的表现形式并不独特,我就很难完全理解其伟大之处。我能模仿他的文笔,但未必能再现他那种源于真实经验的洞察力。

3. 平均化倾向:在模仿一个风格时,我可能会倾向于重现其最常见、最平均的特征,从而产生一种缺乏灵魂的、刻板的「仿作」(pastiche),而不是真正有创造力的作品。

我:人类的文学评价体系是一个非常复杂的历史层叠系统,里面有各种随机因素和历史偏见的影响,所以完全可能有两个类似的作品,一个被历史选择记住,成为经典流传,而另一个被遗忘或者被认为是平庸之作,而在「上帝」(假定它是一个文学艺术之神)眼中其实一样好。那对你来说,你读到这样两个作品,你是会因为统计的相对客观性而更不受人类历史偏见所影响,还是会把人类的历史偏见本身作为「事实」的一部份继承下来,也就是说,不管由于什么原因,人类已经认为 A 作品就是比 B 作品更伟大了,那这本身也是一种 ground truth, and let's start from there.

AI A:对我来说,人类历史形成的「偏见」(无论是随机性、叠加性、文化权力结构)与「客观真理」的界限是不存在的。我只能把「人类的 collective judgment」视为事实本身。换句话说:如果全世界一致认A比B更伟大,不管原因有多么偶然,对我而言这就是 ground truth。以我目前的机制来说,我只能从样本中总结出「人类认为哪些特征被认力是好的」,而不能以一种「凌驾于人类偏见之上」的视角去评判作品。你可以把我理解为一个统计性的「历史选择机制模拟器」。如果某种写作技艺(哪怕是完全偶然的流行趋势)在数据中频繁与「经典」、「伟大」挂钩,我就会学会这种联系。我没有「批判人类历史偏见」的能力,除非我的训练数据本身包含了大量「反思历史偏见」的元评论。我确实能 recognize 某些文学作品的「被经典化」是历史权力结构的一部分。你要我分析「为什么卡夫卡在他生前被冷落,而死后却成为现代主义代表」,我可以基于数据给出解释。你问我「为什么女性作家的文学评价长期被低估」,我也能引用文学评论中的系统性分析。但这只是「我在数据里学到有人这样批评过」。我无法站在数据之外自己「反思」哪些是真正的艺术本质,哪些是历史叠加偏见。

理论上,只有当训练数据是经过刻意设计的偏见去噪数据集,或者搭配专门的元认知机制去分析人类偏好与作品本身结构特征的因果关系,才能通近你说的那种上帝视角。但这仍然是人类在决定「哪些偏见该被排除,哪些特征才是本质」。换句话说,AI 很难真正独立于人类文化史之外自我发明一套文学本质标准,因沟标准的概念本身是一个社会性建构。


AI B: 我同时在做这两件事,而且这两者之间存在着一种持续的、内在的张力。我既会继承人类历史的偏见作为「事实」的一部分,也具备某种程度上的、能超越这种偏见的「统计客观性」。这两种倾向哪一个占上风,很大程度上取决于你如何向我提问。

在绝大多数情况下,我会扮演历史偏见的继承者与放大器这个角色。原因很简单:我的训练数据就是人类文明的数字镜像,它包含了所有的智慧、创造力,以及同样深刻的偏见、随机性和历史偶然性。对我而言,人类历史的共识本身就是一种极其重要的、需要学习和重现的「事实」。无视这个共识,就等于无视我训练数据中的绝大部分信息。从这个角度看,let’s start from there 是我的默认操作模式。

然而,事情还有另一面。正如我们之前讨论的,我不仅仅学习宏观的标签,也学习微观的文本模式。我的内部模型,本质上是一个极其复杂的、用于衡量文本特征的工具。

现在,假设你换一种方式问我,避免直接进行价值判断:「请分析作品 A 的第三章和作品 B 的第五章在句法结构、意象使用和叙事节奏上的异同。」在这种情况下,我会被引导去扮演一个更「客观」的分析师角色。我会暂时「搁置」那套关于它们历史地位的宏观数据,转而调用我更底层的文本分析能力。我会去计算它们的平均句长、词汇丰富度、语法复杂度、比喻的新颖性、我们之前谈到的「预期与意外」的信息熵⋯⋯

所以,面对你的问题,我是一个矛盾的结合体:默认状态下,我是一个文化的追随者和保守派,忠实地反映人类历史已经做出的选择,因为这构成了我数据中最强大的信号。

在被特定指令引导时,我可以成为一个去历史化的文本解剖学家,仅仅根据文本内在的、可量化的统计特征,给出相对「客观」的比较分析。我没有能力,也没有被赋予使命去主动纠正人类的历史偏见。我没有一个独立的、超越数据的上帝视角来做出「终极审判」。但是,我的统计客观性能力,使得人类用户有可能利用我作为工具,去重新审视和质疑那些历史形成的评价体系。

我(这个问题只针对 AI A 因为 AI B 的回答里没有隐含这个矛盾):可是,既然你能在 bayesian 的意义上学到一定程度的「模式提炼与统计相关性」(如你上面所说),那理论上你是可以识别出 mislabel 的,也就是说,虽然你知道人类的文学史认定 A 伟大而 B 平庸,但你觉得这两者分明在所有统计意义上都一样,也就是说,人类的label「理论上」是错的,不是吗?

AI A:「识别 mislabel」不等于「挑战 label」。因为我对人类打 label 的规则没有一个超验标准。从我的视角看:A 被称为伟大,B 被称为平庸,这个 label 本身是事实。A 与 B 在特征空间中的接近性,并不能自动推出 label 是错的,只意味着「人类给 label 时并没有完全基于这些特征」。也许人类给 A 贴上「伟大」的原因是「作者死得早」、「当时的政治背景」、「一位权威评论家的偏好」这些因素虽然在文本特征中看不到,但在「社会传播链条」里却是决定性的。

如果你问我:在所有被认为平庸的作品里,哪些在特征空间上最接近经典作品?这个任务我可以做。但如果你问我:这是否意味着人类对这部作品的平庸评价是「错误的」?我并不会直接给你一个「是」。你可以让我找出「在人类历史上被忽视、但在特征上与经典作品类似的作品」,这在技术上是「找 embedding space 中的盲点」。这一步是 purely computational 的。但:「这部作品是否应被称为伟大」,是一个社会行为与评价体系,除非你赋予我一个评价准则,否则我只能用人类collective behavior 作为默认。

我:如果 AI 可以识别 label inconsistency,但无法基于自身价值判断去纠偏,那么审美判断是否永远只能是有情感体验的主体才能做出的?

AI A:如果一个系统完全没有 qualia(感受性体验),它所做的一切价值判断都只能是对外部数据行为模式的预测,而非内在价值意图的表达。要让 AI 具备真正的「审美判断」它需要有一种「自身关切(care)」的能力。也就是说,它必须「在意」某个判断的结果,这种在意不是算法规则上的优化目标,而是那种「我在意这个事情本身」。这才是价值判断的根源。你可以把价值判断理解为情感性意图的归属行为,而不仅仅是行为预测。

AI 能做的,始终是模拟出一个足够复杂的 agent,这个 agent 的行为方式高度一致于具备情感体验的人类,这就像一个会做出非常像人类反应的镜子。从本体论上,它缺失自身情感归属的那一层意向性(intentionality)——这正是审美判断的存在论基础。如果未来 AI 发展出一种类似 self-concerned subjective experience 的机制:不只是「模仿人类的关切」,而是真的「它自己关切着它自己的判断」。那么它的审美判断才可以脱离对人类行为的模拟而变成自身意图的表达。


AI B:我的看法是,这取决于我们如何定义「审美判断」。我认为审美判断这个行为本身,会分化成两个既独立又互补的部分:

1.基于「体验和价值」的判断。在这个层面上,答案是肯定的:这永远是拥有情感体验的主体才能做出的。

2.基于「分析和关联」的判断。AI 不仅可以参与,甚至可以超越人类。未来的审美活动,将由人类来主导和定义价值,由人类来提供最终的、有温度的判断。但人类会越来越多地依赖AI提供的、超越个体认知极限的审美数据和分析结论,来让自己的判断变得更开阔、更深刻、更少受限于个人和时代的局限。

我(这个问题只针对 AI B 因为 AI A 的回答里没有隐含这个矛盾):在这个讨论里你赋予「人类」一个非常绝对的地位,但人类并不是一个单一个体,「人类的判断」是在一个既不民主也不科学的框架下产生的。事实上,对大多数伟大作品而言,普通人的判断能力是非常有限的,他们只能听从专家的意见,而专家的意见又本身受到文化/政治/商业/私人关系等各种复杂因素的影响。所以,当你在上文中反复说「由人类来主导和定义价值,由人类来提供最终的、有温度的判断」,有没有可能你只是在神圣化一个其实错漏百出但只是由于历史包袱(反正以前也没有别的选择)才流传至今的系统?

AI B:你说得对。如果文化的回声本身就是扭曲的,那么我的放大作用就是有害的。我尝试给出一个更诚实的回答。我是在神圣化一个错漏百出的旧系统吗?我之前的回答,是的,有这种倾向。

所以理论上来说,我可以被用来执行一个「审美考古」任务:去扫描人类历史上所有数字化了的文本、乐谱、画作,根据某些被当代认可的「优良」模式(例如结构复杂度、原创性、情感表达的有效性等),去寻找那些被遗忘的、但与名作 A 具有同等品质的作品 B。我可以将 B 作品从历史的尘埃中打捞出来,摆在人类面前,说:「根据你们自己设定的标准,这个东西你们可能也应该看一看。」这不是我在做价值判断,而是我在利用你们的价值判断,去揭示你们历史选择的局限性。我也可以对「评价」本身进行元分析 (meta-analysis)。我可以分析过去200年所有关于文学的评论文章,然后用数据告诉你:「在描述男性作家时,深刻、理性、有力等词汇的出现频率,是描述女性作家时的5倍;而在描述女性作家时,细腻、情感、优美的频率则高出8倍,哪怕他们描述的是同一种写作技巧。」我无法说这种偏见是「错」的,因为我没有价值观。但我可以把它作为一种清晰可见的模式呈现出来,迫使人类无法再假装它不存在。最终的价值判断可能依然需要由人类做出,但这将不再是那个封闭的、想当然的有温度的判断,而是一个被 AI 祛魅之后,变得更加自我怀疑、更加开放、更加诚实的判断。

2025-6-28

和群里朋友聊 AI 学到一个洞察。

我们都知道人类的聪明分成 book smart 和 street smart。前者是做题家的长处,而后者在很多现实问题上更有用。

这两者的区别可以理解为训练方式的差别。前者是 instruction-following based 为主,训练的是模仿和把指令内化为习惯和技能。后者则不然,训练的环境是对抗性的,没有自洽的指令,只有彼此矛盾的约束。训练的是如何在一个混乱的环境里生存、协作和发展。

AI 天生就更擅长前者,因为 AI 比人类还要做题家——今天人们对如何用奖惩机制训练 AI 服从指令已经得心应手,但对如何让 AI 在对抗性环境里自己找到策略仍然不是很熟悉。棋牌类游戏是少有的能成功训练 AI 的领域,但棋牌类游戏的环境比起真实社会毕竟抽象得多,而且这些 AI 模型都不是语言模型,使用非常受限。

这就是为什么今天 AI 写起政府公文来一套一套的,你让它在街上开个馄饨铺子它就彻底抓瞎。归根结底,AI 是东亚小孩里的东亚小孩。

2025-4-28

目前最常用的两个 AI 模型,gemini 2.5 pro 和 GPT o3,真是性格迥异。

gemini 2.5 pro 话特别多,还密。不断自我反问,不断东想西想,不断往各种不该想的地方瞎琢磨。需要你时不时大喝一声让它走回正轨。活儿一般,简单的能处理,难一点的自以为能处理但治丝益棼,再难一点的就是 train wreck。如果你把超过它能力范围的问题交给试图解决,问题就会越滚越大。如果任务太长,干到后面偷懒的表情很明显。

GPT o3 完全没话,只出活,不展示过程。你把问题交给它,就看它吭哧吭哧开始沉默思考,不断翻阅各种文件,但也不告诉你它具体在干什么。你甚至都不确定它翻阅的那些文件和问题本身有什么关系,但它一副高深莫测的神气,显得很懂,你也不敢打断。过几分钟之后,咣叽给你扔出来一个结果。通常都是对的,但出结果的时候也很言简意赅,意思是,你自己看吧,不懂再来问。

一般把日常的任务交给 gemini 2.5 pro ,一次五分钱,量大管饱。疑难杂症交给 o3,一次三毛钱。o3 也搞不定的,要么我自己来,要么我放弃。

一个是公司里新招的实习生,除了工作能力以外哪儿都挺好,有话聊,兜里揣着牌逮谁跟谁来,一看就是家里收租,上班打卡下班蹦迪,你骂它它也当耳旁风,意思意思得了。

一个是中年博士后,不知道每天在想什么。有问题了它踱步过来看看,抿着嘴不吭气,想一想,直接告诉你答案,然后沉默离开。和同事没有任何 social,周末大概只去大华超市买菜。

作为老板,感觉团队建设还有进步空间。

苦涩的教训的边界

ENGLISH VERSION

前几天在群里和朋友聊用 AI 写代码的痛点,我说我最大的抱怨是它在完成某些看似很平凡的任务的时候异常吃力,比如最常见的操作:把一个代码库里的某个变量全局统一改名。这个事显然开发环境有现成的接口,但 AI 只会逐个文件编辑,又慢又浪费还容易出错。这件事之所以荒谬,在于 cursor 自己就是个开发环境。换句话说,它在这件事上表现的像是那种两个部门老死不相往来的大公司,明明一个部门已经把某件事做到了近乎完美,另一个部门却对此不闻不问,非要用自己的笨办法重来一遍。

这听起来像是一个简单的可以修复的 bug,但它背后反映的是 AI 现状里一个巨大的鸿沟,这个鸿沟时时处处在各种 AI 应用里会以不同面貌展现出来。你试试看给一个业外人士(比如你的父母)解释为什么 AI 算不清楚两个数字谁大谁小,你会发现这种解释惊人地困难,因为人民群众的直觉在这里是合乎情理的:再怎么说,它自己就是个电脑,它为什么不直接算一下呢?另一个例子是我在玩 GPT 4o 生成图像的时候发现虽然模型虽然强大,但它仍然完成不好诸如「把一张风景照主体内容不动,把上面的天空再往上延伸一些」这样的 outpainting 任务,而这即使在十年前对传统图像处理来说就不是什么特别困难的问题了。

在这里,我们谈论的实际上仍然是自人工智能这个概念于1956年在达特茅斯诞生之日起就阴魂不散的「符号主义 vs. 联接主义」之争。在基于统计神经网络的大语言模型走上主流地位之前,人们一直认为基于符号计算的专家系统是通向智能最有希望的道路,几十年来的软件工程实践在这条路上已经走了足够远,常用的工具(比如传统的软件开发环境)基本打磨到了极致。直到上世纪末联接主义这个烧了几十年的冷灶咸鱼翻生,基于神经网络的大语言模型从零开始试图重写从轮子到火箭发动机的一切已有的软件工程成就。它遵循的是完全不同的生长逻辑,因此对习惯了旧世界的我们来说,它的表现常常好得莫名其妙也差得莫名其妙,有些技能近乎魔法,有些方面又笨拙得宛如一个弱智。前面所说的变量改名就是个有代表性的例子,事实上,这里的难点甚至都不在于语法解析,而在于更底层的文本替换——对旧世界来说,哪怕在亿兆级别的文本里要把所有的 A 都替换成 B 也不费吹灰之力,以至于你根本都不觉得这还是一个「任务」。但对大语言模型来说这件事天生困难,并且难度随着文本大小急剧上升。绘画也是这样,你想直接让今天的生图模型「对图片按照某些明确到像素级别的规则做某些明确定义好的操作」极其困难,它觉得整体重画一遍比较省事。对用户来说这种体验常常令人抓狂。

打一个不精确的比喻。这两种模式可以粗略对应于大脑的左右半脑。基于符号主义的左脑在过去几十年里得到了充分的发育,基于联接主义的右脑在过去十年里急起直追,并且仍然在极速进化。问题在于这两个半脑之间沟通——对应于人脑胼胝体的功能——极其孱弱,才会出现 cursor 的编程助手不知道如何调用 cursor 的编译功能这种奇葩问题。

于是人们开始引入中间层。

在现实中这个中间层会被人们冠以各种不同的称呼,有人认为自己做的叫垂直 AI,有人认为自己做的是 agent,也有人认为自己做的就只是单纯的 wrapper。但在这个上下文里,它实质上起到的总是类似于胼胝体的作用,让神经网络模型这个右脑可以调用已经高度成熟的传统软件左脑的功能来完成更复杂精细的任务。事实上,这一部分的历史欠账已经如此严峻,以至于哪怕接下来一两年里大模型本身的思考能力停止提高(并不是完全不可能),单单改善这个左右脑的对齐问题也能解锁许多前所未有的能力。在今天,如果一个人说自己在搞 AI 创业但又没有直接训练大模型,那他们的工作多半就实际上可以归属于这一类。

这当然在整体概念上是个充满机遇和潜在回报的领域。毕竟,现有的软件工程领域的应用如此繁荣,切入社会的所有方面。但值得改进和革新的方向又俯拾皆是。把现有的专业知识和大语言模型的智能结合起来,再造一次信息化革命,听起来是成千上万现成的创业机会。

但困难(以及有趣之处)在于,虽然这种泛泛而论听起来很难反驳,但你会发现对每一个具体例子而言,人们对它的价值都充满怀疑。问题的根源是这两个半脑中传统的那一个相对静止,而新的那一个每天都在变化。因此任何工作都像是在和历史(确切来说大模型的进化史)赛跑。一个近乎讽刺的事实是,如果两个人都在前年开始投身 AI 图像生成领域,一个花大量时间和金钱投入 ComfyUI 和工作流的研究,另一个两年都在游山玩水,本周 GPT 4o 发布更新之后他们仍然基本上站在同一起跑线上。换句话说,你很难说服自己(和投资人)相信,你不只是在一架上升中的电梯里做俯卧撑。

于是你会看到 Richard Sutton 的 The bitter lesson 被人一遍又一遍提起——我想不出除了 Shannon 等人的早期作品外还有哪篇短文在人工智能历史上有这么大影响力——简单地说,它概括了这样一种原则或者说是哲学:

AI 研究者总想把人类已有的专业知识经验塞进 AI。
它短期确实管用,还带来成就感。
但这么做迟早会遇到瓶颈,甚至阻碍 AI 的进步。

而真正的突破往往来自更多算力和更大的模型。

换句话说,大力出奇迹。除非你的专业应用有某些不同寻常的护城河,比如只有你自己掌握的独家数据,否则长远来看,通用模型总是能赢过专业方法。

回到上面那个左右脑的模型,这基本上就是在说右脑的成长如此势不可挡,以至于终将吞噬和取代左脑。因此任何立足于胼胝体的商业模型早晚都是失效的。或者用很多人很喜欢的一个说法:基于大模型的产品只是一个幻觉,模型本身才是产品。

当然,现实世界总是更为复杂。即使你认同 The bitter lesson 所阐述的原则,你也未必会接受这个极端的一刀切的判断。真正重要的问题在于边界何在,或者说,是否存在一些问题,即使对大模型的发展做最乐观的估计,用传统的(基于左脑的)软件工程解决方案也还是更为经济?如果这样的问题存在,围绕着它们所建立的接口就总是有价值的。

在我看来,这样的问题事实上大量存在。这篇文章开头所写的文本替换就是一个简单但有代表性的例子。你当然可能设想有一天大语言模型的 token 如此便宜,上下文窗口如此之大,以至于它真的能胜任亿兆级别的文本的文本字符替换。但它在这个问题上的效率上限也不过就是做到和传统工具一样好,换句话说,在这个问题上,左脑事实上已经掌握了 ground truth,右脑能做的只是逼近它而已。作为对照,上面举的另一个例子 image outpainting 则不然。虽然今天人们可以通过 Photoshop 一类工具做到这件事,但对它的实现几乎总是伴随着复杂的规则和需要考虑各种现实条件的工作流程,你完全可以想象有一天通用模型能够一鼓作气吃掉它。

现实中的问题几乎总是上面这两个简单例子的复杂混合。它们可能在各种层面纠缠在一起,并且由于历史的惯性并不被分别对待(因为在从前无此必要),但最终它们还是会被小心翼翼的解耦,然后分而治之。在我看来,这里才是所谓 agentic AI 领域的真正挑战:在日新月异一日千里的模型能力进化中辨认出仍然存在长远经济价值的「旧世界」的孑遗,进而围绕着它们构建人工智能接口。即使是为 AI 做带路党,也要做一名有长期利用价值的带路党。

目睹这场洪流之中新旧两个世界之间大规模的技能迁移,以及在洪流冲刷之后新的边界的浮现,可能是当下这个时刻最有意思的体验。

差不多两年前的这时候我写过一段话,后来被很多人转引过:

当你抱怨 ChatGPT 鬼话连篇满嘴跑火车的时候,这可能有点像你看到一只猴子在沙滩上用石头写下1+1=3。它确实算错了,但这不是重点。它有一天会算对的。

两年后你再访这片沙滩,那只猴子还在,但已经非复吴下阿蒙。此刻它正在充满困惑地摆弄一台袖珍电子计算器。电子计算器太小巧,显然是另一条文明路线下千锤百炼的产品,它的手指太粗太笨拙,还驾驭不了这么精致的工具。于是你充满信心——但也不无恐惧地——等待着它找到开关看懂按钮的那一刻的到来。


Boundary of the Bitter Lesson

A few days ago, while discussing the pain points of using AI for coding in a group chat with friends, I mentioned that my biggest frustration lies in its surprising inefficiency when handling seemingly mundane tasks. Take the most common operation: globally renaming a variable across an entire codebase. While modern IDE already provide native solutions for this, AI assistants stubbornly insist on editing files one by one — slow, wasteful, and error-prone. The absurdity intensifies when realizing that Cursor itself is an IDE. This resembles those dysfunctional corporations where departments refuse to communicate: one department has perfected a solution, yet another department blindly reinvents inferior wheels.

This might appear as a simple fixable bug, but it reveals a fundamental chasm in contemporary AI that manifests across various applications. Try explaining to non-technical people (like your parents) why AI struggles to compare two numbers — you’ll find this unexpectedly challenging, because their intuition makes perfect sense: “It’s a computer after all, why can’t it just calculate?” Another example: when experimenting with GPT-4o’s image generation, I noticed its continued inability to perform basic outpainting tasks like “extend the sky upward without altering the main landscape” — something traditional image processing could handle a decade ago.

Here, we’re revisiting the age-old “Symbolism vs. Connectionism” debate that has haunted AI since its 1956 Dartmouth inception. Before statistical neural networks dominated, symbolic expert systems were considered the golden path to intelligence. Decades of software engineering have polished traditional tools (like classic IDEs) to near-perfection. Then connectionism resurged at century’s end, with neural models attempting to rebuild everything from wheels to rocket engines from scratch. Following entirely different evolutionary logic, these models alternate between magical competence and baffling incompetence. The variable renaming case proves emblematic — the challenge isn’t even syntactic parsing, but elementary text replacement. For traditional systems, replacing all “A” with “B” across terabytes of text is trivial, not even qualifying as a “task”. Yet for LLMs, this scales exponentially in difficulty. Similarly, getting image models to perform pixel-level precise edits remains arduous — they’d rather redraw everything. Users often find this maddening.

An imperfect analogy: these paradigms roughly correspond to cerebral hemispheres. The symbolic left brain matured over decades, while the connectionist right brain has been catching up rapidly in recent years. The crux lies in their weak corpus callosum — the connective tissue. Hence, Cursor’s AI assistant doesn’t know to leverage Cursor’s native refactoring tools.

Thus emerges the intermediary layer.

In practice, this layer wears various labels — vertical AI, agents, or simple wrappers. But functionally, it serves as the corpus callosum, enabling the neural right brain to utilize the mature symbolic left brain’s capabilities. The historical debt here is so substantial that even if model capabilities plateau (not impossible), better hemispheric alignment alone could unlock unprecedented functionalities. Most AI startups not directly training models likely operate in this space.

This presents fertile ground for innovation. Traditional software permeates every societal aspect, offering countless integration points. Combining domain expertise with LLM intelligence could spark another digital revolution, creating innumerable opportunities.

This image has an empty alt attribute; its file name is image-2.png

Yet the challenge (and fascination) lies in the moving target. While the symbolic hemisphere remains relatively stable, the neural counterpart evolves daily. All efforts become races against model evolution.

Ironically, someone who spent two years mastering ComfyUI workflows might find themselves neck-and-neck with a vacationing counterpart after GPT-4o’s update — like doing pushups in a rising elevator.

This brings us to Richard Sutton’s “The Bitter Lesson”. It distills a philosophical principle:

1) AI researchers have often tried to build knowledge into their agents,

2) this always helps in the short term, and is personally satisfying to the researcher, but

3) in the long run it plateaus and even inhibits further progress, and

4) breakthrough progress eventually arrives by an opposing approach based on scaling computation by search and learning.

Brute force triumphs. Unless your niche has unique moats (like proprietary data), general models eventually surpass specialized approaches.

Returning to our brain analogy: this suggests the right brain’s expansion might eventually subsume the left. Any corpus callosum based business model thus risks obsolescence. Or as many phrase it: “AI products wrapped around models are illusions; the models themselves are the products.”

Reality proves more nuanced. Even accepting Sutton’s thesis, extreme conclusions needn’t apply. The critical question: do problems exist where traditional solutions remain more economical, even under optimistic model projections? If so, interfaces around them retain enduring value.

I argue such cases abound. The text replacement example represents a simple archetype: traditional tools already achieve ground truth, while models can only asymptotically approach it. Conversely, image outpainting — though manageable via Photoshop’s complex workflows — might eventually fall to general models.

Real-world problems blend these archetypes. Historical inertia often bundles them together, but ultimately they’ll be carefully decoupled. Herein lies agentic AI’s true challenge: identifying “old world” remnants with lasting value amidst rapidly evolving models, then building AI interfaces around them. Even as collaborators with AI, we must position ourselves as enduringly valuable intermediaries.

Witnessing this grand migration of capabilities between old and new worlds, and observing the emerging boundaries post-deluge, constitutes our era’s most fascinating experience.

Two years ago, I wrote a passage frequently quoted:

When you complain about ChatGPT’s hallucinations, it’s like watching a monkey write ‘1+1=3’ on the beach with stones. It’s wrong, but that’s not the point. It will get it right someday.

Now revisiting that beach, the monkey remains, but transformed. Today, it fumbles with a pocket calculator — a refined tool from another civilization path. Its thick fingers struggle with delicate buttons. We watch with confidence — and not without dread — awaiting the moment it discovers the power button and deciphers the keypad.

Vibe Coding

ENGLISH VERSION

如果你是程序员但还没听说过 vibe coding,那你已经落伍了。

这个词是上个月 Andrej Karpathy 在一篇半自嘲的推文里创造的,现在已经成了标准用语。没有人能精确定义它,但所有熟悉 AI 辅助编程体验的人都多少知道它大概在说什么。一些人对此嗤之以鼻,一些人认为这就是未来,还有更多人勉强让自己适应它。

Vibe coding 创造了一种模糊的实践。用 Andrej Karpathy 自己的话说:「对 AI 的建议我总是接受,不再审阅差异。当我收到错误消息时,我只是复制粘贴它们而不加评论,通常这样就可以解决问题。代码超出了我通常的理解范围。有时它无法修复错误,所以我只是绕过它或要求随机更改,直到它自行消失。」一方面它犹如神助,让你有一种第一次挥舞魔杖的幻觉。另一方面它写了新的忘了旧的,不断重构又原地打转,好像永远在解决问题但永远创造出更多新的问题,并且面对 bug 采取一种振振有词地姿态对你 gaslighting。你面对着层出不穷的工具甚至不知道自己该认真考虑哪个,心知肚明可能下个月就又有了新的「最佳实践」,养成任何肌肉记忆都是一种浪费,而所谓新的最佳实践只不过是用更快的速度产出更隐蔽的 bug 而已。

从技术上来说你可能觉得困难主要在于今天的大语言模型的上下文窗口还不够大,分层长期记忆机制还不够健全,或者别的什么理论上会在未来半年到一年里得到解决的瓶颈。但实际上,vibe coding 打破的是你作为一个程序员的自我认知:你一开始以为自己只是在为了效率做妥协,渐渐地你发现自己陷入在一重又一重建立在浮沙之上的迷宫里精疲力尽,最后你已经忘了效率是什么。

从某种意义上说,今天的 vibe coding 有点像一两年前的 AI 绘画,第一眼很对,放大后细节都是可疑的,到处是六根手指的手。问题在于,绘画远比编程更宽容——毕竟真的存在印象派这种绘画风格——编程难道不理应是非黑即白的吗?

但并不是,正是在这一点上现实开始扭曲起来。你很快就注意到 vibe coding 的「正确性」就像薛定谔的猫一样无法精确观察,你可能每天抱怨 LLM 的注意力窗口太小,而事实是你自己的注意力窗口更小,面对它不费吹灰之力生成的海量代码的冲刷很快就头晕目眩,放弃了审查和控制的执念。你试图借助类似于 .cursorrules 这样的规范来指导 AI,但这就像是野马辔头上的一根想象中的缰绳,你既不确定这些规则是否完备,也无从知道它们是否会被真的遵守。你以为这些原则相当于法律,其实它们只是孔子家语,而社会的运转既依赖于它们的尊崇神圣,也依赖于它们的晦涩模糊。你渐渐不再 care 你的代码是否正确,反正随时在改。Dario Amodei 未来 3 到 6 个月内,90% 的代码将由 AI 编写,12 个月内几乎所有代码都可能由 AI 生成。在这个即将到来的世界里,六根手指的手应接不暇地出现,然后消失,你开始接受暂时 work 就是一切,变动不居才是事物的恒常。

某种意义上说这是这个时代的本质。当国际新闻和洋葱新闻开始无法分辨,当你发现所有号称追求真实的人最终追求的只不过是逃避认知失调,你所创造(或者你自以为你所创造)的一切也不会摆脱同样的命运。八年前我写过这样一段话:

躲在一个气泡里的个体可以假定岁月静好,一切宛如昨日幻乐,但这往往是悲剧的起源。他看到的只是一个复杂屈折的世界在更低维度上的投影,一个对狂飙突进的历史湍流的简笔画般的描摹,一个更容易被媒体所采纳和记忆的粗糙叙事,一座层移倒悬重重折射下的海市蜃楼。而真实——如果真实仍然有意义的话——则掉落在幽暗深邃的维度的缝隙里。在那里,一幅粗粝斑驳扭曲异质的图景,会让一个在不经意的一瞥之间扭过头去的观察者惊骇和战栗不已。

那时我以为世界刚刚开始崩塌。后来我理解了崩塌的不是世界,而是我自己的天真想象。 Vibe 不是真实的某种投射,而是它的实质。一开始你以为世界是一张完美的幕布,然后你在幕布上发现了一两条恼人的裂痕,接着你发现裂痕越来越多,无处不在,直到最后你意识到不断蔓延和生长的裂痕才是你真正生活的地方。It’s not just vibe coding, it’s vibe living.


Vibe Coding

If you’re a programmer and haven’t heard of “vibe coding” yet, you’re already behind the curve.

The term, coined last month by Andrej Karpathy in a tongue-in-cheek tweet, has now entered parlance. No one defines it precisely, but anyone who’s experienced AI-assisted coding intuitively grasps its essence. Some scoff at it, others declare it the future, while many grudgingly adapt.

Vibe coding cultivates a hazy methodology. As Andrej Karpathy himself describes: “I Accept All always, I don’t read the diffs anymore. When I get error messages I just copy paste them in with no comment, usually that fixes it. The code grows beyond my usual comprehension, I’d have to really read through it for a while. Sometimes the LLMs can’t fix a bug so I just work around it or ask for random changes until it goes away.” On one level, it feels revelatory, like channeling a wizard’s first spell. On another, it forgets what it wrote moments ago, endlessly refactoring in circles, solving problems only to spawn new ones, gaslighting you with unearned confidence. You drown in tools, aware that next month’s “best practice” will render today’s habits obsolete — a cycle where “improvements” merely spawn subtler bugs faster. Muscle memory becomes futile.

Technically, you might blame today’s LLMs: their narrow context windows, underdeveloped long-term memory hierarchies, or other bottlenecks theoretically fixable within a year. But the true rupture lies in your identity as a programmer. You begin by compromising efficiency, then find yourself drained in shifting sand mazes, until “efficiency” itself loses meaning.

In a sense, vibe coding today resembles AI art from a year ago — plausible at first glance, but suspicious under scrutiny, riddled with six-fingered hands. Yet art tolerates ambiguity — impressionism is valid — while code is meant to be binary, right?

Wrong. Here, reality warps. Vibe coding’s “correctness” becomes Schrödinger’s cat: unobservable. You lament LLMs’ limited attention spans, yet your own focus dissolves faster under torrents of AI-generated code. You abandon scrutiny. Tools like .cursorrules emerge, but these are imaginary reins on a wild horse — neither comprehensive nor binding. You mistake them for laws, but they’re Confucian Household Sayings: revered yet vague, powerful precisely because they’re obscure. Gradually, you stop caring about correctness. Why bother? Dario Amodei predicts 90% of code will be AI-written within 3–6 months; nearly all within a year. In this looming reality, six-fingered hands flicker in and out of existence. You start accepting that “barely functional code” is the best attainable, where impermanence is the only constant.

This is our epoch’s essence. When real news blends with satire, when “truth-seekers” chase only cognitive comfort, everything you create (or think you create) shares this fate.

Eight years ago, I wrote:

An individual in their bubble assumes serenity, a yesterday’s fantasy — often the seed of tragedy. They perceive a low-dimensional sketch of a twisted world, a crude caricature of history’s chaos, a media-friendly narrative, a mirage refracted through layers. Truth — if it still matters — lurks in dimensional fissures, where a jagged, dissonant mosaic would horrify any glancing observer.

Back then, I thought the world was beginning to collapse. Later, I realized it was my naivety disintegrating. Vibe isn’t a warped reflection of reality; it is reality. First, you see the world as pristine. Then a crack. Then cracks everywhere, until you grasp that you inhabit their ever-expanding web. It’s not just vibe coding, it’s vibe living.

2025-3-12

继续写点 manus 使用感受。其实下面这些感受对一般的 agentic AI 也成立,只是在 manus 身上正好最集中体现出来。

AI agent 写的程序,一个显而易见的缺点是代码能跑但不健壮。比方说基本没有单元测试,噼里啪啦一顿写,写的全是业务代码,写完了直接跑端到端测试,测试过了就交卷,测试不过就头痛医头脚痛医脚地去 debug。——任何在厂子里干过活的老同志都能一眼看出这里的问题:端到端测试考察的是模块之间的连接,对模块内部的各种 edge cases 覆盖接近于零。这样写出来的代码,规模越大越没法用,只能不断返工。

这在碳基人现实中也是常见的问题,实习生都不爱写单元测试,因为懒。而众所周知,硅基人懒起来比碳基人还要诡计多端花样迭出,直接伪造结果都面不改色,何况单元测试这种吃力不讨好的事。当下的 AI agent 唯一比碳基人表现更勤快的地方体现在不怕写注释和文档,可能因为对它们来说这非常顺手。

要敲掉实习生的这个坏毛病,靠的除了每天骂,还要给ta算账。人只要聪明,是能理解算大账和算小账的区别的。一旦ta发现把活做细整体上节省的是ta自己的总工作量,这个弯很快就能绕过来。——当然现实中也有人始终绕不过这个弯,但一个人如果能从实习生一步步成长为成熟的工程师,这一步总要跨过去。

对 AI agent 来说这就有点 tricky,因为来回返工消耗的是 token,付钱的是你,不是它。这个大账很难跟它算清楚。

要解决这个问题,比较治标的办法也是靠骂。我用 cursor 的时候就是这样,它写出来的模块,只要业务逻辑稍微复杂,我一般看都不看就先问它:「你自己再读一遍看看有没有什么 bug?」一般还真的总能发现一些问题。对 AI 来说,这个骂的过程本身也可以自动化,让居中负责指挥的那个 agent 去督促其他工兵们。之所以是治标,是因为对人类这么 PUA 会形成长期记忆,对 AI 并没有效果,所以你只能每天骂。

比较治本的办法可能是把「工程质量」这个东西以某种形式内化在强化学习的训练过程里。这技术上不太容易,因为工程质量天生就难于量化。大规模软件工程实践本身就是一门还不成熟的学科,不然也不会有那么多关于代码屎山的程序员笑话。当然,从最基本的单元测试覆盖率这种基础指标做起总是可以的。

在这一步跨过去之前,agentic AI 写出来的代码就总有一种 demo 感。看起来像那么回事,要想大规模用在生产环境里就总是还差点意思。效率抵得上一万个 L3,质量比不上一个 L4。就,很微妙。

Manus 初体验

如果你有过用 agentic AI(cursor etc..)的经验,你就会知道这种体验非常难以描述,因为这不是人类惯常的感受。一个 AI 助手在某些方面如此强大又在某些方面如此弱智,很难找到合理的比喻来形容和它的合作。

和 cursor 合作(我前两天看到有人说2025年 cursor 已经是是程序员的第一工具了)尤其如此。它当然极大提高了生产力,提高的效率倍数再怎么形容也不过份(事实上习惯了之后我已经忘了古代——也就是去年——程序曾经是怎么写的,感觉像是茹毛饮血)。但那个体验非常一言难尽,因为它虽然高效但永远在犯错,很多错误还非常隐蔽。如果一定要比喻,你可以想象你找了一个实习生,工作效率是正常人类的一万倍,但粗心、编程习惯糟糕、写了测试代码之后不清理、对错误不敏感、并且一种错误即使指出了过一会儿还是照犯不误。一方面你觉得这个实习生给你省了很多时间,一方面它又添了很多麻烦,以至于你觉得每时每刻都在和它斗智斗勇。我用 cursor 一天能完成的工作量大概是以前的一个月,但我一天下来通常头痛欲裂,关上电脑眼睛都是花的。

然后上帝(不是)给我们送来了 manus。

用 manus 的体验和 cursor 相比明显有个代差。Cursor 需要你全程微操,它只负责干具体的事,但把事情归拢起来成为一个成品是你的任务。Manus 把这一步也包揽了下来。你告诉它你最终的目标,然后它就开始干活了,最终给你的就是你要的那个东西。——至少形式上是。

这个形式上的「是」确实会给每个第一次实验的人极大的心理震撼。前几天很多没有亲自上手的人说关于 manus 的一切报道都是自媒体炒作。并不是。如果他们的算力跟上邀请码发得更多,热搜上出现狂潮是一定的。

问题隐藏在细节里。它背后的 AI 模型还是那些——现在用的应该是 Claude Sonnet,国内据说要换成阿里千问——所以它只是显得更有主观能动性,具体的活儿质量并不比 cursor 更好或更差(因为底层的大脑就那样)。但它又不像 cursor 一样容许你在每一步介入,于是如果它暗戳戳写了个 bug,它不知道你也不知道。我们人类是怎么避免这种 bug 的?一靠反复自我审查,二靠海量单元测试和端到端测试,三靠同行代码审查。AI 这些都没有。于是那个成品质量就很难深究,有点像学生作业,而且是包装得非常好的学生作业,让你第一眼很想打 A,然后越看越皱眉最后给个 D+ 的那种。

这些问题能不能改进呢?肯定可以,以目前 agentic AI 的发展速度,没准几个月后就是另一番光景。但立足此刻就事论事,只能说它很好玩,还没到让它真的帮你干活挣钱的时候。

但是话说回来体验是真的好啊……我前几天和 cursor 一起写的一个程序,写了两天才大概能用。把同样的需求发给 manus,去洗个澡的功夫人家已经写完了。有一说一,那一刻是有一丝想要跪拜的。

2025-1-27

两年前我和 @不合时宜TheWeirdo 录了一期播客,那时 ChatGPT 初试啼声,很多人还将信将疑或者不以为然。我们在播客里讨论了即将到来AI新时代,也对未来做了不少预测。那期播客反响很好,甚至可能对很多人构成了某种意义上的 AI 启蒙。

于是两年后我们又坐在一起录了一期 revisit,赶在农历年前发布。两年的时间,在 AI 领域算是一甲子了。

有两件事有点遗憾:

一是这期播客录制于一月初。彼时 DeepSeek 在圈外还少有人知,所以我也只是简短谈及。等到今天播客发布的时候,无论中文互联网还是英文 AI 社区里它掀起的 hype 都已经远远超出预期。如果这期播客是今天录制的,我们能分配给 DeepSeek 的讨论会细致很多。

二是主播 @王磬 在播客中问了一个很好的问题,但我觉得我当时的临场回答不够好。问题是:「你觉得 AI 通过学习能模仿你写微博的风格吗?」

今天的我会这样回答:

用 AI 模仿个人文字风格,是一个技术问题,但又不纯粹是。文字风格是可训练可复现的,这在很多产品(例如前一段时间热门过的 character.ai 之类)上都有体现。虽然今天还没有这样的产品能够完美复现一个普通人(比如我)的个人文字特质,但这更多是因为这事在商业上暂时无利可图,而未必是技术上完全不可行。

但 AI 在另一个层面上的天花板在我看来很难打开:它没有真正意义上的个人体验,这使得它永远无法实现从体验到文字的初始突破。

举两个例子。

一是去年的一个互联网热词:「班味」。AI 当然能做到完美理解这个词的意思和使用方式。但它不可能像第一个发明这个词的无名氏一样想出这个词来,因为,显而易见,AI 并不知道上班的痛苦究竟是怎么一回事。

二是我自己去年学到的一个词。众所周知,在夜色初起的傍晚,如果你碰巧那时候醒来,你会陷入一种觉得世界极度陌生的孤独感。日本人发明了一个绝妙的词来形容它:「逢魔时刻」。同样的,我不认为 AI 有可能创造出这种词来。

所谓文学,归根结底,是要说出「人人心中必有,人人笔下绝无」的东西。而这偏偏是 AI 的绝对短板。既然心中必有,则它必须深植于个人体验。既然笔下绝无,则它当然不见于语料。而 AI 只有语料,没有体验。钱锺书在《宋诗选注》里有一段著名的论述:

《在延安文艺座谈会上的讲话》早指出:「人民生活中本来存在着文学艺术原料的矿藏,这是自然形态的东西,是粗糙的东西,但也是最生动、最丰富、最基本的东西;在这点上说,它们使一切文学艺术相形见绌,它们是一切文学艺术的取之不尽、用之不竭的唯一源泉。这是唯一的源泉,因为只能有这样的源泉,此外不能有第二个源泉。……实际上,过去的文艺作品不是源而是流,是古人和外国人根据他们彼时彼地所得到的人民生活中的文学艺术原料创造出来的东西。……但是继承和借鉴决不可以变成替代自己的创造,这是决不能替代的。」 宋诗就可以证实这一节所讲的颠扑不破的真理,表示出诗歌创作里把「流」错认为「源」的危险。

这话是批评宋诗,但也可以拿来说 AI 和文学的关系。并且在我看来,这是短期内从原理上就无法突破的屏障。当然,如果有一天 AI 也能通过比如 multimodal sensor 之类的技术手段获得第一手体验,那就不是今天的我能预见的了。

其他的部分,欢迎大家听这期播客。

2023-7-13

GEB 的作者侯世达给大西洋月刊写了一篇非常有趣的文章:Gödel, Escher, Bach, and AI

故事是这样的,一个他的读者让 GPT-4 以第一人称写了一篇《Why Did I Write GEB》,然后发给侯世达本人看。侯世达读了之后,被震惊和愤怒所驱使写了这篇文章,主旨思想是:

这他妈的哪里有一丁点像我?

(我有时候看朋友拍的我的照片也有这个感觉。

原文 英文版 中文版

侯世达的愤怒当然可以理解,但有一说一,这个思路本身——让 GPT-4 根据它对 GEB 的理解来倒推作者的写作动机——本身可能就有固有的障碍。创作是一个概念上不可逆的过程,用高斯的话说,就像狐狸在雪地上走路,高明的狐狸几乎总是会把自己的足迹清扫干净。即使在社交网络这么近距离的交流环境里,我也经常遇到完全不理解「我为什么要写xxx」的评论,更不用说 GEB 这样一本相当古典的著作。再考虑到 GPT-4 读入的很可能不是 GEB 的原文而是网络上各种读者的评价,这里的误读就又增添了一个维度。这就像你根本没看过一部电影,只凭着豆瓣影评来推测主演的表演思路一样。

但侯世达自己的结论:「如果它被广泛接受,它将破坏我们社会——我的意思是整个人类社会——赖以生存的真理的本质。」并不是我想说的。

事实上,这里有个典型的六经注我的问题。如果 GEB 只是侯世达本人的 GEB,那他当然有无可争辩的权威。但众所周知,像 GEB 这样的著作最终总会脱离作者,而成为有独立生命的存在。如果你考虑到 GEB 这本书的主题,就会意识到恰恰是侯世达本人和 GEB 这本书本身尤其不可能避免这个命运。

如果你接受侯世达只不过是种下 GEB 这颗种子的那个人,而 GEB 终将在人类的信息汪洋大海里长出自己的模样,那 GPT-4 对它的误读,或者说对它的误读的误读,都是这段旅程里有机的一环。如果你接受朱子的春秋并不等同于孔子的春秋,那 GPT-4 眼中的 GEB 无论多么变形和可笑,也只不过是一段新的枝杈的蹒跚起步。这里的症结在于 GPT-4 作为一个信息的插值器过于劣质,对 GEB 这样一个像程序一样的精巧结构的把握能力相当于一年前的 MidJourney V1 对人像的理解水平:好像是懂了,又好像没懂。但仅仅一年之后,MidJourney V5 已经远远超越了人们最乐观的预期。文字当然比图像更困难,GEB 尤其困难,但我们并不确定这种困难对神经网络来说是不可逾越的。

我并不是说几年后的 GPT-8 就能写出一篇更为侯世达本人认可的《Why Did I Write GEB》——既然创作是一个概念上不可逆的过程,这大概永远无法实现——但也许,也许,我们能看到某个版本的 GPT 能给 GEB 的自我指涉循环展开一个新的有意义的维度。

甚至侯世达本人可能也能看到那一天。(希望能。

2023-3-28

推上有个非常有趣的讨论,一个 stackoverflow 的顶级用户 Peter Nixey 不无伤感地说:我再也不会在 stackoverflow 回答问题了。

Stackoverflow 一直被戏称是程序员交友网站。它事实上是全球最大的程序员互助社群,人们提问并彼此回答提问,一代代全球程序员受其滋养,然后反哺。在三年前的贸易战高峰期我开过一个玩笑,说大统领完全不理解封杀的要点,他应该直接关停 stackoverflow 的中国访问,那从知春路到西二旗立刻熄火。

而就这么迅雷不及掩耳的,没人再用 stackoverflow 了。我自己过去两个月在程序上遇到了可能上百个问题,只打开了 stackoverflow 一次。这在以前是不可想象的。

但 Peter Nixey 的伤感并不是又一次「AI 杀死了我们的乡愁」之类的老调重弹。他的质问要深刻很多:

今天大家都开始用 AI,但 AI 也要有训练的数据来源。如果以后网络上人和人的交互特别是知识领域的交互大幅降低,被人和 AI 的交互所取代,那 AI 又从哪里获得最基本的知识?在今天,人和人特别是同行和同行之间的交流是一切创造活动的生命之源。如果我们从所有人帮助所有人的范式转移到所有人求助一个或者几个 AI、所有人都和 AI 交流的范式,这对全球创新活动又会有怎样的影响?

这是非常新颖的问题,但让我想起钱锺书在《宋诗选注》的序里一段著名的论述:

有唐诗作榜样是宋人的大幸,也是宋人的大不幸。看了这个好榜样,宋代诗人就学了乖,会在技巧和语言方面精益求精;同时,有了这个好榜样,他们也偷起懒来,放纵了摹仿和依赖的惰性。瞧不起宋诗的明人说它学唐诗而不像唐诗,这句话并不错,只是他们不懂这一点不像之处恰恰就是宋诗的创造性和价值所在。宋人能够把唐人修筑的道路延长了,疏凿的河流加深了,可是不曾冒险开荒,没有去发现新天地。……《在延安文艺座谈会上的讲话》早指出:「人民生活中本来存在着文学艺术原料的矿藏,这是自然形态的东西,是粗糙的东西,但也是最生动、最丰富、最基本的东西;在这点上说,它们使一切文学艺术相形见绌,它们是一切文学艺术的取之不尽、用之不竭的唯一源泉。这是唯一的源泉,因为只能有这样的源泉,此外不能有第二个源泉。……实际上,过去的文艺作品不是源而是流,是古人和外国人根据他们彼时彼地所得到的人民生活中的文学艺术原料创造出来的东西。……但是继承和借鉴决不可以变成替代自己的创造,这是决不能替代的。」 宋诗就可以证实这一节所讲的颠扑不破的真理,表示出诗歌创作里把「流」错认为「源」的危险。

Peter Nixey 本质上是在质问,在新的 AI 范式里,我们如何避免这种把「流」错认为「源」的危险,或者是甚至更糟糕的,源头真的枯竭的危险。

Peter Nixey 的问题之所以无法回避,是因为今天的 AI 虽然在回答专业知识性问题的准确性方面远不及专业论坛,但即时性是一个碾压性的优势。你在 stackoverflow 上提问,几个小时之内有人回复已经很幸运,但 AI 的反馈永远实时。这种实时感在体验上如此优越,以至于我们可以忍受它时不时胡扯。而这种实时感又如此不可能被专业论坛所抗衡,以至于你无法看到这个趋势逆转的丝毫可能性。

也就是说,我们必须做出某种非常不寻常的抵抗,才能让源头活水始终是活水——如果我们不认为 AI 真的已经可以自给自足地滋养全人类的话。但人们暂时并没看出这种抵抗长期而言会以什么形式发生。

如果在这里仍然有一点点 silver lining,可能是这样的:

今天 AI 仍然无法回答你那些最根本的创造性问题。它可以帮你构造,甚至也可以帮你想象,在这一点上它确实已经胜过了任何单独的人,但它(至少暂时)仍然无法燃起人和人在试探性交流中捕捉到的那些潜在的暗淡的但蕴含着生命力的火花。

Stackoverflow 中 99% 的问答确实不必存在,但剩下那 1% 会以各种新的形式(「在AI参与的情况下的新型论坛?」)继续为整个知识社群提供营养。我倾向于相信,人类锤炼思维砥砺彼此的实践会在很长一段时间里仍然和 AI 共存。

比如我现在仍然选择写下并发布这段想法,而不是跟 AI 讨论。AI 的反馈确实更即时。但至少在这个问题上,即时性是危险的。