生命韧性通常被写成一道二选一的题:它要么是抵抗改变、维持原状的能力,要么是被改变之后仍保持连续性并重新生成秩序的能力。两个选项共同踩着一块从未被说出的地——账本只收在场的东西,因而”它现在是什么样”被默认为可以说明”它是怎么成为这样的”。发育生物学每天在教的一件事推翻了这一条:脊索决定了神经管的位置然后消失,中肾建立了生殖管道然后退化,成体里一件不剩,而没有它们成体长不出来。本文把这一类东西称为过料——为使一个新形态成立而必须被造出、且在新形态成立后必须消失的东西。据此本文提出:韧性不是抵抗力,不是恢复速度,也不是被某套结构承认为扛得住的资格,而是造得出过料、也拆得掉过料、并且拆完还留得下一笔去向账的能力。辨别装置是过料账的三栏与四种去向(已拆净、残留有主、残留无主、从未入账),要打的是最后一种:它在终态读数上与最漂亮的完成完全相同,而”这个样子是怎么造出来的”事后无从回答。零情态词判据是:这个样子是靠什么造出来的?那些东西现在在哪儿?谁负责把它们拆掉、拆完谁验收?本文用八个公开仓库的二百九十二次版本推进做了一次预注册检验,四条假设中两条被自己的数据判伪,而判伪的方式比结果更要紧:在那份记录上读不到过料,不是因为过料少,是因为那份记录本身只收终态。
关键词:过料;过料账;去向;验收人;同一性判定;生命韧性
先摆三件互不相干的事,都关于已经不在的东西。
脊索。 每一个脊椎动物的胚胎都长过一条脊索。它是一条实心的细胞索,沿着背侧从头贯到尾。它做两件事:给正在成形的神经管提供一条中线,并向两侧发出信号,告诉体节该长成什么。它做完这两件事之后就消失了——在人身上,它退化到只剩椎间盘中央那一点残迹。成年人身上找不到脊索,而没有脊索,没有人能长出脊柱。
驱动梯度。 一杯热水在室温里凉下来。推动这个过程的是水与空气之间的温差。过程结束时,温差为零。终态里没有任何东西记录”这里曾经有过一个温差”——终态的描述只需要一个温度。而正是那个已经不在的温差,把整个过程推完了。
施工便道。 一个新建成的城市片区,交付时道路成网、管线入地、绿化成形。而在两年施工期里,这块地上曾经有临时便道、施工围挡、降水井、预制场、工人生活区。它们不出现在任何一版规划图上——规划图画的是终期形态。它们在交付前被拆掉、回填、复绿。竣工的片区上一件不剩,而没有它们片区盖不起来。
三件事的共同结构不是”东西没了”。共同结构是:有一批东西,它们的存在方式就是”先造出来,再拆掉”;它们不是终态的一部分,而终态没有它们就成立不了;并且,终态的账本上不会有它们的任何条目。
这三件事与生命韧性有什么关系,要看这道题现在是怎么被问的。
摆在桌面上的两个答案是:韧性是抵抗改变、维持原状的能力;或者,韧性是被改变以后仍能保持连续性并重新生成秩序的能力。前者把韧性写成偏离幅度或恢复速率,后者把它写成变而不断的能力。争论沿着这条缝走了半个世纪:哪一种更根本,哪一种更可测,哪一种适合哪类系统。
本文不在这两条之间选,也不说两条都对。说两条都对是最省事的一种回避,它把一个可判定的问题换成了一个态度问题。
本文要指出的是:这两条读法读的都是终态。“维持原状”读的是扰动之后的状态与原状的差;“重新生成秩序”读的是扰动之后长出来的那套秩序。两者都不问一句:从那里到这里,中间造过什么、那些东西现在在哪儿。
而这三个例子说的是:那些东西是必需的,是要被拆掉的,而且拆得越干净,终态看起来越像是理所当然的。 一个健康的成年人不会觉得自己的脊柱来之不易;一杯凉水看不出它凉过;一个交付的小区看起来就该是那个样子。
本文的判断是:这件事就是韧性的辨别维度。一个系统能不能重生秩序,取决于它造不造得出那批只在过程中存在的东西,拆不拆得掉,以及拆完有没有一笔关于去向的账。 这三件在现行的任何韧性读数里都不出现。
路线如下。第二节摆三门离这道题很远、彼此也很远的学问,看它们各自用什么读”还稳不稳”。第三节找出它们共同踩着的那块地。第四节用发育生物学自己每天在教的一件事把它掀掉。第五、六节给出过料这个构念与过料账这个装置,第七节标出要打的那一类。第八节给一句可以拿去问记录的话,第九节给清点手册。第十、十一节报告一次预注册的真跑,其中两条假设被自己的数据判伪。此后是与十四种说法的分界、五套做法都停在哪一步、三处反过来的约束、不适用的边界、证伪条件、伦理边界、本文自己的位置,以及一条写死日期的赌注。
三门是发育生物学、热力学与传热学、城乡规划学。它们的账本互不相通:发育生物学算形态与命运,失败是畸形与命运误判;热力学算状态量与可用能,失败是效率不达与热失控;城乡规划学算用地容量与实施率,失败是规划落空。三种失败没有一种能用另外两种的话说出来。
主张写成一句判断:一个个体是什么、发育得好不好,由它当下的形态、分子标记与细胞组成判定;把这些读出来,就知道它成不成立。
这不是姿态,是一整套制度。发育分期表以形态特征划分,畸形学以终末形态归类,产前检查以可见结构筛查,模式生物的表型描述以成体或某个固定时期的形态为准。判据全部落在”现在有什么”上。
三条支撑,分别落在结果、路径、条件三处:
其一(结果层):读数是可复核的。 两个实验室拿同一个品系、同一个时期的胚胎,应当描述出同一套形态;不一致时争的是分期怎么定,不是要不要看形态。
其二(路径层):形态的发生有可追的因果链。 位置信息决定细胞的命运,命运决定分化,分化决定形态;每一环都有独立的实验手段,因而可以逐环诊断。
其三(条件层):这一整套只在”造成当下形态的那些原因,在当下仍留有痕迹”这个条件下成立。 条件一撤,形态读得再准,也说不出它是怎么来的。
它自己知道、却不往这个方向用的一件事:临时器官。这一件是第四节的主角。
主张写成一句:一个系统能往哪儿走、走得动走不动,由它的状态量决定;状态量是路径无关的,因此不必知道它是怎么来的。
这同样是硬账本,而且它是这门学问最引以为傲的一点。内能、焓、熵都是状态函数——从哪条路走到这个状态,与这个状态的性质无关。这一条使热力学摆脱了对过程细节的依赖,也使它能给出与机制无关的普遍限制。热机效率的上限、化学反应的方向、相变的条件,都是这么得来的。
三条支撑:
其一(结果层):状态由几个量完全确定,给定温度、压力、组成,其余状态量全部可算。
其二(路径层):过程的方向由状态量之差判定——自由能降低的方向自发,反之不自发。
其三(条件层):这一整套的完整形式只在准静态、可逆的理想过程上成立。 真实的不可逆过程在状态图上画不出一条实线,因为中间态不是平衡态,没有坐标。
它自己知道、却不往这个方向用的一件事:推动一切实际过程的是梯度——温差、压差、化学势差——而终态里梯度为零。状态函数把路径的信息全部丢掉,这被当作优点;而”这个终态是靠多大的梯度、多长时间推过来的”这件事,在状态量上一点不剩。
主张写成一句:一个地方能不能持续,由它的用地结构、容量配置与建设次序决定;把图纸和指标定好,落地是执行问题。
这一家的判据也是成文的。控制性详细规划规定每一地块的用途、容积率、建筑密度、绿地率;总体规划规定结构与容量;实施评估以指标达成率与用地落实率为准。判据落在终期形态与指标上。
三条支撑:
其一(结果层):判定的产物是一份法定图则,它对后续的一切许可具有约束力。
其二(路径层):建设有时序,近期建设规划规定哪一片先做、基础设施怎么接。
其三(条件层):这一整套只在”图上画的与地上建的可以对得起来”这个条件下成立。
它自己知道、却不往这个方向用的一件事:临时用地。它是一个成文的许可类别,有期限、有恢复义务、有验收环节——这门学问是三家里唯一把”过程中造出的东西怎么拆、谁来验”写进制度的。而这套制度处理的是土地管理问题,不是”什么是韧性”。这一件在第八节会反过来削掉本文的一句话。
发育生物学 × 热力学:发育生物学要求从当下形态回溯它的来路(分期、谱系、命运图全部是关于来路的陈述);热力学明确主张状态与来路无关,这正是状态函数的定义。若发育生物学对,则来路写在当下里;若热力学对,则来路在当下里一点不剩。两条不能并存。
发育生物学 × 城乡规划学:发育生物学把形态归给内部的发生过程(同一个基因组按程序长出来);城乡规划学把形态归给一次外部的指派(同一块地,图则一改,它能盖什么就全变了,而地一动没动)。若前者对,则形态是长出来的;若后者对,则形态是被规定的,而规定可以不触碰它。
热力学 × 城乡规划学:热力学把过程的可行性交给普遍限制——不管谁来做,方向由状态量定;城乡规划学把它交给一次可争议的决定——同一块地的同一个用途,这一版规划允许,下一版可以不允许。若热力学对,则许可是多余的;若规划学对,则不存在不依赖许可的可行性。
三对全冲突。每一对都是”这条成立则那条不成立”,不是三个角度的互补。
三家吵得这么凶,吵的是同一件事:“它还成不成立”这个判定,该由哪一样东西给出。 发育生物学说由当下的形态与组成给出,热力学说由状态量给出,城乡规划学说由用地结构与指标给出。
把这个句式写满,那块地就露出来了:
三家共同假定:能进入账本的,是此刻在场的东西;因而”它现在是什么样”足以说明”它成不成立”。
发育分期表记录的是这个时期有什么结构,状态量记录的是此刻的温度压力组成,控规图则记录的是终期的用地与指标。三家争的是记在场的哪一面,从不争”不在场的东西要不要有条目”。
把这句话念给三家听,三家都会觉得这还用说吗。不在场的东西怎么记?记什么?这不是一个主张,是一块地——主张会引起争论,地不会,因为所有人都站在上面。
这块地一旦成立,本文开头那道二选一就是它的直接产物。“抵抗改变、维持原状”要拿此刻在场的东西与原来在场的东西比;“被改变以后重新生成秩序”要看此刻在场的东西构不构成一套秩序。两种读法的分歧只在比什么,它们的相同点在于比的两端都是在场清单。
三家看不见这一条不是因为疏忽。发育生物学的问题是”这个胚胎正常不正常”,这个问题结构要求一张此刻可查的形态清单,否则产前诊断无从做起。热力学的问题是”这个过程能不能进行、效率上限是多少”,这个问题结构要求答案与路径无关,否则它给不出普遍限制——路径无关正是它的力量所在,而力量与盲区在这里是同一件事。城乡规划学的问题是”这块地准不准建、建成什么样”,这个问题结构要求一份关于终期的、可作为许可依据的图则。一门学问看不见什么,通常不是它的缺陷,是它的问题结构的影子。
掀掉一块地的材料不能从外面搬。从外面搬一个理由,得到的只是第四种立场,三家各自退回阵地就行了。要让三家退不回去,材料必须是三家之一自己已经掌握、已经写进教科书正文、只是从不往这个方向用的东西。
这件材料是临时器官。
情形是这样的。脊椎动物胚胎在发育过程中会造出一批结构,它们各自完成一件不可替代的工作,然后被拆掉:
脊索。它给神经管定中线,向体节发信号规定背腹与前后。神经管一旦闭合、体节一旦定型,脊索的工作就完成了。它随后被椎体包裹、挤压、退化,在人身上只剩椎间盘中央那一点髓核。
前肾与中肾。哺乳动物的肾脏要经过三代:前肾出现即退化,中肾运转一段时间并且建立起后来成为生殖管道的那套管子,最后后肾接手成为终身的肾。中肾自己不留下来,而没有中肾,输精管与附睾长不出来。
咽弓。它们在颈部短暂出现,各自的组织被分派到下颌、听小骨、甲状旁腺、胸腺、颈动脉的一部分,弓本身则消失。
幼体器官。蝌蚪的尾、鳃、角质齿,在变态中被整体清除。
这些结构在发育生物学里有一个统一的说法:它们是临时器官,它们的退化是发育程序的正常组成部分,而不是损耗或事故;退化本身由专门的机制执行(程序性细胞死亡是其中最著名的一种),这套机制在半个多世纪前就被作为正常个体发育的组成部分描述过。该退不退是畸形——遗留的中肾管、未闭的咽裂、残存的脊索组织,都是有名有姓的病。
这件事在发育生物学自己回答的问题是:一个成体的结构是怎么一步步造出来的。 它是发育解剖学与畸形学的基本盘。没有人拿它去谈同一性,更没有人拿它去谈韧性。
但把它读一遍,它说的是这样一件事:
一个成体的形态,由一批已经不在了的结构决定;而这批结构在成体的任何清单上都没有条目。
判别的办法很干脆:去掉临时器官这一整套内容,发育生物学交不交得出它的标准产品?交不出——发育分期表、畸形学的病因归类、器官起源的谱系,全部立刻塌掉。一处例外可以被说成特例,一件教科书正文级的内容不能。
而且它不是”记录不全”。脊索不是没被记,它是不在成体身上——它的载体已经不存在了。成体的形态清单再详尽,也列不出它,因为清单只能列在场的东西。这不是账本的疏漏,是账本的定义。
三件配套的证据,方向各不相同:
其一,热力学的驱动梯度给出同一形状的另一例:推动过程的是梯度,而终态梯度为零。状态函数把路径信息全部丢掉,这在热力学里被当作优点而不是缺陷。这里的”拆除”甚至不需要任何动作——过程走完,梯度自己就没了。 这一条后面会削掉本文的一句话。
其二,城乡规划学的临时用地给出反例:临时便道、预制场、工人生活区,都是过程中造出来的,而这门学问为它们专门设了一个许可类别,规定了期限、恢复义务与验收环节。也就是说,同样的东西,可以被制度化地记账。能不能记,不是本体问题,是制度问题。
其三,与前两条方向都不同的一条:这批东西的量,与终态的规模没有固定关系。 脊索很小,中肾很大,二者都必需。造得多不等于费力,造得少不等于高效——这一条第十四节会削掉本文的价值排序。
三条合起来给出的不是”账本记漏了什么”,而是一件更硬的东西:在一个新形态成立的路上,必然有一批只在过程中存在的东西;它们的存在方式就是被造出来再被拆掉;它们在终态账本上一件不剩,因而”这个终态是怎么造出来的”这个问题,在终态账本上无从回答。
给这批东西一个名字。
定义:为使一个新形态成立而必须被造出、且在新形态成立之后必须消失的那些东西,本文称为过料。
四条限定,缺一条就不是过料:
限定一:它必须是被造出来的,不是本来就有的。 一块地本来就有的树、一个人本来就有的朋友,不是过料;施工期专门搭的便桥、这段时间里专门找的临时住处,是。判据:如果没有这一次改变,它会不会存在?不会,才算。
限定二:它必须是必需的,不是浪费。 浪费是可以省掉而结果不变的东西;过料省掉了,终态就不成立。判据:把它拿掉重走一遍,终态还成不成立?这一条在事后往往难判,因此第九节给了一条退而求其次的操作判据。
限定三:它必须在终态里不在场。 留在终态里、继续起作用的东西不是过料,是终态的一部分。施工便道后来变成了正式道路,那它从过料转成了终态的一部分——这种转化是常见的,而且常常是划算的(第十四节其二)。判据只有一句:它在不在最后那份清单上?
限定四:它的量不表示程度。 过料多不等于费力,过料少不等于高效(见第四节其三)。因此本文不把过料的量当作能力指标,只把它的去向当作读数。
与过料配套的第二样东西是去向。
一件过料在终态成立之后有四种可能的下场,它们在终态清单上完全不可分:
已拆净——它被拆掉了,且拆的动作有人做、有人验、有记录。 残留有主——它没拆,还在那儿,但有人知道它在、知道它现在归谁管。 残留无主——它没拆,也没人认领;下一次有人碰到它,会以为它本来就在那儿。 从未入账——它被造出来,也被拆掉了(或者根本没人知道它在过),而这整件事没有留下任何条目。
第四种是本文要打的那一类。
装置是一份账,三栏,逐行填。
栏
填什么
终态项
最后这份清单上的这一项是什么
造它用过的过料
为了让这一项成立,过程中专门造过什么、这些东西现在不在终态清单上
去向
已拆净/残留有主/残留无主/从未入账;并填拆除动作、执行人、验收人、验收记录在哪儿
四种去向的实例,逐一给出:
已拆净:脊索。拆除由发育程序执行,“验收”由后续结构的正常成形体现——该退不退会立刻表现为畸形,因而这一类拆除有一个天然的验收环节。城乡规划的临时用地也在这一类,只是它的验收由行政程序而非自然程序执行。
残留有主:施工便道被保留下来改作园区内部道路,产权与养护责任在竣工文件里写明。它没拆,但它在账上。
残留无主:降水井封了口没填实,图纸上没有,若干年后一次基坑施工挖到它。它的特征不是”有害”,是”没人知道它在”。
从未入账:这一类最难举例,理由见下一节——它的实例正是那些看起来最干净利落的完成。一次顺利的组织变革:过渡期的临时汇报线、临时的双岗、临时的口头授权,变革完成后一律取消,而这些安排从未写进任何文件,事后没有人说得出当时到底靠什么撑过来的。一次顺利的康复:那半年里的借住、请假、代班、临时的说法与临时的关系,恢复之后一件不留,也一件没记。
四种去向里要打的是第四种。理由不是它明显坏,恰恰相反。
如果一类情形不用本文这套东西也看得出来是坏的,那说明第二根轴选错了。 残留无主那一类是看得见的——挖到那口井的人会知道出事了。从未入账与此相反:它在终态读数上与最漂亮的完成完全相同,而且它通常就是最漂亮的完成。
三条签名。本文按”谁能看见”来分,这与按性质分类不同:一条只有当事人当时看得见,一条旁人从来看不见,一条会让后来者读反。
签名一(当事人当时看得见,事后看不见)。
造过料的人当时知道自己在造什么——他知道那半年是靠借住撑下来的,他知道那次上线是靠三个人连轴转加一套临时脚本顶住的。这份知道随人走:人调岗、人离职、人忘记;而且当事人往往主动不说,因为”当时的临时办法”听起来像是不专业。结果是这份知道在一到两年内自然消失,而它消失的时候不产生任何条目。
误诊阻挡:从未入账 ≠ 记录不全。一份文档极其完备的项目可以属于这一类:需求、设计、测试、上线报告样样齐全——唯独没有”这一版是靠什么临时安排撑过来的”,因为没有这一栏。完备的是终态文档,缺的是过程中造过又拆掉的那些东西。
签名二(旁人从来看不见)。
终态账本上,过料的贡献恒为零。一个交付的片区、一个健康的成年人、一个凉下来的水杯、一个发布的版本,从外面看,都看不出中间造过什么。因此任何基于终态读数的比较,都会系统性地把”造过很多过料并且拆干净了”的系统,与”几乎不需要造过料”的系统读成同一类。 而这两者在下一次遇到扰动时的表现可能完全不同——前者证明过自己造得出也拆得掉,后者没有。
误诊阻挡:从未入账 ≠ 过料少。第十节的真跑正是被这一点绊倒的:在那份记录上读到的过料量极小,而这不说明造得少,只说明那份记录不收它。
签名三(后来者读反)。
这一条最要紧。过料拆得越干净,终态看起来越像是必然的、省力的、可以直接复制的。 一个新人接手一个运转良好的系统,会默认它一直是这样运转的;一个年轻人看一个已经稳住的长辈,会默认他一直这么稳。于是复制时会照着终态复制,而漏掉那批必须先造再拆的东西。 这不是态度问题,是账本结构决定的:他能看到的全部就是终态清单。
误诊阻挡:从未入账 ≠ 经验没被传下来。经验传承传的是做法与判断;本文说的是那批东西本身——当时到底搭过什么、搭了多久、谁拆的。一个手把手带出来的接班人可以完全学会怎么做事,而仍然不知道上一轮是靠哪些临时安排撑过来的。
三条签名合起来给出一个不舒服的结论:从未入账不是一种失败模式,它是干净利落的完成的正常产物。 越是不留痕迹地把事办成,这一类就越牢固。
判据必须不含程度词,必须能拿去问文件、问日志、问规程,而不是拿去问人的判断。本文的判据是:
这个样子是靠什么造出来的?那些东西现在在哪儿?谁负责把它们拆掉、拆完谁验收?
三问都可查:靠什么、在哪儿、谁验收。没有”应当”“充分”“真正”“合理”。
在五个场合各跑一遍,五个答案必须互不相同。其中两个是查出来的,而且反过来改了本文,单独标出。
场合一 · 一个成年人的脊柱。 答案:靠脊索造出来的;脊索现在只剩椎间盘中央那一点;拆除由发育程序执行,验收由后续结构的正常成形完成——该退不退立刻显形为畸形。这一格是四种去向里的已拆净,且验收环节是内建的。
场合二 · 一杯凉下来的水。 答案:靠一个温差推过来的;温差现在为零;没有人拆它,过程走完它自己就没了。
这一处是查出来的,而且它反过来改了本文。 本文原本要写的一句是:“过料的拆除总是要付出代价,因而总有人可以为它负责。” 热力学把它打掉了。有一整类过料的消失不需要任何动作,也就无从问”谁拆的、谁验收”。于是第十五节把这一类划出适用范围:只有拆除需要动作的那一类,本文的三问才有意义。 这一改是实的,它砍掉了本文原本最想覆盖的那种普遍性。
场合三 · 一个交付的城市片区。 答案:靠临时便道、围挡、降水井、预制场;它们在竣工前被拆除或转为正式设施;拆除有期限、有恢复义务、有验收环节,写在临时用地许可里。
这一处也是查出来的,也改了本文。 本文原本要写的一句是:“过料从来没有人负责。” 城乡规划学证明这句话是错的——它已经把这件事制度化了:期限、恢复义务、验收人、验收记录,四样齐全。于是本文的主张必须从”没有人负责”退到”在绝大多数领域里没有这一栏,而它可以有,因为已经有一个领域做到了”。这一退同时给了本文的第三层主张一个可核对的参照,也给了第十九节那条赌注一个明确的样板。
场合四 · 一个软件版本的发布。 答案:见第十节,这是本文真跑的那一条。简答是:在公开的提交记录上,几乎读不到过料——而这不是因为没有,是因为那份记录在过料进入之前就已经把它清掉了。
场合五 · 一个人走出一段艰难时期。 答案:靠一批临时安排——借住、请假、代班、一套对外的临时说法、几段只在那段时间里紧密的关系;它们现在多半不在了;没有人拆它们,它们是一点一点淡掉的;也没有人验收。 这一格给出本文最不舒服的一条推论:一个人事后说不出自己当初是靠什么撑过来的,不是因为他记性差,是因为那些东西按其存在方式就是要消失的,而没有任何一份账在等着收它们。
五个答案互不相同,第二、第三个是查出来的,各自削掉了本文一句更强的话。
一个读数没有写死的定义、粒度与编码规则,它就不是读数,是印象。本节给出全篇唯一的一份口径。第十节的真跑、第十六节的证伪条件、第十九节的赌注,三处引用同一份。
主件:第六节那张三栏的过料账。主读数:去向四分(已拆净/残留有主/残留无主/从未入账)。副读数:过料倍数 m——为走到这个终态,过程中实际动过的量,是终态与初态之差的多少倍。
过料倍数的适用条件(这一条在真跑之后被提到手册里,见第十一节):只有当记录本身收录过程量时,m 才可算。若记录只收终态,m 恒等于一附近,而这个一不说明过料少,只说明这份记录不收过料。 因此使用 m 之前必须先答一句:这份记录收不收过程中被丢弃的部分?答”不收”的,m 不得计算,去向四分一律记为”从未入账”。
限定二的操作判据(必需还是浪费,事后往往难判):不要求判定”没有它终态还成不成立”,只要求填一句它当时是为什么被造出来的;填不出的,记为”来路不明”,单列,不计入过料,也不计入浪费。本文宁可漏计,不肯把浪费算成过料。
编码规则六条:
其一,只计为这一次改变专门造出来的东西;改变之前就存在的,不计。
其二,只计在终态清单上不在场的;留在终态里继续起作用的,从过料一栏移到终态项一栏,并在去向栏注明”转为终态”。
其三,去向四分必须逐件填,不得对整个项目给一个总的去向。 同一个终态项底下的几件过料,去向可以各不相同。
其四,“没有拆除动作”与”拆除动作无人执行”分列。 前者是本文不管的那一类(第十五节其一),后者是残留。把两者混为一谈会把整个热力学那一类误判成失职。
其五,验收人一栏填不出,就填”无”,不得填”团队”或”大家”。 填不出具体的岗位或人,等同于无。
其六,从未入账这一档,只能由”当时的记录里查不到”来判定,不能由”现在的人说不记得”来判定。 人的记忆不作为编码依据;这一条是为了防止把签名一(当事人事后也说不出)与实际的记录状态混起来。
表头(可直接拿去做一张空表):
编号
终态项
过料件
为什么造它
在终态清单上?
拆除动作
执行人
验收人
验收记录在哪儿
去向四分
不适用:拆除不需要动作的那一类;记录只收终态因而过程量不可得的那一类(后者仍可填去向四分,一律记”从未入账”,但不得计算 m)。
证伪条款不许全是纸面的。本节报告一次用公开、可复算数据做的检验,包括两条被自己数据判伪的假设。
为什么选这份数据。 需要一份第三方持有、任何人可复算、且”过程量”与”净结果”都能机械算出来的记录。公开代码仓库的版本标签满足这三条:相邻两个版本标签之间的差是净结果,这一区间内全部提交的改动之和是过程中实际动过的量,两者之比就是第九节那个副读数。
预注册。 全部假设、变量与阈值在取数与统计之前写死存档,事后未改。事前排除规则同样在计算任何数值之前写死:只取三段式数字标签,排除同一天打的重复标签,每仓最多取最近四十次相邻推进,排除净差为零的推进。
四条假设与阈值。
H1:过料倍数的中位数大于一点五(过料确实存在且可观)。
H2:过料倍数与净差规模的斯皮尔曼相关,绝对值低于零点六;达到或超过,则该读数只是规模的代理。
H3:各仓过料倍数中位数的最大值与最小值之比大于三(说明它不是一个常数)。
H4:既存在过料倍数接近一的推进,也存在大于三的推进,二者并存。
样本:八个公开仓库,二百九十二次相邻版本推进。
结果:
仓库
推进次数
过料倍数中位数
最小
最大
attrs
34
1.159
1.023
2.328
click
26
1.082
0.900
1.768
gunicorn
40
1.091
0.994
2.839
httpx
40
1.015
0.984
1.452
jinja
32
1.115
1.006
1.518
marshmallow
40
1.099
1.000
3.303
requests
40
1.067
1.000
62.444
tqdm
40
1.071
1.000
3.212
假设
阈值
实测
判定
H1 过料倍数中位数 > 1.5
1.5
全样本中位数 1.082;百分之七十六的推进低于 1.2
判伪
H2 与净差规模相关 < 0.6
|r| < 0.6
斯皮尔曼 r = 0.207
成立
H3 各仓中位数跨度 > 3
3
判伪
H4 接近 1 与大于 3 并存
二者皆有
接近 1 者占绝大多数;大于 3 者仅 4 次
勉强成立
四条里两条被自己的数据判伪。逐条说清。
H1 判伪,而判伪的方式比结果重要得多。 过料倍数的中位数是一点零八二——也就是说,在这份记录里,从上一个版本走到下一个版本,过程中动过的量只比净结果多百分之八。按字面读,结论是”几乎没有过料”。
这个字面读法是错的,而看出它错在哪里,正是本文这一节的全部价值。提交历史本身就是一份终态账本。 被丢弃的分支、被推翻的实验、写了一半删掉的实现、在本地改了三遍才提交的那一次——这些东西在提交进入主干之前就已经被清理掉了。合并前的整理、压缩合并、变基,全部是把过程量压成净结果的标准动作,而且是被推荐的良好实践。所以这份记录不是”过料少”,是它在设计上就不收过料。
一点零八二这个数因此不是关于软件项目的一个发现,是关于这份记录的收录规则的一个发现。第九节据此加了一条适用条件:算 m 之前先问这份记录收不收被丢弃的部分;答”不收”的,m 不得计算。
H3 判伪,而且判得比 H1 更彻底。 八个仓库的过料倍数中位数从一点零一五到一点一五九,跨度一点一四二。一个几乎是常数的读数没有辨别力。这与第十一节要说的是同一件事:它测的不是这些项目,是这份记录的粒度。
H2 成立。 相关系数零点二〇七,过料倍数不是规模的代理。这一条使 m 在收录过程量的那一类记录上仍然可用——它只是在这一份记录上不可用。
H4 勉强成立,而那四次例外值得单列。 二百九十二次推进里只有四次过料倍数大于三,其中最极端的一次是 requests 从 v2.20.1 到 v2.21.0:净差十八行,过程改动一千一百二十四行,倍数六十二点四。 也就是说,那一个版本周期里动了一千多行,最后留下十八行的净差。这一次是这份记录里唯一一处过料露出水面的地方——而它露出来的原因,恰恰是那一次的整理没做干净。
补跑(探索性,非预注册)。 既然主干只收终态,就去看主干之外还剩下什么:统计每个仓库全部引用可达的提交里,有多少条不能从主干到达——这些是还没被删掉的分支上的提交,是过料唯一可见的残迹。
仓库
全部可达提交
主干之外
占比
attrs
1,866
29
0.0155
click
3,316
5
0.0015
gunicorn
4,011
394
0.0982
httpx
1,643
120
0.0730
jinja
3,125
176
0.0563
marshmallow
3,779
44
0.0116
requests
6,730
240
0.0357
tqdm
2,278
156
0.0685
这份补跑的跨度是六十五倍(零点零零一五到零点零九八二),比主读数的一点一四二大了一个数量级还多。而这六十五倍测的是什么?不是这些项目造了多少过料,是它们删不删分支。 一个把合并完的分支立刻删掉的项目,主干之外接近于零;一个不删的项目,残迹留着。
这就是本文第三层主张的经验形状:过料的可见性由记录制度的清理习惯决定,与过料本身的量无关。 而清理习惯本身是被推荐的良好实践——越是规范的项目,过料的残迹越少。
改动一:过料倍数被降为副读数,并加上适用条件。
原稿把过料倍数当主读数,还打算写这样一句:“过料倍数越高,说明这个系统为了走到这一步动用得越多,因而它的重生能力越强。” 一点零八二与一点一四二把这句话删掉了。在一份只收终态的记录上,这个倍数恒在一附近,它测的是记录的粒度不是系统的能力。主读数因此改为去向四分——去向四分不需要过程量,它只需要问三句话(第八节),而这三句话即使在只收终态的记录上也答得出来:答不出来本身就是一个读数(记为”从未入账”)。
改动二:新增”这份记录收不收过程量”这道前置检查。
这是第九节那条适用条件的来源。它同时是一条更普遍的纪律:一个读数在某份记录上读出接近常数的值,第一件要怀疑的不是被测对象整齐,是这份记录的收录规则把变异挡在门外了。 本文差一点就把一点零八二写成一个关于软件项目的结论。
改动三:第三层主张从”没有字段”改成”有清理规则”。
原稿的第三层主张是:现行记录里没有记录过料去向的字段。真跑给出的形状比这更硬也更麻烦:不是没有字段,是有一整套被推荐的、主动清除过料的规则。 合并前整理提交、压缩合并、删除已合并分支——这些都是明文的良好实践,它们的目的正是让历史干净。过料不是被忽略的,是被主动清掉的,而且清掉它是对的。 第十九节那条赌注据此改写了措辞。
改动四:那四次例外被提为一条可查的推论。
二百九十二次里只有四次露出水面,且露出的原因是整理没做干净。由此得到一条可查的推论:在任何一份被规范清理过的记录里,过料只在清理失败的地方可见;因此”过料的可见量”与”记录规范程度”应当负相关,而与实际造了多少过料无关。 第十六节把它写成了 F6。
改动五:本文不再主张过料多少与能力有关。
第四节其三已经从发育生物学那里得到过这一条(脊索小、中肾大,都必需),真跑又从另一面确认了它:可见的过料量测的是记录习惯。本文的主张因此只落在去向上,不落在量上。
这一节决定本文是不是换了个名字。选十四种最容易与本文混为一谈的说法,逐条写清它说到哪一步、分界在哪、以及一条能把两边分开的判定形式。凡写成”本文更强调”“更深入”“视角不同”的,等于承认被覆盖,因此下面一条也不这么写。
其一 · 脚手架(伍德、布鲁纳与罗斯,1976;维果茨基)。 这是本文最危险的一位,名字几乎同义。它说到:学习者在他人提供的支持下能完成独自完不成的任务,支持应随能力增长逐步撤除。分界有两处,都是硬的。第一,脚手架是他人提供的外部支持,过料是系统为完成这次改变自己造出来的东西——那半年的借住是别人给的,那套临时的对外说法是自己编的,两者都是过料,而只有前者是脚手架。第二,脚手架理论把支持当作方法,不当作对象:它从不要求清点脚手架本身,也不问脚手架拆到哪儿去了。判定形式:一次全部支持都由系统自己造出、无任何外部提供者的改变,脚手架理论无话可说,而本文的三问照样问得出来;若这类改变不存在,本文对脚手架的分界不成立。
其二 · 过渡客体(温尼科特,1953)。 它说到:幼儿用一件既非自我也非他人的物品度过分离,此后它逐渐失去意义而不被哀悼。分界:过渡客体是一个关于心理功能的说法,它关心的是这件物品在主体经验中的位置;本文关心的是它现在在哪儿、谁拆的、谁验收。判定形式:过渡客体理论预测那件物品会被自然放下而不留问题;本文预测的是,放下之后没有任何记录说明当时靠的是它,因而下一次分离时无从参照。两者可以同时为真,而后者是前者不问的那一栏。
其三 · 分子伴侣(埃利斯,1987)。 它说到:有一类蛋白帮助别的蛋白正确折叠,而不出现在终产物中。分界很干净:伴侣不被消耗,反应后原样存在,可以再用一次;过料按定义是被造出来又被拆掉的。判定形式:那样东西在这一次之后还能不能原样再用一次?能,是伴侣不是过料。催化剂这一族全部适用这条判据。
其四 · 临时基质(伤口愈合)。 它说到:伤口先形成纤维蛋白临时基质,细胞沿它迁入,随后它被降解并被正式基质取代。分界:这是本文的一个正例,不是竞争说法——它正是过料,而且是被命名过的过料。差别在于这个命名只在伤口愈合这一个领域内有效,且它不带去向这一栏:没有人问过那批临时基质的降解产物去了哪里、谁负责验收。 本文补的是这一栏。
其五 · 技术债(坎宁安,1992)。 它说到:为求快而采取的权宜实现会形成债务,日后须偿还,否则利息累积。分界:技术债是留在终态里的东西——它还在代码里,它正是因为还在才产生利息。过料按限定三是不在终态里的。判定形式:那样东西现在还在不在这份清单上?在,是技术债;不在,才可能是过料。这两者在管理语言里常被混说,而处方完全相反:技术债要还,过料要拆;已经拆掉的过料没有利息,只有一笔没人记的账。
其六 · 沉没成本。 它说到:已经付出且不可收回的成本不应影响后续决策。分界:沉没成本是一个决策论的规范说法,它教人忽略过去的投入;本文说的是过去造过的东西现在在哪儿,这是一个事实问题不是决策问题。判定形式:沉没成本谬误的处方是”别管它”;本文的处方是”记下它去哪儿了”。两者在同一件事上给出相反的指示,因此不可能是同一个说法。
其七 · 近可分解性(西蒙,1962)。 它说到:复杂系统若由稳定的中间形态逐级搭成,装配所需的时间会短得多;他用两个钟表匠的寓言说明这一点。分界:西蒙的中间形态是保留在终态里的(子装配件成为成品的一部分);本文的过料是不保留的。判定形式同其五。这一条同时说明为什么本文不能被”模块化”一族吸收:模块是终态的组成部分,过料不是。
其八 · 工程韧性与生态韧性的两分(霍林,1973)。 它说到:韧性有两种读法,回到平衡点的速度,或系统留在同一套关系里的能力。分界:两种读法都读终态。判定形式:两个恢复到同样状态、同样快慢的系统,若一个造过并拆净了大量过料而另一个几乎没造,且二者在下一次扰动时表现不同,则本文对而两分法不足。
其九 · 韧性作为一条轨迹(博南诺,2004)。 它说到:面对重大逆境,最常见的结局是一条自始至终稳定的低症状轨迹。分界:轨迹读的是症状读数在时间上的形状,它恰恰是一份逐时点的终态清单序列。一个人在整段时间里症状读数平稳,完全可以是因为他造了一大批临时安排把自己撑住了,而这些安排在症状读数上不出现。判定形式:在轨迹完全平稳的个案里问那三问,若答得出具体的临时安排与去向,则轨迹平稳与过料丰富可以并存,“稳定轨迹=未受影响”这一读法不成立。
其十 · 平常的魔法(马斯滕,2001)与保护性机制(鲁特,1987)。 它们说到:韧性来自普通的适应系统,保护是过程不是因子。分界:它们指出的是哪些东西在起作用,本文问的是那些东西现在在哪儿。判定形式:一次完全由普通适应系统完成的度过,事后仍然可以完全说不出当时搭过什么——若能说得出,说明那批东西有账,属于已拆净或残留有主。
其十一 · 韧性工程的四种潜能(霍尔纳格尔与伍兹,2006 及其后)。 它说到:安全是响应、监测、学习、预期四种潜能的持续维持。分界:这四种潜能都是当下可评估的能力,评估在平时做。本文说的是一次具体改变留下的账。判定形式:一个四项潜能全高的组织,其最近一次改变的过料可以全部属于从未入账;若这种组合不存在,本文错。
其十二 · 适应负荷(麦克尤恩,1998)。 它说到:维持稳态要花代价,代价累积会损伤系统。分界:适应负荷记的是代价的累积,它是一笔总量账;本文记的是造过的东西的去向,它是一笔明细账。判定形式:一次过料全部拆净、去向清楚的改变,与一次同等规模但过料全部从未入账的改变,适应负荷读数应当相同;若不同,本文的独立性主张为伪。
其十三 · 临界慢化与早期预警(谢弗等,2009)。 它说到:系统接近临界转变时恢复变慢,方差与自相关上升。分界:这套办法读的是终态变量的时间序列。一个系统正在大量造过料的时期,恰恰是它的终态读数被临时安排撑得最平稳的时期——过料的作用就是把终态读数顶住。判定形式:若在造过料最密集的时期,早期预警指标系统性地偏向”没问题”,则二者非但不冲突,而且本文说明了它的一个失灵机制。
其十四 · 儿童发育中的正常细胞死亡(格吕克斯曼,1951;克尔、怀利与柯里,1972)。 它说到:发育中的细胞死亡是正常程序的一部分,不是损伤。分界:这是本文在源头上最近的一位,它描述的正是过料的拆除机制。差别是:它把这件事当作一个生物学机制来描述,不当作一种可以清点、可以有去向、可以有验收人的账目。 判定形式:细胞死亡的文献里有没有”这批细胞的清除由谁执行、清除完成由什么确认”这一栏?有的(吞噬清除与其失败会导致自身免疫),但它止于机制;一旦离开生物学,这一栏在别的领域里全部消失。本文做的正是把这一栏搬出生物学。
最近的一位是其一(脚手架)在名义上,其五(技术债)在管理语言上。本文之所以仍不能被它们吸收,理由各不相同:脚手架不清点自己,技术债按定义留在终态里。
上一节是逐个划界。这一节说另一件事:有五套彼此不相往来的成熟做法,从五个方向逼近了同一个结构,而且都停在同一步。
其一 · 临时用地许可。 城乡规划与土地管理为过程中占用的土地专设了一个类别,规定期限、恢复义务、验收环节。它是五者里唯一四样齐全的。
其二 · 发育中的临时器官与程序性清除。 生物学描述了这批结构的功能与它们被清除的机制,并把”该退不退”列为畸形。它有机制、有失败模式,没有账。
其三 · 伤口愈合的临时基质。 它被命名了,它的降解被研究了。有名字,没有去向这一栏。
其四 · 分子伴侣与催化剂。 它们处理”参与而不出现在产物里”的东西,办法是让它不被消耗——绕过了拆除问题。
其五 · 代码仓库的历史整理。 合并前整理、压缩合并、删除已合并分支,是一整套明文的良好实践,目的正是把过程量清掉。它是五者里唯一主动、系统、被推荐地消灭过料的一套。
五者跨了城乡规划、发育生物学、创伤医学、生物化学与软件工程,彼此几乎不互相引用。它们逼近的是同一件事:有一批东西必须先造出来才能被拆掉,而它们不属于结果。
而五者都停在同一步上:它们都把过料当作一个过程细节来处理——描述它的机制、规定它的期限、或者干脆把它清干净——而没有一个把它当作一笔要留下去向的账。 临时用地许可最接近,它有验收;但它验收的是”地恢复了没有”,不是”这一次到底靠什么撑过来的”,因而那份记录也无法回答后来者的问题。
由此可以说出第二块地,它比第三节那块更靠底下:
整个学术界共同假定:过程中被造出又被拆掉的东西,其价值全部已经兑现在结果里了。 因此把它清掉不但无害,而且是把事情做干净的标志。没有人认为它还欠一笔账。
这块地为什么所有人都看不见,理由不是没人认真:是因为看的人都站在上面。 每一门学问的产出都是结果——一篇论文、一份图则、一个成体、一个版本;而结果的定义就是”把过程收拾干净之后剩下的那个东西”。一门学问越成熟,它清理过程的手法越标准,它的记录里过料越少。
一个判断如果只往顺手的方向长,多半没被检验过。本节写三处削弱,每处都砍掉了本文原本想写的一句更强的话。
其一 · 发育生物学砍掉了本文的价值排序。
本文原本要写:“造得出越多过料,说明这个系统重生秩序的能力越强。” 临时器官把它打掉了。脊索是一条细索,中肾是一整套器官,二者都必需,量差了两个数量级,而这个差别只说明它们各自要办的事不同。过料的量是任务规定的,不是能力规定的。
于是本文的价值排序撤销:本文不把过料的量当作能力指标,也不主张造得多好。 本文只主张一件事:这一批东西造过、拆过,而它的去向在绝大多数领域里没有一栏可填。这是一条关于记不记的主张,不是关于造多造少的主张。
其二 · 城乡规划学砍掉了本文的处方。
本文原本要写:“过料必须拆净;不拆净就是遗留隐患。” 施工便道把它打掉了。大量的临时设施在竣工时被保留下来转为正式设施——便道成了内部道路,工地变电站成了永久配电房,临时排水沟成了雨水管网的一段。这种转化通常比拆掉再新建划算得多,而且它一点问题也没有——只要在竣工文件里写清楚。
于是本文的处方缩到最便宜的那一条:在过料账上填一栏去向,四选一即可(已拆净/残留有主/残留无主/从未入账)。本文不主张拆净,只主张记下。“转为终态”是一个正当的、常见的、值得鼓励的去向,第九节编码规则第二条据此写死。
其三 · 热力学砍掉了本文的适用范围。
本文原本要写:“任何一次改变都可以问它的过料去向。” 驱动梯度把它打掉了。有一整类过料的消失不需要任何动作——过程走完,梯度自己归零,没有拆除动作,没有执行人,也就没有验收人。对这一类问”谁拆的、谁验收”是一个无意义的问题,硬答只会得到一个假的”无”。
于是适用范围缩到:拆除需要动作的那一类改变。 第九节编码规则第四条把”没有拆除动作”与”拆除动作无人执行”分列,正是为了守住这条线。这一条把物理化学过程、以及一大类自然衰减的临时安排划出了辖区,而这类情形在生命过程里并不少见——很多临时安排确实是自己淡掉的,没有人拆过。
三处里两处动的是价值排序与处方,一处动的是适用范围。没有这三处,本文会是一篇更好读也更容易被推翻的文章:它会主张过料越多越强、必须拆净、处处适用——这三句现在都是错的。
每类给一条可当场执行的排除检查。
其一 · 拆除不需要动作的情形。 检查:这样东西的消失,有没有人做过一个动作?没有,本文的三问不适用(见上节其三)。
其二 · 记录只收终态、过程量不可得的情形。 检查:这份记录收不收被丢弃的部分?不收,过料倍数不得计算;去向四分仍可填,一律记”从未入账”。
其三 · 留在终态里的东西。 检查:它在不在最后那份清单上?在,它不是过料,按技术债或按终态项处理。
其四 · 来路不明的东西。 检查:填不出”它当时是为什么被造出来的”,就不计入过料,也不计入浪费,单列。本文宁可漏计。
其五 · 用来评价个人的场合。 见下一节。这不是能力边界,是禁止使用的范围。
另有一处必须声明:本文不主张过料的去向与任何结局变量之间存在因果关系。 本文主张的是事后的可回答性,不是好坏,也不是成败。一次过料全部从未入账的改变,完全可能此后十年一切顺利;本文说的只是,如果有一天需要回答”这个样子当初是靠什么造出来的”,那个问题已经没有材料可答。
先写出最强的竞争解释,不挑好打的靶子。
最强竞争解释:其实不就是”过程没有被记录下来”吗?记详细一点就行了,不需要新构念。
第二强:其实不就是技术债的另一种说法吗?
八条证伪条件。涉及跨案例比较的条目,样本要求一并写在条内:须在同一制度环境内取同类型单元、数目不少于六个;拿两个国家或两个地区的对照充数的,不计。
F1(主件,排除第一个竞争解释):在同一行业、同一规模区间取不少于六个单位,先测过程记录的详尽程度(会议纪要密度、日志字段数、留档年限),再按第九节填过料账。控制记录详尽程度之后,若去向四分与”事后无法回答这个样子是怎么造出来的”之间不存在剂量—反应关系,则本判断为伪。 届时问题应归因于记得不够详细,而不是过料没有一栏可填。
F2(排除第二个竞争解释):取一批改变,分别清点留在终态里的权宜实现(技术债)与不在终态里的过料。若二者的数量高度相关(秩相关高于零点六),则本文数的其实就是技术债,构念多余。 本文预测二者不相关甚至负相关——拆得干净的项目技术债少而从未入账的过料多。
F3(正交性,最便宜的自毁条款,须先做):去向四分与该系统既有的主指标(该领域公认的那个)的秩相关,绝对值超过零点六则本文的读数白造。第十节已经用类似的检查把过料倍数降为副读数。
F4(顺序预测,不是相关):在一次改变中,过料的拆除应当早于终态读数达标;若在一组个案里终态读数达标系统性地早于或同时于过料拆除,则本文的时序主张为伪,“过料是为终态服务的”这一说法须重写。
F5(签名三的检验):请没有参与过某次改变的人,照着终态复制一遍。若复制成功率与原改变的过料量无关,则签名三(后来者读反)为伪。 本文预测过料量大的改变被复制时失败率更高,因为复制者照着终态复制会漏掉那一批。
F6(第十节逼出的可查推论):在同一批系统里,测”过料的可见残迹量”与”记录规范程度”的相关。本文预测二者负相关(越规范残迹越少);若正相关或不相关,则第十节那条解释(读不到是因为被主动清掉了)为伪,一点零八二就得回到字面读法,本文第十一节的全部改动作废。
F7(第三层主张):在建设工程、临床方案变更、组织变革、软件发布四类记录中的任一类里,检查有没有”本次改变中专门造出而现已不在的东西及其去向”这一栏及其填写率。任一类里该栏存在且填写率高于百分之十,则第三层主张为伪。 已知的例外是临时用地许可,本文在第八节场合三已经把它列为样板而不是反例——因为它验收的是土地恢复,不是”靠什么撑过来的”;若有人证明临时用地的验收记录足以回答后一个问题,则这条例外升级为反例,第三层主张作废。
F8(编码者一致性,本文自认最可能翻车的一条):请两位互不通气的编码员,按第九节的手册对同一批二十次改变独立填过料账。若在”哪些算过料”这一栏上的一致率低于零点八,则本文的读数不可复现,全部结论作废。 本文没有做这一条,理由与后果写在第二十节。
这条判断若被证伪,我们会学到什么。 若 F1 被证伪,说明这是一个记录详尽度问题,处方是加字段,成本远低于本文暗示的安排。若 F2 被证伪,说明本文只是技术债的一个换名,全部新意归零。若 F6 被证伪,说明第十节那个一点零八二真的是”过料很少”,那么本文赖以立足的那个现象在软件这一类系统上根本不存在。三种被证伪的方式指向完全不同的处置,因此这几条不是形式条款。
第九节那张表可以填,能填的表就会被拿去打分。本节写死三条,不写死则本文不应发表。
其一,去向四分说的是一次改变的记录,不是人。 表头第一栏是编号与终态项,不是姓名。任何把”从未入账”挂到某个经手人名下的用法,都超出本文的范围。 一次改变的过料全部从未入账,说明的是那套记录里没有这一栏,不说明经手人隐瞒了什么。
其二,不得为了把这个数做好看而制造过料,也不得为了留账而拖延拆除。 前者是把本该一步做成的事拆成”先搭后拆”以便填账;后者是把该拆的东西留着,只为在账上从”从未入账”变成”残留有主”。在安全关键的系统里,第二种尤其危险——残留的临时设施本身就是隐患,而本文的读数会奖励它。
其三,已经据此做出不利安排的,必须公开编码规则并给出复核通道。 若某机构用去向四分决定资源分配或考核评级,它必须同时公开:所用的粒度、六条编码规则的本地版本、“来路不明”这一档的处理办法,以及”没有拆除动作”与”无人执行”如何分列。这两档的分界是可争的,因此必须是公开的——把自然淡掉的临时安排判成”无人执行”,等于凭空造出一次失职。
反噬要写清。这个数一旦进考核,最省事的达标办法不是真的记账,是事后补写:改变完成之后回过头去,把当时的临时安排写成一份漂亮的过料账,去向一栏全填”已拆净”,验收人填当时的项目经理。这种做法零成本,从记录上无法与实时记账区分——因为本文的读数正是从记录上读的。它会制造出”我们有账”的虚假安全感,比没有这个读数更糟:真正要用这份账的人(下一个接手的人)会照着一份编出来的账去做,而那份账里没有当时真正吃力的那几件。
我看不到出口。 任何一份关于”当时靠什么撑过来的”的账,只要是事后补的,就可以补得好看;只要是实时记的,记的人就要在最忙的时候多做一件事,而那正是他最不可能做的时候。能做的只有把这条反噬写进正文,让打算用它的人在动手之前先看见它会从哪里坏掉。
自反不是说”本文也有局限”,是用本文自己的那句问话去问本文自己,并说出后果。本文问的对象不是这一篇,是这一道题。
同一道题面——生命韧性究竟是什么——本栏此前已经出过两篇,各自从不同的方向给了一个辨别维度。本篇是第三篇。用第八节那三问去问这道题:
这个样子是靠什么造出来的? 本篇能站在这里,靠的是前两篇。第一篇把”两侧有没有共有物”这个方向走完,本篇因此不必再走;第二篇把”多份被合成一份”这个方向走完,本篇因此知道”合成”这条路已经有人占了。更要紧的是,前两篇各自在真跑里翻过的车(一次把计数读数判伪,一次把均值口径判伪),直接决定了本篇第九节那条前置检查的存在——若没有那两次,本篇会把一点零八二写成一个关于软件项目的结论。
那些东西现在在哪儿? 前两篇还在,它们是终态的一部分,不是过料。真正的过料是另一批东西:本篇写作过程中被认真考虑过又放弃的另外几条辨别维度、另外几组学科的搭配、以及一批被查过之后发现已被别人占住的方向。这些东西一件也不在这一篇里,而没有它们,这一篇不会长成现在的样子——每放弃一条,本篇的落点就被往这里推了一步。
谁负责把它们拆掉、拆完谁验收? 没有人。它们是在写作过程中一点一点被放弃的,没有拆除时刻,没有执行人,没有验收人,也没有一份清单。按第六节的四分,本篇自己的过料全部属于从未入账。
三条后果,都是具体的:
其一,本篇无法证明它的落点是必然的。 一个读者若问”为什么是过料而不是别的什么”,本文答不出——因为被放弃的那些候选没有留下任何读数。这不是谦辞,这是本文自己的判据给出的判定。
其二,本篇与前两篇之间的关系在记录上是不对称的。 前两篇作为终态项是可见的(它们在那儿,可以被读到、被引用、被反驳),而它们对本篇的塑造作用——尤其是那两次真跑翻车所留下的那条纪律——不在任何一篇的正文里,它只存在于本篇第十一节那条前置检查中,而那条检查看起来像是本篇自己想出来的。一条方法上的纪律,一旦被写进正文,就再也看不出它是被哪一次失败换来的。 这正是签名三所说的:拆得越干净,越显得当初不费力。
其三,据此给出一条自减条款。 本栏此后凡是要主张”本篇的落点优于其他候选”的,须先出示被放弃的候选清单及放弃理由;出示不出的,只能主张”本篇的落点成立”,不得主张”它更好”。这一条从本篇起对本文自己生效,而本篇正是出示不出的那一个。
还有一处必须认账:第十六节 F8(编码者一致性)本文没有做,而第九节的限定二明写了”必需还是浪费在事后往往难判”,这恰恰是最可能让两位编码员分歧的一栏。本文一边主张”要给过料留一笔账”,一边自己没有验证过这笔账两个人记出来会不会一样。
赌注要写死日期,也要写死什么不算命中。
赌注:到 2035 年 3 月 31 日为止,在临床治疗方案变更、组织变革与重组、软件发布这三类文书的任何一份具有强制力的公开标准(国际标准、国家标准、行业主管部门规章)中,不会出现这样一组强制填写栏:本次改变中专门造出、而现已不在最终形态里的东西;它们各自的去向;拆除的执行人与验收人。
什么不算命中,五条写死:
其一,只要求记录变更过程、留存过程文档或延长留档年限,不算命中。 那是记过程,本文赌的是那三栏一起出现,尤其是去向与验收人。
其二,只要求列出被删除或被废弃的内容,不算命中。 被废弃的东西通常仍在终态清单上带着一个废弃标记,那属于第十二节其五那一族。
其三,做成一个成熟度评级或综合评分而不保留逐件去向的,不算命中。
其四,只在自愿性指南、白皮书、行业最佳实践中出现的,不算命中。 必须是可审核的强制条款。
其五,建设工程领域的临时用地与临时设施条款不算命中,因为它已经存在——本文在第八节场合三已把它列为样板。赌的是它有没有走出建设工程。
赌输意味着什么:这件事已经进了制度的视野,本文最外那一层在该类记录上就此失效。至于里面两层立不立得住,要另外去查——分层的用处正在于此,一层倒了不必牵动另外两层。
本文可以被分层引用,请分层引用。 第一层是过料这个构念与去向四分这个读数,最强也最容易倒;第二层是过料账这张三栏表,即使第一层的读数被换掉,这张表仍可用来问那三问;第三层是那条经验主张——在现行的公开记录里,过料不但没有一栏可填,而且有一整套被推荐的规则在主动把它清掉。第三层不依赖前两层,最便宜,也最稳,第十节已经在代码仓库这一类记录上跑出了它的形状。
洞一:必需与浪费的分界,本文没有修好。
限定二要求过料是必需的,而”没有它终态还成不成立”在事后几乎无法判定——你不能把那次改变倒回去重走一遍。第九节给的操作判据(只要求填”当时为什么造它”)是一个退让:它把一个关于必要性的判断,换成了一个关于当时意图的记录。 这个换法有一个明显的漏洞:当时的意图可以是错的,被造出来的东西可以确实是浪费。本文因此无法区分”必需的过料”与”当时以为必需的浪费”,而这两者在账上长得一模一样。
洞二:本文的读数在最需要它的地方读不出来。
第十节已经说清:一份规范的记录会主动清掉过料,因而越是规范的系统,本文越读不到东西。这意味着本文的读数在管理最差的地方最好用,在管理最好的地方最没用——而后者恰恰是本文最想说话的对象。本文没有办法绕开这一点,只能把补跑那六十五倍的跨度摆出来,说明那个跨度测的是清理习惯而不是过料。
洞三:说不出”从未入账”多久之后会要紧。
本文只主张事后不可回答,不主张它会导致坏结果。那么它什么时候要紧?只有在”需要回答这个样子当初是怎么造出来的”的时刻才要紧——接手、复制、复盘、下一次遇到同类的事。这样的时刻什么时候来、来不来、有多要紧,本文没有材料。本文无法排除”从未入账在多数情形下无关紧要”这一可能。
附录 · 同题四篇各管哪一段
本栏近期另有三篇处理同一片题面,读者极易把四者读成一件事。逐条写清,各给一条判定形式。
与同题第一篇(问”改变之后还是不是它”)。 那一篇读的是改变前后两侧有没有共有物,是纵向的;本篇读的是过程中造出又拆掉的东西,是中间的。两者可以完全脱钩:一次两侧共有物很厚的小改动可以几乎不造过料,一次两侧共有物为零的彻底改变可以造出并拆净大量过料。判定形式:若两侧共有物的读数与去向四分秩相关高于零点五,两个读数不独立,须合并;本篇预测低于零点三。
与同题第二篇(问”那一次里的许多份还剩几份分得开”)。 那一篇读的是横向的份数被合成一份;本篇读的是中间造出的东西不在终态里。两者最容易混的地方在于都会导致”事后说不出来”,但缺的东西不同:前者缺的是各份之间的差异,后者缺的是一批已经不在的东西。 判定形式:一次分份记录得很好(可挑份数很高)的改变,其过料仍可以全部属于从未入账——因为分份记的是各份的终态读数,不是各份造过什么。若这种组合不存在,两篇须合并。
与同题面下问”为什么没塌”的那一篇。 那一篇处理的是在场而名册上查不到的承担者;本篇处理的是已经不在场的东西。判定形式:前者的对象现在还在(只是没名字),本篇的对象现在不在了(按限定三)。这条判据可以当场执行:指着问一句”它现在在不在”。
四篇的分工可以写成一句:第一篇问改变之后还是不是它,第二篇问上一次到底是哪一部分扛住的,问”为什么没塌”的那一篇问是谁在没有名分地撑着,本篇问从那里到这里的路上搭过什么、那些东西现在在哪儿。 四问互不替代,而它们共同的形状是:韧性的通行读数都是给终态一个数,而这个数的生成过程里丢掉了四类不同的东西。
结论
本文做了一件很窄的事。
它没有在”抵抗改变”与”改变后重生秩序”之间选一条。它指出这两条读法读的都是终态,而它们共同踩着的那块地是——账本只收在场的东西;然后用发育生物学教科书正文里的一件事把这块地掀掉了:一个成年人的脊柱由一条已经不在的脊索定位,一套生殖管道由一副已经退化的中肾建立,而成体的任何清单上都没有它们的条目。
由此提出的辨别维度是过料——为使一个新形态成立而必须被造出、且在新形态成立后必须消失的那些东西。配上去向四分(已拆净、残留有主、残留无主、从未入账),得到一张可以填的三栏账。要打的是第四种:它在终态读数上与最漂亮的完成完全相同,而且它通常就是最漂亮的完成。它的三条签名分别是当事人事后也看不见、旁人从来看不见、后来者会读反——最后一条最要紧:拆得越干净,越显得当初不费力。
八个公开仓库的二百九十二次版本推进给了这套说法一次不留情面的检验,两条假设被自己的数据判伪。而判伪的方式比结果重要:在那份记录上读到的过料倍数是一点零八二,跨仓跨度只有一点一四二——按字面读是”几乎没有过料”,实际上是那份记录在设计上就不收过料。合并前整理、压缩合并、删除已合并分支,都是被推荐的良好实践,它们的目的正是让历史干净。补跑给出了这件事的形状:过料残迹的跨仓跨度是六十五倍,而它测的不是造了多少,是删不删分支。
过料不是被忽略的,是被主动清掉的,而且清掉它通常是对的。 这句话可以直接拿去用:一个系统越规范,它的记录里越看不出它当初是怎么撑过来的。
最后一句留给那道题本身。问”韧性是抵抗改变还是改变后重生秩序”,问的是这个东西够不够强。本文的回答是:在问它够不够强之前,先问一句更早的——这个样子是靠什么造出来的?那些东西现在在哪儿?谁负责把它们拆掉、拆完谁验收? 这三问答不上来的时候,“它够不够强”这个问题问的是一个看不出来路的东西。
本节由编者增补,不是作者原稿的一部分。本文正面处理了「其实不就是技术债的另一种说法吗」这一问,并在文献表里列有分子伴侣(Ellis 1987)与创伤修复的临时基质。增补的理由只有一条,而它是这一篇最危险的一条:本文命名的那样东西,在好几门学科里已经有一个共用的名字,而本文没有点名。
「为使一个新结构成立而必须被造出、且在新结构成立之后必须被撤走的东西」——这句话在建筑里叫脚手架,在分子生物学里叫分子伴侣(它促成折叠而不出现在终产物中),在组织工程里叫可降解支架,在教育与发展心理学里叫支架(Wood、Bruner & Ross 1976:帮助者提供的支持随学习者能力增长而逐步撤除)。这几支彼此独立发展,却共用同一个隐喻,而且这个隐喻已经稳定到成为各自领域的标准词。
这是名句级的贴面,必须正面认下来:本文所命名的那一类东西,作为一个现象,早已被反复命名过。本文若只主张「有这样一类东西」,它是一次改名,而不是一次发现。
那么分界落在哪?落在账上。支架这一族的全部关注点是撤不撤得掉——支架能不能降解、伴侣会不会脱离、教学支持能不能逐步减少。撤掉之后的事,各支都当作已经结束:终产物折好了,学生会做了,组织长成了。本文问的是撤掉之后的那一栏:拆完还留不留得下一笔去向账。本文的四种去向里,「已拆净」与「残留有主」是支架理论覆盖得到的,而「残留无主」与「从未入账」这两种是支架理论结构上看不见的——因为它的问题结构里没有「谁负责记这件东西去哪了」这一问。
可裁决的分离线。取一批已完成的构造过程,问三件事:造过什么、现在在哪、谁记的。若三件都答得出,属支架理论的辖区,本文只是它的一次转述;若普遍答得出第一件而答不出后两件,则本文对——差的不是「要撤掉」这个认识,是撤除这个动作从未被要求留痕。这一条在组织工程、软件构建与教学设计三处都可以直接查文档规范:有没有一条要求记录临时结构去向的条款。
本文第七节已经指出「从未入账」这一格在终态读数上与最漂亮的完成完全相同。编者要把这句话的后果写满:正因为同形,这一格不会被任何以终态为准的验收发现,而且越是追求干净利落的交付,越会把它造出来。
理由是次序上的:造过料要花成本,拆过料也要花成本,而记一笔去向账是第三笔成本,它不改善终态的任何一项读数。于是在任何以终态验收为唯一关口的体系里,这第三笔是最先被省掉的一笔——不是有人决定省,是没有任何一条规则要求它。过料的账之所以缺,不是疏忽,是它在成本序列上排在最后而在收益序列上排在零。
这一步的证伪条件。若能找到一类体系:它以终态验收为唯一关口,而临时结构的去向账仍普遍完整(例如出于责任追溯或安全要求),则「成本序列」这条解释不成立,本节的推进作废,本文应退回原稿的「这一格在读数上不可见」这一步。建筑施工的临时设施拆除记录、临床试验的中间制品处置记录,都是可以去查的地方。
编者增补声明:以上一节为本站编者增补,非作者原稿,因此本篇标注「盲评 139 → 修改设计目标 142 · 待独立复核」,不是认证分。原稿的盲评分对投稿全文所打,本节不计入该次评分。增补引用:Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving. Journal of Child Psychology and Psychiatry, 17(2), 89–100.
关于引用的两点说明。 其一,经典著作与教科书按章节标注,不标卷期页;期刊论文标卷期页。其二,本文所报告的数据全部来自公开可复算的来源,取数与统计口径写在第九、十节,任何人可按同一口径复算;本文不掌握任何非公开数据。第十节的仓库清单与本栏此前篇目所用的清单存在部分重叠,但字段线不同(此前取的是合并方式与提交的可分辨性,本次取的是版本区间的过程量与净差之比),两次结果不得合并计算。
Gilbert, S. F., & Barresi, M. J. F. (2016). Developmental Biology (11th ed.). Sunderland: Sinauer.(脊索、咽弓、前肾—中肾—后肾各章)
Spemann, H., & Mangold, H. (1924). Über Induktion von Embryonalanlagen durch Implantation artfremder Organisatoren. Archiv für Mikroskopische Anatomie und Entwicklungsmechanik, 100, 599–638.
Wolpert, L. (1969). Positional information and the spatial pattern of cellular differentiation. Journal of Theoretical Biology, 25(1), 1–47.
Glücksmann, A. (1951). Cell deaths in normal vertebrate ontogeny. Biological Reviews, 26(1), 59–86.
Kerr, J. F. R., Wyllie, A. H., & Currie, A. R. (1972). Apoptosis: A basic biological phenomenon with wide-ranging implications in tissue kinetics. British Journal of Cancer, 26(4), 239–257.
Ellis, R. J. (1987). Proteins as molecular chaperones. Nature, 328, 378–379.
Clark, R. A. F. (Ed.) (1996). The Molecular and Cellular Biology of Wound Repair (2nd ed.). New York: Plenum.(临时基质一章)
Kondepudi, D., & Prigogine, I. (1998). Modern Thermodynamics: From Heat Engines to Dissipative Structures. Chichester: Wiley.
Prigogine, I. (1967). Introduction to Thermodynamics of Irreversible Processes (3rd ed.). New York: Interscience.
Bejan, A. (1996). Entropy Generation Minimization. Boca Raton: CRC Press.
Bishop, P., & Williams, L. (2012). The Temporary City. London: Routledge.
Oswalt, P., Overmeyer, K., & Misselwitz, P. (2013). Urban Catalyst: The Power of Temporary Use. Berlin: DOM Publishers.
Wood, D., Bruner, J. S., & Ross, G. (1976). The role of tutoring in problem solving. Journal of Child Psychology and Psychiatry, 17(2), 89–100.
Vygotsky, L. S. (1978). Mind in Society. Cambridge, MA: Harvard University Press.
Winnicott, D. W. (1953). Transitional objects and transitional phenomena. International Journal of Psycho-Analysis, 34, 89–97.
Simon, H. A. (1962). The architecture of complexity. Proceedings of the American Philosophical Society, 106(6), 467–482.
Cunningham, W. (1992). The WyCash portfolio management system. OOPSLA ’92 Experience Report.
Holling, C. S. (1973). Resilience and stability of ecological systems. Annual Review of Ecology and Systematics, 4, 1–23.
Bonanno, G. A. (2004). Loss, trauma, and human resilience. American Psychologist, 59(1), 20–28.
Masten, A. S. (2001). Ordinary magic: Resilience processes in development. American Psychologist, 56(3), 227–238.
Rutter, M. (1987). Psychosocial resilience and protective mechanisms. American Journal of Orthopsychiatry, 57(3), 316–331.
Hollnagel, E., Woods, D. D., & Leveson, N. (Eds.) (2006). Resilience Engineering: Concepts and Precepts. Aldershot: Ashgate.
Woods, D. D. (2015). Four concepts for resilience and the implications for the future of resilience engineering. Reliability Engineering & System Safety, 141, 5–9.
Scheffer, M., Bascompte, J., Brock, W. A., et al. (2009). Early-warning signals for critical transitions. Nature, 461, 53–59.
McEwen, B. S. (1998). Protective and damaging effects of stress mediators. New England Journal of Medicine, 338(3), 171–179.
Ungar, M. (2011). The social ecology of resilience. American Journal of Orthopsychiatry, 81(1), 1–17.
Werner, E. E., & Smith, R. S. (1982). Vulnerable but Invincible. New York: McGraw-Hill.
字数与版本 正文与附录约二万二千汉字(不含参考文献与本页)。第一版,2026 年 8 月。
数据可得性 预注册文本、八个仓库的名称、版本标签区间与逐次推进的两项原始数值,均按第九、十节写明的口径生成,任何人可在公开托管平台上重算一遍。本文不掌握任何非公开数据。
人机分工声明 题目、选源要求与成果形式由作者提出。文献检索、结构安排、数据取用与统计、文稿撰写,由作者与人工智能系统协作完成。第十节的预注册文本写定于取数之前,统计结果未经事后调整。全部判断、取舍与最终文责由作者承担。
利益声明 本文不附任何评分,作者不为本文出具任何等级或分值判定。