垃圾时代的品质
摘要
一篇反思性的博文,引用罗伯特·波西格的《禅与摩托车维修艺术》,探讨随着生成式AI工具泛滥,科技行业中的质量危机与虚无主义,呼吁重新关注工艺与价值观。
<p><a href="https://lobste.rs/s/8ohth3/quality_age_slop">评论</a></p>
查看缓存全文
缓存时间: 2026/06/02 15:49
# 低俗时代中的品质
来源:https://sinclairtarget.com/blog/2026/06/01/quality-in-the-age-of-slop/
#### 2026年6月1日
这篇博文非常冗长,几乎完全围绕罗伯特·M·波西格1974年的畅销书《禅与摩托车维修艺术》展开。它也关乎AI——会有一些劲爆观点,我发誓——但熟悉ZAMM的人应该已经得到提醒了。
不熟悉ZAMM的人需要一些背景。很多人认为ZAMM是一本自命不凡的书,就像你的大一室友(那个会在凌晨两点借着月光写俳句的家伙)会津津乐道的那种。它在GoodReads上评分平平,只有3.78分,但正是那些评论捕捉到了不喜欢ZAMM的人对它的感受。比如用户“Zora”,他给了这本书一星评价:
> 我从这本书中学到,你可以卖出十亿册一本任何人都不该浪费三分钟去读的书。这不过是另一本伪装成小说的新哲学书。我几乎确信,人们买这本书的唯一原因是让他们的伪知识分子(读:自命不凡的人渣)朋友能接纳他们进入嬉皮圈。虽然我认识大约二十个声称读过这本书的人,却从未遇到一个真正知道它讲了什么的人。这本书比《圣经》更大的骗局。——Zora
还有用户“Lala BooksandLala”,也给了三星,但表达得更简洁:
> 绝对不要。——Lala BooksandLala
所以,我承认,一篇关于ZAMM和AI的博客听起来可能不像什么好时光;如果有什么比ZAMM更自命不凡,那一定是关于ZAMM的博客。但我希望,通过这个坦诚的内容警告,我已经赢得了一些信任,也许足够让你愿意系好安全带,跟随我在这趟曲折的ZAMM主题公园游船之旅中前行。因为,尽管ZAMM可能很自命不凡,但现在当我们不得不面对“巨口”时,我真的无法停止思考它。
什么是巨口?巨口是科技行业中央裂开的那个虚无主义的巨大深坑。巨口是现在分享在Hacker News等链接聚合器上的博客文章中,大约63%的明确或隐含主题——这个主题没人能忍住不写,即使那些通常写SAT求解器或微服务的作者。巨口是迫在眉睫的威胁,引发了博客圈如此多的“心声”涌现,有些人可能会认为——尽管我希望事情不会这样发展——这不过是高度书面的专业阶层临终前的嘶鸣。
最近,我们有“我还属于科技行业吗?” (https://ky.fyi/posts/ai-burnout),引起了许多人的情感共鸣。当然,还有史诗般的十部分系列,“一切未来都是谎言,我猜。” (https://aphyr.com/posts/411-the-future-of-everything-is-lies-i-guess) 我个人最喜欢的是“我想我暂时不再思考通用人工智能了,” (https://blog.glyph.im/2025/06/i-think-im-done-thinking-about-genai-for-now.html),其显著特点是主要抱怨AI的*美学*,或许还因为它多么快就被作者(https://blog.glyph.im/2026/01/how-to-argue-with-me-about-ai.html)——事实上,他并没有停止思考通用AI。我们软件工程师显然在经历某种挣扎。
软件工程师向来以不回避新技术著称,所以感觉你需要一个非凡的理由才能选择不使用最新的智能编码工具。然而,我认为我们中的许多人对线性代数编写软件的含义感到如此不安,以至于我们正在寻找阐述那个理由的机会,拼凑起对我们曾经视为理所当然、但如今受到攻击的价值观的辩护。
这种攻击不仅仅是AI编码工具变得多么强大所暗示的那个。这种攻击有时来自真实的人。在Hacker News和类似网站上,经常看到类似这样的内容:评论者A,表达对一篇反AI博文的同情,讲述他或她上次使用Claude Code时,它想出了一个微妙误导性的函数名。评论者B,巨口的信徒,然后介入,质问评论者A为什么甚至在意函数如何命名,既然Claude可以*毫不费力地*阅读整个函数体来理解函数的作用,而且评论者A难道没意识到很快就不会有任何人读代码了吗?
评论者B似乎在暗示软件工程已经结束了。不仅仅是从业者个人会失业,而是整个软件工程学科——关于最佳实践、有效架构、如何使软件可维护和高性能的积累的智慧——已经过时了。准确的名字和不准确的名字之间的区别,如果AI仍然能吐出能工作的软件,那就不重要了。
这就是巨口最让我害怕的地方。它似乎想永远吞噬好与坏之间的区别,留下一个只有能工作的代码和不能工作的代码的世界,而没有美丽的、卓越的、有德行的或有趣的代码。
每次我遇到评论者B写的评论,我都会陷入一阵绝望。我感到绝望,因为我一直发现追求卓越在我选择的职业中是激励人心的,但在灰暗的日子里,我担心卓越是否还重要。我认为AI真的会让软件工程师过时似乎不太可能,尽管我无法预知未来;更可能的是,软件行业对手工艺的重视程度会比以前低。如果我想保持对卓越的信念,我必须为自己加固它。所以我有一些重大而紧迫的问题:还存在着好程序员这种东西吗?好代码呢?如果有,“好”为什么重要?使用AI工具的好程序员会是什么样子?面对巨口,*我*自己认为什么是好的?
我无法停止思考ZAMM,因为我发现这本1974年看似关于摩托车的小说帮助了我解决这些问题。在关于亚里士多德和蒙大拿州公路景色的一些拖沓段落之间,我在ZAMM中找到了一种有说服力——甚至感人——的证明,那就是许多批评AI的博客文章所隐含的手工艺精神。我想这大概是我试图抓住每个人的衣领大喊:“你们没看到吗?这完全来自ZAMM!”希望ZAMM对手工艺的推崇能给其他人带来它给予我的同样的安慰和指导。
---
如果你不关心摩托车,让我先说服你:ZAMM其实是一本关于编程的书。至少,它关于编程的程度,和关于摩托车的程度是一样的。
ZAMM不妨叫《禅与软件维护艺术》,因为维护摩托车和维护软件,按照ZAMM自己的标准,本质上是同样的活动。这似乎令人惊讶,因为我们通常认为摩托车维护需要弄脏双手,而编程则不需要。然而,纠结于这个差异会误解摩托车维护的真正重点:
> 未经训练的观察者只会看到体力劳动,并且常常认为体力劳动是技工做的主要事情。实际上,体力劳动是技工所做工作中最小、最容易的部分。他工作更大部分是细致的观察和精确的思考。这就是为什么技工在执行测试时有时看起来如此沉默和疏离。他们不喜欢你跟他们说话,因为他们正专注于心理图像、层次结构,并且根本没有在看你或物理上的摩托车。——《ZAMM》第9章
为了修理有故障的摩托车,技工需要调试故障,而这个调试过程无论故障是无法启动的发动机还是不断死锁的Web服务,都是一样的。至少从2010年的《社交网络》开始,就有一个热门说法:不要打断一个“接线中”的程序员;显然,摩托车技工也一直是这样。程序员和技工都必须在脑海中稳住摇摇欲坠的抽象堆叠才能取得进展。
ZAMM中有一段关于在自行车两边各放一个凳子从长远来看如何能保护你的背部,还有一段关于如何小心处理精密零件,但这些是整本书中关于*物理上*维护摩托车的唯一直接建议。ZAMM关于摩托车维护的其他所有内容都涉及技工的心态,因此同样适用于编程。
ZAMM所说的许多内容都游离在哲学的抽象领域,我们稍后会谈到这一点。但是,如果你只想从ZAMM中得到下一个软件项目工作的实用技巧,它有的比你想象的要多。
以专门讨论“干劲陷阱”的一章为例。“干劲”是你用于维护这种脑力劳动的可用的意志力储备,是“支撑整个事情的神经汽油”。“干劲陷阱”是维护过程中发生的事件,会一次性消耗你大量干劲。
干劲陷阱有多种类型,但所有类型都会让工作中的软件工程师感到熟悉。有一种“间歇性故障挫折”,即“当你刚准备修理时,问题突然又变好了”。在软件工程中,这被称为“无法重现”,或者更糟糕的称为“海森堡缺陷”;当你让自己被愚弄,以为一切实际上都在工作,而问题后来再次出现时,这些陷阱会耗尽你的干劲。还有“不耐烦陷阱”,可能发生在当你低估某项任务所需的时间时,随着你落后于预期进度,你越来越倾向于走捷径。除非你停下来接受承认你的估计是错误的这一小小的干劲打击,否则当你的某个捷径导致一个重大错误,进一步延误你时,你就容易遭遇灾难性的干劲损失。
ZAMM中的建议与编程如此相关,以至于我想知道ZAMM的作者波西格是否做过编程。答案是肯定的。他是一个电脑大牛。在史密森尼,有一个展览展示了波西格1966年的本田Super Hawk摩托车,旁边是他的Apple II (https://www.smithsonianmag.com/smithsonian-institution/zen-motorcycle-still-inspires-philosophical-road-trippers-50-years-later-180984143/)。他的Apple II装上了七块扩展卡,据比我更了解Apple II的人说,这扩展卡数量相当多。他不可能在ZAMM出版后很久才买Apple II(Apple II于1977年发布),但在此之前他就已经是电脑迷了,因为他曾为Honeywell做技术写作。ZAMM中有几个涉及电路和数字计算机手册的类比。
如果波西格十年或二十年后才写ZAMM,那可能会是一本更差的小说,但它很容易就会是关于电脑和上网冲浪,而不是摩托车和西部公路旅行。许多段落几乎可以逐字照搬。
---
好的,到目前为止,我可能让你以为即使ZAMM不是真的关于摩托车,它也仍然主要是关于维护东西。实际上,ZAMM只是把维护东西作为通向ZAMM的主干思想“品质”的途径。(是的,大写“Q”。)
品质以及它与AI编程工具的关系是我想要谈的,但首先我需要解释波西格所说的“品质”是什么意思。这部分可能有点拖沓,这就是为什么我想事先向你推销ZAMM充满了高度相关且有用的关于编程的建议。电脑!我们是来谈论电脑的。但也涉及一个业余哲学家关于修辞和美学的想法。请不要解开安全带,冲向最近的出口。
ZAMM的结构就像一本智识推理小说。导火索事件发生在第一章,当时波西格注意到他和他的骑伴约翰对他们摩托车的态度截然不同。约翰买了最可靠的金钱能买到的摩托车,德国制造的宝马,希望他能避免他所认为的丑陋、繁琐的自行维护工作。他宁愿根本不去思考它如何工作。这让波西格震惊;约翰的态度似乎不切实际,而且除此之外,摩托车内部工作方式里有那么多美值得欣赏。波西格试图解释他自己和约翰之间这种差异的努力,膨胀成一个庞大的思想体系,占据了书剩下的部分。
ZAMM中的谜团,与其说是“谁干的”,不如说是否有一个概念可以把约翰的世界观和波西格的世界观联系起来。波西格认为约翰的态度代表了60和70年代许多人对技术的感受——技术是敌对的、控制的、而且*保守*。他同情这种观点,但也知道技术不一定是这个样子,并想弄清楚哪里出了问题。波西格断定约翰的观点代表了世界的“浪漫主义”理解,关注情感和事物的直接印象,而他的观点代表了世界的“古典主义”理解,关注潜在的形式和逻辑抽象。出问题的地方在于,这两种理解在某个时候发生了分化,而且技术和社会已经被古典主义理解如此压抑地支配,以至于人们需要长途摩托车公路旅行来逃离它。波西格认为我们需要两种理解模式来构建促进人类繁荣的技术,但他缺少一个可以调和它们的“支点概念”。
波西格回忆起他早年作为一名大学修辞讲师时,他质疑自己到底应该教学生什么。他的工作是教他们写出好的文章,他通过指出优秀作家使用的各种小技巧——隐喻、排比、首语重复——来做到这一点。然而,一篇文章可能拥有所有这些技巧却是坏的,或者没有任何这些技巧却是好的。而且他的学生似乎已经知道好文章和坏文章的区别,即使他们自己写不好,或者叫不出所有修辞手法的名字。教授修辞学似乎需要将浪漫主义的理解模式引入课堂,但在一个大学——古典主义模式的堡垒——这怎么能行得通呢?因为大学里你不应该教学生,“好”就是任何他们喜欢的东西。而且这难道就是他想教他们的吗?那听起来也不对。
波西格意识到他试图教给他的学生的就是品质。这是统一浪漫主义和古典主义的东西。他说品质是我们都能识别但无人能正式定义的东西。
在接下来的几章中,波西格用一些形而上学来解释他的意思。(这可能就是许多读者对ZAMM心生厌恶的地方;这是书中说服力最弱的部分。)在波西格的形而上学体系下,某物——一篇文章、一辆摩托车、一段经历——是“高品质”还是“低品质”,不是客观的,因为它不可测量,但也不是主观的,因为品质创造了主体,而不是相反。品质是现实上的一种筛子,在我们甚至能够理解有主体和客体存在之前就被应用了。
这很难理解。我不确定我完全理解。然而
相似文章
AI 垃圾内容正在扼杀在线社区
文章认为,在 GitHub 和博客等平台上泛滥的低质量 AI 生成内容(即“AI 垃圾内容”)正在降低在线技术社区的价值。
Martin Fowler:技术债、认知债与意图债
Martin Fowler 反思 AI 对代码质量的影响,指出人类的“懒惰”反而促成清晰抽象,而 LLM 则可能用不必要的复杂性把系统拖胖。
@rohit4verse:AI 并没有让代码变得廉价,而是让劣质代码变得致命。Matt Pocock:“软件基础比以往任何时候都更重要”AI 在……
探讨了 AI 如何放大代码质量的影响,强调软件基础比以往任何时候都更重要,并推荐了构建可靠 AI agent 的五种设计模式。
AI垃圾内容正在成为一场溯源危机,而不仅仅是内容质量的问题
本文认为,AI生成内容(垃圾内容)的大量涌现正引发一场溯源危机,信息的来源和可靠性受到破坏,文中以自动外联误导向和虚假互动等例子加以说明。
@willmcgugan: 我对人工智能时代的担忧,或者至少是当前这个阶段,是一代人正在被教导‘差不多就行’就…
对AI时代接受‘差不多’质量标准的批评,以Claude Code中持久存在的文本换行错误为例,说明标准被降低。