灵光 · 灵光 · · 国科智飞 Gavin
模式语言:条条都对,为什么合起来不活?
卢六造了一百座好院子,却说不出为什么;徒弟写满二百五十三条规矩,造出的房子条条都对,却没人想坐下。一个关于「模式语言」的寓言。
檐溪的房子有个说法。外乡人进村歇脚,本想喝碗茶就走,结果坐到日头偏西。
不是房子多好。院子小,墙是土墙,瓦是灰瓦,下雨天照样滴水。可人一坐进去,就不想动。有人说是山口风好,有人说是水甜。谁也说不清。
村里造房子的是卢六。他不识字,一辈子造了一百多座院子。有人问他怎么造的,他答不上来,只会指着一堵墙说,这堵矮半尺,冬天坐这儿晒得到太阳。再问为什么是半尺,他说,高了晒不着,矮了挡不住风。再往下问,他就笑,去搬他的砖。
来了个后生,叫阿溯,县里书办的儿子,读过书,写一手好字。他心里急——卢六七十了,手抖,眼也花。这一村的房子,等老头走了就没了。
阿溯跟了卢六三年。卢六干活,他在旁边记。老头每说一句「这样不成」,他就追着问为什么,问出来就写一条。
三年,他写成一本册子,叫《宅记》,二百五十三条。
条条都是实的。「窗台要低到坐着能看见院里的树。」「门口留一块能站两个人说话的地方,不多不少,走过的邻居会停下来。」「朝南那间不要留成最大的,最大的留给中午没人用的堂屋,人心里才松。」「每座院子必留一处不齐——墙角、门槛、瓦沿,随便哪儿,留一处手做的歪。」
最后这条是阿溯最得意的。他觉得自己抓住了老头的魂:太齐整的房子是死的。
书成那年,卢六听人念了一遍,说了句「写得不赖」,再没说别的。
书传出去了。先是邻村,后来三十里外。这书是真管用——原先不会造房子的人,照着一条条摆,造出来的院子居然真的好住,不漏风、不憋气、坐下来晒得到太阳。十年间,山这边一大片新房,都是照《宅记》造的。阿溯成了名。
十年后,阿溯自己走了一趟这一片。
他先到东边柳庄。庄上二十座新院子,条条都对。窗台是低的,门口那块地是留的,堂屋是空的,墙角也都有一处歪——歪得整整齐齐,二十家歪在同一个地方,因为书上写的是「墙角」。
他站在柳庄的巷子里,站了很久。房子没有一处错,他挑不出毛病。可他也不想坐下。
他又走了七八个村,都一样。每一条都对。合起来不活。
他回檐溪去问卢六。老头九十了,躺着起不来。那天正好被人抬到院里晒太阳,院里有人在砌一堵新墙,是他孙子。
卢六眯着眼看了一会儿,让人扶他过去,从墙上抠下一块砖,扔了。墙上缺了一角。
阿溯说,六爷,这一条书上没有。
卢六说,书上是没有。
阿溯说,那我添上,第二百五十四条。
老头摇头。他说,你添一条,他们照一条。照的人不看墙。
阿溯问,那这块砖,你凭什么抠?
老头说,我看了它一会儿,它还不舒服。
阿溯又问,怎么才算舒服。
卢六没答。他闭上眼晒太阳。日头把那堵缺角的墙照出一道斜影,斜影正落在门口那块能站两个人的地上。阿溯忽然发现,自己在这院子里已经站了半个时辰,腿都酸了,可他不想走。
而他刚从二十座条条都对的院子里出来,一处也没坐下过。
那天夜里,阿溯翻开《宅记》,在最后添了第二百五十四条。这条底下没有做法,没有尺寸,没有例子,只有一句话:
「站到你造的东西前面,看它舒不舒服。这一条,照着做不管用。」
后来抄书的人,抄到第二百五十三条就收笔。他们说,最后那条是空的,抄了也没用。
概念:模式语言
模式语言(A Pattern Language) 由建筑师兼数学家克里斯托弗·亚历山大(Christopher Alexander,1936-2022)与 Sara Ishikawa、Murray Silverstein 在 1977 年提出。他们把「什么样的空间宜居」拆成 253 个模式,每一条都是「情境 → 互相冲突的力 → 解法」:第 61 条说小广场不要超过 45 英尺宽——再宽,人脸就认不出,广场就死了;第 159 条说每个房间要两面采光。这是人类第一次认真尝试把「手感」写成语法。
它成功得惊人:没怎么改变建筑界,却重写了软件业——1994 年 GoF 的《Design Patterns》成为一代程序员的圣经,今天每一份 SOP、设计系统、提示词规范,都是它的后代。
真正研究生水平的是后半段:亚历山大本人不满意。他在 1979 年《The Timeless Way of Building》里承认,好房子里有一种活着的品质没有名字——the quality without a name(无名之质),模式语言只是逼近它的工具,不是它本身。活不来自照清单装配,而来自「展开」(unfolding):每加一步,回头看整体一眼,让下一步由现场此刻的样子决定。而那个动作一旦被写成第二百五十四条,就会被照着做,从而失效。
故事里的映射
| 故事里的元素 | 现实中的含义 |
|---|---|
| 檐溪的房子,人进去就不想走 | 「无名之质」——审美、手感、活的作品 |
| 卢六说不清但手上准 | 拥有默会技艺的老师傅 |
| 阿溯记的二百五十三条 | 模式语言:SOP、设计系统、提示词规范 |
| 三十里外照书造出的好房子 | 模式语言的真实成功:非专业者也能造出不坏的东西 |
| 二十座院子条条都对,合起来不活 | 满足全部约束 ≠ 活;规则系统有结构性残差 |
| 「每院必留一处不齐」,结果二十家歪在同一个地方 | 连「留白」也被写成规则,规则吞掉了自己的例外 |
| 老头抠掉那块砖 | 「展开」:每一步回头看整体,由现场决定下一步 |
| 「你添一条,他们照一条。照的人不看墙」 | 规则的挤出效应:把判断写成条目,条目会替换掉判断 |
现实中的模式语言
- 软件业的设计模式运动:从《设计模式》到今天的架构规范,让非专家也能用上专家经验
- 连锁餐饮的标准化手册:保证每家店不掉底,保证不了每家店「好吃得让人记住」
- 设计系统与品牌规范:把审美固化成可复用的组件,同时要留住那个负责「看一眼」的人
给 AI 时代的企业
把老师傅的经验写进 SOP、把审美写进提示词与评估集,能让新人不出错、把下限抬起来——这一半的价值无可否认。但要诚实地说清边界:规则能交付「避免坏」,交付不了「活」。能说清自己方法的边界,比宣称方法万能更值钱。
灵光 · 用一个故事讲清楚一个概念。