第三章 历史判断怎样进入今天的动作
一、工具为什么比当前使用者知道得更多
一个人拿起一件成熟工具,能够使用的往往超过他能够解释的。这里的“知道得更多”只是一个需要展开的说法,不表示工具在暗中思考。它指的是,工具允许当前活动调用一些并非由当前使用者重新完成的取舍。用一把尺子比较长度,使用者不必现场重新建立全部刻度约定;借助某个已经证明的引理推进研究,也不必重新经历它最初被发现与论证的所有尝试。当前行动之所以可以从这里开始,正因为另一些工作已经在此前得到承接。
这种承接构成了一个时间上的问题:过去已经结束的判断,怎样仍然改变现在能够做什么?如果把历史只写成成品的背景故事,就无法解释它怎样在当前活动中起作用;如果把工具只看成眼前的功能装置,又无法说明这些功能所使用的区分怎样形成。历史判断既不以完整回忆的形式藏在器具里,也没有因为最初的判断者离场而全部消失。它需要通过某种可继续使用的形式存在。
本章把这种形式分为结构、规则、表达、操作与检验安排。划分只为分析,不意味着一件工具必须同时拥有五套独立部分。结构能够限制某些使用方式,规则能够规定输入与输出的联系,表达能够保留关键条件,操作能够把差异转换成动作,检验安排能够使错误重新出现。它们共同回答的不是工具“是谁发明的”,而是过去的哪些区分在当前任务中仍然有效。
这个问题还将改变功劳叙事。若只寻找最后一个完成动作的人,历史承接会被抹去;若只歌颂最早的发明者,后来使用与修正对能力形成的作用又会消失。发生学要求把不同时间的工作连接起来,但不把所有贡献混成一团。我们要追踪的是某一项可识别的取舍,怎样经过保存和再使用,改变了当下的判断。
二、一项取舍如何被保留下来
为说明保留的结构,可以构造一个小作坊情境。工匠需要反复把材料加工到某种范围,最初主要依靠逐件比较,后来增加了一件能够显示是否进入范围的量具。第一次使用并不意味着所有问题都解决了:材料变化可能使原有刻度不合适,不同使用者也可能把同一个标记读成不同含义。经过试用,作坊重新安排标记、检查方法和不适用条件。这是一个分析模型,不是对某种真实量具发明史的记载。
在这个过程中,被保留下来的不是每一次讨论的全部内容,而是能够让后来活动继续开展的一组关系。标记与任务要求有何联系,何种读数需要复查,量具状态怎样检查,结果如何交给下一道工作,这些关系可以进入器具与操作规程。后来者只需在适当条件下学会使用,就能承接此前部分比较工作。他得到的不是一份可以任意推广的真理,而是一个相对明确的能力入口。
保留往往意味着淘汰。一种表达过于模糊,被改成能够区分的标记;一种步骤重复耗费精力,却没有提供新的依据,被重新合并;一种表面成功隐藏了条件,被停止使用。但淘汰本身仍需要判断。有些暂时不方便的做法,可能在新任务中重新有用;有些被长期保留的安排,也可能只是因为替代方案没有得到尝试。历史延续能够说明一个方式活了下来,不能单独说明它在所有价值维度上最优。
因此,封装形成的历史中应当保留两类记录:支持继续使用的依据,以及曾经导致限制或修改的条件。只记录成功会使后来者看不见边界,只记录失败又不足以说明什么已经可用。二者结合,才能使历史不只是纪念,而成为当前选择的资源。即使完整史料无法取得,使用者也应区分已知依据与推测来历,不能从眼前好用反推出一条未经证实的完美历史。
三、表达压缩以后,前提去了哪里
把长过程压缩为短名称,是历史判断进入现在的一种重要方式。研究者说“利用这个定理”,编辑说“按这套流程处理”,使用者说“交给这件工具”,都在把一串细节作为一个单位调用。压缩降低了每次活动的展开负担,但也带来风险:名称继续流传,原来支持它的条件却可能逐渐退出视野。
设想一条经验原本表达为“在这些材料、这种负荷和这项任务下,该做法已经表现稳定”,后来被缩成“这个办法可靠”。再往后,使用者只记得一个肯定词,便把它用于完全不同的处境。此时错误可能不是某人误读了一个清楚规则,而是规则在传递中已经失去了边界。责怪最后一位使用者不够谨慎,不足以修复这种历史性丢失。
数学引理把这个问题显示得很清楚。一个结论与其假设共同构成可调用的命题,不能只传递结论而期待使用者自己重建全部前提。在技术领域,相应的问题表现为接口、输入范围和版本;在艺术领域,形式的使用也可能需要理解它与整部作品的关系。但这不意味着不同领域有相同的有效性条件。共同的问题是,压缩到底保留了哪些当前使用不可缺少的区别。
一个好的封装名称因此应当连接到可展开的条件,而不必把全部条件挤在名称本身。名称保持便于调用,依据保持可以追查,改变保持能够通知相关使用者。我们要追求的不是拒绝压缩,而是有条件的压缩。文明若不能压缩已有过程,每一代都被迫从头开始;若压缩后不能找回关键边界,文明积累又会变成错误扩张的通道。
四、教学不是把封装从一个头脑搬到另一个头脑
教学常被描述为把已经形成的知识传给后来者。这个描述指出了传递,却容易遗漏接入。即使教师把全部说明放在学生面前,学生也未必知道它在何时相关、如何改变当前动作、哪里应当重新核验。历史判断要成为当下能力,需要进入学习者实际能够进行的辨别与反馈。保存于文本与参与于活动,不是同一个状态。
以前面的量具模型为例,教师可以只演示合格物品怎样通过检查,也可以同时展示边界案例、误读案例和失效案例。后者不是为了增加恐惧,而是让学生理解这个工具究竟区分什么。一个标记如果从未与不同结果发生联系,就可能只成为需要记住的图案;当它能够改变学习者下一步的操作时,才开始作为判断关系参与活动。
不过,把所有历史失败一次讲完也可能让学习无法进行。教师仍需选择当前阶段应当展开的粒度。初学者先掌握可靠的基本使用,随后在有意义的差异中理解边界,并不等于教育隐瞒了真相。问题在于教学设计是否有返回和深化的路径,而不是第一堂课有没有讲尽全部理论。分层承接同样适用于判断力的传递。
因此,教学本身也是一个封装与拆封相交的过程。教师选择哪些内容可以先作为整体使用,哪些地方必须让学习者亲自经历差异。这个选择需要根据学习目标接受检验:培养熟悉任务中的可靠执行,与培养新任务中的诊断能力,所需展开方式不完全相同。教学判断不是无须说明的个人天赋,它也在人、材料、工具与学习反馈的复合实践中形成。
五、被保留的还可能是偏差与权力
历史判断进入工具,并不保证进入的是值得继续维护的判断。设想一套评价表长期只记录速度,不记录错误修复,也不记录承担者的耗费,那么它所封装的就是一种有侧重的价值取舍。后来者按表工作,会自然地使那些容易被记录的部分显露,而让没有位置的部分继续沉默。工具的稳定性与价值的完整性在这里可能分离。
这种情况无需假定制作者有恶意。最初的任务范围可能确实很窄,后来工具被用于更广的活动;最初便于取得的指标也可能逐渐被当成目标本身。历史性问题可以在没有单个坏人的情况下形成。正因如此,修复不能只靠道德评价某个使用者,而需要重新追查当前标准、任务和后果之间的关系。
同时,谁有资格改变封装也会参与其发展。若一线使用者能够发现缺陷,却无法把反馈送到修改环节,历史判断就可能变成只允许继承、不允许修订的权威。所谓“这是一直沿用的办法”,此时不只是描述时间长短,也可能阻断问题重新出现的路径。本书后来讨论拆封权,正是从这个实际条件出发,而不是抽象赞美不断否定一切。
但可修订也不能被理解为谁都可以任意改变公共依据。一个修改会影响后来多少任务,需要相应范围的复检和说明。开放质疑与有依据的变更必须一起组织。成熟的传递机制既不要求后来者服从不可追问的传统,也不允许一次局部偏好悄悄改变所有人正在依赖的标准。历史判断的公共性,需要与修改过程的可追溯性相配。
六、版本是发生留下的可追踪差异
当一个工具、规则或证明模块改变以后,旧使用者可能仍然依赖旧条件,新使用者却以为大家已经进入同一套安排。若不记录版本差异,讨论会出现一种错觉:双方都说正在使用“同一个东西”,实际上承担判断的结构已经不同。版本的意义不只在编号,而在于使关键改变有明确的前后关系。
一份有用的变更记录应当说明改了什么、为什么改、影响哪类调用、还有哪些限制。它不必成为冗长的全部历史,但应当把当前行动需要的差异保留下来。例如,某项检查增加了一个新的输入条件,依赖这一结果的其他模块就不能继续按旧的无条件表述使用。若只更新正文结论而没有更新相应接口,变化就尚未真正完成回写。
这里能够提出一个具体设计原则:当下游结果依赖某项条件时,条件的变化必须有路径抵达下游判断。至于通过人工通知、自动依赖记录还是重新执行测试来实现,取决于任务本身。我们不把一种技术手段规定为所有领域的唯一办法,但要求这种传播义务不能在封装中消失。否则,封装虽然减少了使用负担,却也扩大了未被察觉的错误影响范围。
版本管理还为反向学习提供机会。某次修改没有带来预期改善,可以重新对照原有条件,检查诊断是否遗漏了其他因素。保留旧版本不是鼓励退回旧错误,而是让变化能够被比较。只有最后答案而没有前后差异,研究者难以知道哪一项修订真正有作用。历史判断因此不仅给当下提供起点,也为当前判断自身的改进提供证据。
一种封装还可能在原来没有预料的用途里重新形成。使用者偶然发现某个标记也能帮助比较另一项差异,并在多次尝试后把它组织成新的操作方式。此时,新能力不能全部归回最初设计者,因为后来的用途并不一定包含在原设计说明中;也不能说它与既有结构毫无关系,因为新发现利用了已经存在的条件。历史承接与当前创造,在这里不是相互排斥的来源。
这要求我们区分设计时的取舍和使用中再次形成的取舍。前一种能够说明工具为什么具有某些结构,后一种能够说明这些结构怎样取得新的任务意义。当前用途经过检验以后,可能需要新的标记、说明或限制,才成为别人能够继续调用的封装。仅仅发现一个偶然可用的动作,还不足以将其推广为成熟能力;从意外效果到可靠使用,中间仍然有一段试用与修订的过程。
例如,在前面的作坊模型里,某个原用于对齐的边缘也许被用来比较另一种尺寸。新的比较是否可靠,取决于该边缘的实际条件与任务要求,不能因为原工具合格就自动得到保证。检查以后,可能把这个用途正式纳入说明,也可能明确禁止如此使用。无论结果是哪一种,判断都发生在既有安排与新任务的相遇中。封装历史因此不是一条只由设计者向使用者单向流动的线,而可能由不同实践之间的反向发现持续改写。
七、一个可检验的历史承接模型
可以把一次封装的传递写成一个简化关系:先前实践形成取舍,取舍经某种载体保存,载体进入当前任务,当前反馈支持或限制其继续使用。这个关系不是关于全部文明史的数学定理,而是要求研究者在具体案例中寻找相应证据。如果找不到某项选择如何形成的资料,就应把形成史标为未知,而不是用理论故事填满空白。
在当前作用层面,可以考察改变载体中的某个相关条件是否使判断不同。若工具的一个结构被称为封装判断,但无论它如何变化都不影响任何任务区分,那么这个称呼就缺少必要支撑。相反,若变化会使某项比较、反馈或修复失去条件,便支持它参与了相关能力的解释。这里仍要区分一般物理影响与有任务意义的判断承接,不能把全部因果关系都算作同一类。
还可以比较保留与删除历史边界信息后的使用。若两组参与者使用相同核心模块,其中一组能查看适用条件与失败记录,另一组只看到成功标签,边界变化任务中的表现可能形成区别。这是一项待实施的研究设计,不是已经得到的实验结果。它能够使“历史承接很重要”变成明确的观察问题:哪些信息在何种任务中值得保留,保留到什么粒度才有效。
本章所提出的文明解释应当因此保持两种尺度。宏观上,工具可以被研究为判断跨时间传递的条件;微观上,每个被称为历史封装的具体机制都需要相应依据。宏观命题不能替代微观查证,微观发现也不能未经论证就扩展为所有工具同样发生。把二者连接起来,才可能写出一部有证据而不是只有比喻的工具发生史。
八、历史进入当下,还要经过对象的回应
到这里,我们看见历史如何被保留,却还没有说明它在当前一定怎样发生。相同工具、相同教学和相同规则,面对不同对象时仍可能显出不同边界。历史保存的是相应条件下可调用的能力,不是未来全部情境的预演。每一次使用都需要对象差异参与其具体实现,否则封装就会被误读为一张无论何时何地都能兑现的承诺。
这也说明,后来者不只是过去判断的接收者。他能够通过当前对象发现前人没有遇到的问题,提出新的取舍,并使封装发生改变。文明的连续性与创造性并不是两条相反道路。没有承接,创造会反复耗费在已经解决的问题上;没有重新发生,承接又可能把新的差异排除在外。历史判断之所以有生命,正在于它可以继续进入不同活动并接受限制。
因此,本书把工具发生史读成封装发展史时,不是把工具写成装满正确答案的容器。它是一部取舍怎样获得支撑、如何被选择性保留、在哪些活动中重新起作用,又怎样因新差异而修订的历史。成品只是这段历史在某一时点的显露,而不是发生过程的终止。使用者不必亲历全部过去,却仍然参与决定什么可以进入未来。
历史的判断来到今天,并不是把一套旧答案原封不动地交给后来者。它提供可以继续使用的起点,也带来需要重新确认的边界。眼前这块冬瓜、当前这个命题,会使旧取舍显出新的适用性或不适用性。由此,工具的历史与对象的当下形成一种相互检验的关系:过去使现在不必从零开始,现在使过去不能免于修订。