百年之椅 · 后记
版本说明
版本说明是书末的那一页,一本书在那里坦白自己是怎么做出来的。在印刷术的早年,它记的是印刷者的名字、城市和年份。往往,那是这件物品背后的人手唯一还看得见的地方。这本书做出来的过程够古怪,古怪到这份坦白需要一整章。接下来是那套机器、那笔钱、那种腔调,以及一个我没有解决的问题。这是全书里我有意写得最杂芜的一章。它也是唯一一章,在纸质版封版之后还会继续变动。它的正本存在网站上,在那里,一份版本说明可以保持常新。
技术栈
书就是这个代码仓库,代码仓库就是这本书。每一章都是我笔记本电脑上一个 git 仓库里的纯文本文件,远端放在 GitHub 上。网站由 Vercel 从那个仓库部署。纸质版则由机器写的 Python 代码,从同一批正本章节编译而成。一份源,三个出口:网站、邮件通讯、纸书。它们之间没有任何东西是靠手工粘贴的,因为凡是手工粘贴过去的东西都会分叉,而分叉会烂掉。(排版工具链、epub 路径和印厂:尚未定,定下来就记在这里。目前的工作假设是普通版按需印刷。特装版手工装配,封套用 1.5 毫米胶合板激光切割并雕刻。)
这里有一条我并未计划、但愿意认领的谱系。高德纳造 TeX,靠的是一个洞见:文本就是代码;此后书籍便一直是被编译出来的。这个项目把同一个洞见对准了家具:椅子就是代码,是一份模式,任何有本事的人都能据以把实物再生出来。技术笔记把这两套哲学并排列了出来。TeX:代码即文本。龙骨:代码即椅子。两种情形里,成品都应当足够被人理解,理解到能从它反推出代码;而两种情形里,如果最终只有一样能留下来,留下来的都会是成品。迄今为止的每一个世纪,纸张与硬木都胜过代码仓库。
谁写了哪部分
文字的初稿由 Anthropic 的 Claude 起草,先后用过 Fable 5.0、Opus 5 和 Opus 4.8 几个模型,均以高投入模式运行。编辑和批评性的审读大多来自 ChatGPT 5.6,偶尔也去问问 Grok 和 Gemini,它们快,而且基本免费。截至本次付印,源文本里我没有一个词是自己直接改的。凡是我想要的改动,都以改动这把椅子的同一种方式做出:我在对话里把它说出来,机器去修改正本文件。
这套分工,与《半人马》一章在锯台前记录下来的那一套是同一套。论点、结构、记忆、判断和品位是我的;句子,就初稿而言,是机器的。我喜欢写作,也认为自己写得仍然比那些模型好。我同时还慢上大约一百倍。决定这套流程的是这个比例,而不是任何关于质量的判断。这里的经济学就是椅子的经济学:思考变便宜了,品位没有。
“一个词也没改”这个说法需要一条脚注。在我的嘴和机器的初稿之间,还隔着一层。它是一个文件。这个项目备有一本草稿本,是放在名为 coordination 的文件夹里的一份普通文档,我在里面胡乱写:半截的念头、清单、记错的名字、正在试的玩笑、我若真要动笔会写出来的段落。那套化学实验组件、关于特雷西·基德尔的那点担心、坠入爱河的那段回忆、Köl 的那份任务书,全都是先作为涂写进的这本书。所以这套分工比口述要细。我把原矿写进草稿本;机器去开采它,拿它对照记录核查,把我没连起来的点连起来,产出文字;我在对话里对这些文字作出反应,于是又产出更多的涂写。当我说源文本里我没有改过一个词,这话是成立的。但书里有大量属于我的词,它们进来的方式不是我去编辑输出,而是机器去开采输入。草稿本是这个项目所拥有的最古怪的一份文档。那是我唯一还像一个独自写作的人那样写字的地方,而它之所以存在,正是为了让我永远不必那样写。
腔调的问题
机器产出的文字是好的。但对一个见过不少这类文字的读者来说,它同时也一望而知是机器写的。这些文字可以生动、有结构、准确无误,却仍然会在读者察觉它出身的那一刻被打上折扣。我在这个问题上花了实打实的力气,而最公道的展示办法,是把一份样本摆到桌面上。下面这一段,是机器最初为一则技术笔记所写的初稿,讲的是这把椅子的拓扑为什么是固定的:
关于这里的一个词,我想谨慎一点,因为它是整个论证的枢纽。当我说拓扑是固定的,我并不是说它是一条规则。我是说它是构成性的。这里有一个区别,而这很要紧。规则是那种你可以打破、而那件东西依然还在的东西,只不过成了更糟的版本:闯了红灯,你毕竟还是在开车,只是开得不好。构成性不是这样。两个三角形的拓扑是构成性的,其方式正如四条边之于正方形是构成性的。你若改动它,你并不是破了一条规则、做出了一把次一等的 K2。你是做出了另一把椅子,它也许是一把出色的椅子,祝它好运。我没有权力禁止你,也没有这个愿望。我只是老实告诉你,它不会是这一把。这与强制恰恰相反。这是对身份的描述,而描述不需要警察。这也正是为什么我信得过拓扑能长久、却信不过一条规则:没有人需要去守卫一个关于“某物是什么”的事实。
论证本身没问题。问题在腔调,而我那天早上的笔记记下了诊断。开场那句清嗓,“我想谨慎一点”,仿佛读者曾怀疑他不谨慎。“这里有一个区别,而这很要紧”——可正在花掉的这些字本身就是它要紧的证据。“老实”二字,出自一个诚实从未受到质疑的叙述者。而在这些局部的小毛病底下,还有一种节奏:短促的陈述句一句接一句落下,像在逐条出示证明。任何单独一段都挺得过去。三百页这样的东西就成了破绽。
同一段话,换成我自己会怎么写,是我在笔记里快速起草的,比原稿短一成上下,在我听来也远没有那么冗腻:
我写一种类型学是固定的,意思不是说它是规则。我是说它是构成性的,是这个类别的本质。规则可以被打破,而受规则约束的那个对象仍然属于这一类事物。餐椅有四条腿,这条规则可以被打破,那东西仍然是一把餐椅。构成性则不同,就像正方形有四条边、四个角都是 90 度。你可以违反这个特征,你手里仍然有一个几何图形,只是它不是正方形。两个三角形的拓扑就是这个意义上的构成性。没有谁被迫遵循这个拓扑,不体现两个三角形的好椅子也多的是。但那样一来,这把椅子就是另一类东西了。它只是不是 K2 椅,而 K2 椅正是我们希望刻画清楚、以确保它好用的那个东西。这不是强制,而是对身份的描述。拓扑不需要强制。设计者尽可以就其本身的道理,接受它或者不接受它。
接下来发生的事才值得记录。那份诊断被编成了法条。这个项目的风格指南,也就是每一次写作会话开场都要先读一遍的常设指令,如今有了一节,标题是“具体禁用语”,其中的三条规则,全都直接从那一段的解剖里提取出来:“老实”绝不用作开场词,因为作者当然是老实的;“谨慎”适用同一条;以及,句子绝不可以用“而这很要紧”收尾。这份指南还彻底禁用了长破折号,那是一种我受不了、而机器戒不掉的标点习惯。你刚刚读完的这部稿子,包括本章在内,都是在这些规则之下写成的,写它的正是产出上面那份样本的同一台机器。这份样本在全书里除此处之外别无留存,保留的方式与《第一性原理:两个三角形》一章保留那些落败的设计状态一样:作为幸存者被挑出来的那个种群。
风格检查器
禁令抓得住词句,抓不住节奏。而正是节奏泄了底。9月里,我回头读到一句话,它通过了指南里的每一条规则,听上去却仍然不对。
所以我对单体椅真正的异议并不是环保方面的,而我想把账目摆在明处来陈述它,而不是躲在一种数字并不支持的模糊可持续性背后。
这里面没有任何一处是被禁止的。我也说不出毛病的名字。我能说到的最接近的一点是:它在打乒乓——句子的后半截不断回头去评论前半截,于是主语不再是单体椅,而变成了我与我刚刚就单体椅所说的那番话之间的关系。
给一个毛病命名,就完成了消灭它的大半工作。于是我们给它们起了名字,并造了一件仪器。现在有一个脚本走遍每一章,数九项,有的按句计,有的按段计。自评,是在同一个句子里,陈述之后紧跟着作者对这个陈述的评价。金句收尾,是一段以一句格言收场。铺场,是在内容到来之前先清嗓。谦辞,是一个段落里出现了不止一次作者对自己的谦逊声明。记账,是本该写给自己看的编辑笔记被当成正文印了出来,这事发生过两回,两回都上了网站。同义反复,是用一个术语自己来定义自己。路标,是一句谈论这本书、而不谈论这本书的题材的句子。碎句,专抓一种特定的修辞格,即“不是 X,不是 Y。是 Z。”这一构造。而摆荡,就是那个乒乓,按挂在一个句子主句上的转向次数来计。在写完的这本书里,长句的中位数是一处。两千五百句里,有六十句达到四处或更多。上面那一句有四处,全句三十七个词。
摆荡计数器写得最晚,那时候全书大部分章节已经为另外八项过过一遍。拿它冷跑全部二十七章,得出了一个我们两边都没有设计过的结果。凡是已经编过的章节,得分都落在 0.0 到 3.3 之间。凡是还没编过的,得分都落在 4.3 到 9.4 之间。断点正落在相邻的两章之间,空档里一章也没有,而在此前的历次编辑中,没有谁盯过这一个特定的毛病。这里有一条实实在在的保留。做编辑的和后来写计数器的是同一台机器,所以这算不上一次独立的检验。但它所提示的东西仍然值得留下。这九项并不是九个习惯。它们是同一个习惯的九种症状,扯动其中任何一个,都会带出另外几个。
顺便给错误账册记上两笔。机器在帮着定义那项检查之后大约一小时,就把那个乒乓毛病写进了一个新段落。还有一次,被告知某个句子因摆荡被标了出来,它把这个句子切成了两句,于是按句计的数目减半,而文字本身分毫未变。这就是为什么现在有好几项检查是按段落跑的。一件写作者能钻空子的仪器,是一支贴着窗户举着的温度计。
人化
这就带出了账册里最古怪的一笔。这些文字是好的,可如果它们能被认出是机器写的,有些读者就会不读便打折扣,而书是给读者看的。于是我反着走了一步。我多年的编辑蒂姆·格雷(Tim Gray)又快又好,8月里我给他写了一封信,提了个不寻常的请求。
我全部用 Claude 写。当然是反复迭代出来的,但源文本里我没有一个词是自己直接改的。我觉得文字还算不错,不过一看就是 Claude。这本书本身有一部分就是一场极端 AI 协作的实验,所以这样也行。但我确实希望书本身读起来像是人写的……你愿不愿意编一遍这本书(30,000 字上下?),就算不用红铅笔,至少也在断网的状态下编。它必须百分之百是人做的。
蒂姆的回信,全文如下:
嘿,凯来:
当然,我很乐意帮这个忙。跟你一贯的东西一样,太有意思了。另外,那把椅子看着真棒。我已经在琢磨,以我这种很业余的木工手艺(大概就是比林肯积木高出一级的那种水平),能不能做出一把来。
你最近人在费城还是在西海岸?
祝好,T
于是这套流程多了一道我在笔记里称之为人化的工序:我雇了我多年的编辑,让他在一间没有电脑、与网络物理隔绝的屋子里,用一本黄色拍纸簿和一支红铅笔,把整本书编一遍。以上句句属实,只除了最后那十六个英文词。另外请注意他的回信里还有什么。没人问他,一个自认木工手艺只比林肯积木高一级的人,主动想知道自己能不能把这把椅子做出来。这就使蒂姆不仅是这些文字的理想 beta 试用者,也是这个模式的理想 beta 试做者。我的计划——他还没有答应,而此刻正以白纸黑字的方式突然告知他——是两份活儿都归他:稿子,以及一份模式加一堆边角料。
我尚未解决的那个问题
上面这套流程里埋着一条教条,而我还没有决定要不要留着它。在椅子这个项目里,我一次也没有手工改过机器的几何模型。每一处修正都走对话,包括那些我确信无疑而且确实正确的时候。模型始终是正本,于是图纸、下料单和模式都能从它重新生成,不产生分叉。技术笔记把这一条立成了人工智能时代 CAD 的一条明确纪律:人手一旦直接改动生成的几何,成品与它的源就此分道,此后每一次重新生成都会悄悄把那处修正撤销,或者更糟,撤销一半。
这部稿子也一直在同一条纪律之下运行。我没有碰过那些文件。而如今这本书就要交到一个手握红铅笔、全部任务就是去碰它的人手里,我则面临这样一个问题:我自己的手要不要跟在他后面。主张不插手的理由,是代码仓库的理由。这本书声称自己可以从记录中重现,而今天它确实可以。我直接动手改的那一天,正本源就变成了“那些文件,外加凯来干过的那些事”。每一份遗留代码库、每一栋没有图档的建筑,都处在这个状态。主张下场的理由,则是这把椅子本身。建成的那把椅子并不等于模型;凡是木头有异议的地方,它都在锯台前偏离了模型,而没有谁——最不济也包括我自己——会认为这把椅子因为经了人手就更差。也许文字也是同一类实体。蒂姆这一遍是获准的分叉:在代码仓库的下游,在纸上,并在此处公开声明。我的铅笔要不要跟上他的,在本版付印时仍未定。无论结果如何,都会记在这份版本说明的网络版里。
实体
有一句话该放在这份坦白的最末尾,不加任何保留。读者有理由抱怨机器倾泻到世上文字里的那些粗制滥造:生成时不用心,发出去也没人读过。这本书的文字不论欠机器多少,书里的那些实物一分不欠。这里没有实体上的粗制滥造:凡我声称自己造过的设计,我都亲手把它造了出来,用我自己的两只手,没有任何形式的助手,而 Claude 在台锯前,说白了,毫无用处。
它们出自一百二十平方英尺的地方:费城一间 loft 里的次卧,那栋楼从前是阿克梅茶叶仓库。我最好的工坊在 MakerStock 位于盐湖城的场地,而我已经六个月没有站进去过了。

而如果笔记本里的那个方案熬得过印厂的报价,这本书本身也会带上几颗属于它自己的实体。为它准备的那一页,日期落在八月的最后几天:封面用一毫米半厚的胶合板,PU 装订压在胶合板之上或之下,备选是原色织物,还有一个我没有回答的问题——书末要不要附一套椅子组件包,一个这东西的模型。

技术栈、模型清单和工作流出自我自己的项目笔记(2026年8月20日至23日)。风格指南的那些引文,与指南本身核对无误。那段样本文字和我的改写,逐字引自我8月22日的笔记。蒂姆·格雷的回信经引用,其许可尚待落实;“最后十六个词”那个玩笑按其原样引用。草稿本那条脚注出自作者本人(8月23日);其中点名的几个例子,可以查证最初都是项目记录里的涂写。“源文本里我没有直接改过一个词”这一说法,每次发布时都重新核验一遍,而这一页就是这个事实一旦发生变化时的记录之处。
《百年之椅》中的一章,公开地起草并打磨。同样的文字也在书中;互动工具与附有完整来源的技术笔记在此。主页 · 这本书 · 技术笔记 · hundredyearchair.com