《好解释》V20 修改说明#
版本定位#
V20 = V19 的结构(课程设计、环境轴、欺诈案例)+ V17 的具体内容(真实史料、能验算的案例)+ 逻辑修正 + 文字减负。
这次对照了 V19 主书、V19 工作手册和修改说明,也读了同目录下的早期版本。deutsch-good-explanation-v17-booklike.md 最后修改于 9 月 12 日,晚于 V19(7 月 19 日),而且案例和史料比 V19 具体得多:V19 走的是抽象化的那条线,V17 走的是具体化的那条线。V20 把两条线合在一起。
| 指标 | V19 | V20 |
|---|---|---|
| 主书汉字 | 约 4.1 万 | 约 6.1 万 |
| 提示框(callout) | 75 | 46 |
| 高亮句 | 47 | 15 |
| “不是……而是”句式 | 66 | 2 |
| 带参考思路的练习 | 0 | 10 |
| 真实的例子 | 0 | 10(Deutsch 四季、Snow、Semmelweis、Popper 与 Adler、Fischhoff 与 Beyth;第四轮新增聪明的汉斯、N 射线、挑战者号、Knight Capital、天气预报员的校准) |
篇幅增加主要来自三处:案例里补回的数字和推理、十个真实的例子、十道练习。
一、对 V19 的评审#
1. 逻辑的完整度#
“三种完成状态”混了两类问题。 “路径完整”和“机制获得支持”说的是解释做到了哪一步;“决策充分”说的是证据够不够支持某个动作。V19 把三者放在一张表里当作三选一,案例里却又写成“机制获得支持 + 决策充分”。V20 改成分开问两个问题,并且规定“决策充分”必须针对一个写明范围的动作(同一组证据可以支持 5% 灰度,却不支持全量)。
第四章把后面的工具提前讲了一遍,后面又讲一遍。 “换时间窗口、换渠道、换测量来源、负对照、中间过程”这组问题,在第四章和第七章几乎逐字重复;“环境 × 行动偏好”表在第四章和第八章各有一张;有效期模板在第四章和第十章各有一份。V20 的第四章只讲环境和目标,工具各归其章。
增长案例的核心数字没有算完。 周注册 1,000 → 1,650、付费率 10% → 5%,意味着每周付费账户从约 100 个降到约 82 个。V19 没有指出这一点,标题“收入为什么没有跟上”也低估了问题:不是没跟上,是变少了。
增长案例的时间线对不上。 决策问题是“下季度获客投入要不要翻倍”,预算三周后就要定;V19 却在一项约四个月的试验结束后,才写“不批准翻倍”。V20 把两个决定分开:获客按现有证据算账,用分区加投购买边际成本的信息;产品试验服务于另一个决定。
欺诈案例的数字没有对账。 关系模式覆盖约 58% 的损失、账户接管约占三分之一的案例、损失是基线的三倍,这三个数字之间的关系没有交代。对照规则“长期账户 + 新设备”与“多数案例没有设备或会话变化”矛盾。决策表写“高置信”,但文中没有给出模式的精度。
欺诈案例的前瞻验证不能区分机制。 对被标记的交易加摩擦后损失下降,这是摩擦本身的效果,不论机制是什么都会发生。V20 换成一个有区分力的检验:如果是协调行动,二次确认的失败应当成批出现在同一个关系簇和同一个时间窗口;如果是零散的正常用户,失败应当分散。
同一个词有两个意思。
- “模型”既指候选解释(主模型、模型 A/B),又指机器学习的风险评分模型(“新风控模型发生了回归”)。V20 用“解释”指前者,用“评分模型”指后者。
- “探针”是本书的术语,又出现在“合成探针”(合成监控)里。V20 改为“合成监控”。
- “环境”既指环境轴(封闭 / 开放 / 对抗),又指第十四章的讨论氛围(真相导向的环境、对抗环境)。V20 在第十四章用“场合”。
较小的问题。 序说“十分钟后”,第十一章说“五分钟后”;第二章把“本书后面的结构都建立在这张表上”的四层表放在折叠的“第二阅读层”里;第七章有一个空标题;第十章中间多一条分隔线;五步回看漏了“决策”这一步;第三章正文说流失集中在“引导中段”,表格写“第二步”。
2. 对现实决策和判断力的帮助#
V19 的框架本身是有用的:解释、证据、决策、治理分层;强敌要同样具体;差异化预期;在几种解释下都合理的动作;独立的停止权。缺的是把框架落到数字上的示范,以及几条直接影响判断质量的规则。V20 补了这些:
- 把账算到底。 获客成本、首年毛利、边际成本(第十二章);连接池处理能力、超时、灰度流量(第十一章);关系模式的精度和误伤(第十三章)。判断力很大一部分来自这种算账习惯。
- 信息要在决定之前到达才有价值(第八章)。先写每个决定的最晚时间,再看每项信息何时能到。
- 小规模测不出总量才出现的问题(第九章)。5% 灰度测不出连接池饱和;多投 30% 的边际成本推不到翻倍。这一条把事故案例和增长案例连了起来。
- 行动强度跟着精度走(第十三章)。被标记的订单九成是正常用户,所以只能用二次确认、推迟发货这类轻摩擦,不能封号。
- 可撤回性决定能用多宽的不确定性去行动(第十二章)。置信区间包含低于门槛的值,仍然保留协作引导,因为它随时可以撤回;同样的证据不够支持重组销售团队。
- 没有出现的现象也是证据;基础比率决定起点(第七章)。
- 校准自己的把握(第十章、工作手册第七部分)。事前写下几成把握,积累二三十条后按档对照。
另外,V19 每章只有问题、没有参考答案,自学时无法检查自己。V20 每章加了一道情境练习,参考思路默认折叠。
3. 例子的详细程度与可靠程度#
尾延迟事故。 V19 的版本是抽象的(“报价服务”“另一个调用方的共享连接等待上升”),读者无法验算,也就看不到 hard-to-vary 在工程里的样子。V20 采用 V17 的具体版本:连接池 200 个连接 × 每次 0.4 秒 ≈ 每秒 500 次;秒杀时每秒 5,000 次结账 × 11% 未命中 ≈ 550 次,超过上限;唯一起作用的超时是 12 秒,对上 p99 的 11.8 秒;结账服务是异步 I/O,解释了中位数为什么几乎不变;灰度为什么没有发现;恢复到 25% 时暴露的第二条机制(缓存值从 1 KB 变成约 50 KB,热点分片带宽接近上限)。第十一章新增一节,逐条说明这条解释里的每个数字怎样被另一项观察核对。
V17 的版本里有一处算术矛盾,V20 已修正:V17 写整体命中率 97% → 95%、购物车路径仍是 97%;按这个比例,购物车自己的未命中就会占掉大半个连接池,与“平日不会打满”矛盾。V20 改为购物车路径命中率 99% 以上,其余数字随之对齐。
注册与付费。 V17 按全部注册的付费率算获客成本,偏乐观;钱只花在广告渠道,而广告渠道改版后的付费率只有 4%。V20 按广告渠道重算:每个付费账户约 6,500 元,首年毛利约 6,400 元,大约打平。最终决定也从“维持原规模”改为“全部区域加投 30%,翻倍暂缓”,因为分区加投的证据覆盖的正好是 30% 这个幅度。
协同欺诈。 场景改为“以自己名义对外收款的数字商品平台”,这样拒付损失由平台承担,逻辑才通。V19 写“已经成熟的拒付”覆盖连续十二天,但正式拒付通常要几周;V20 改为“发卡行欺诈通报和客户申诉在几天到两周内出现,正式拒付还要几周”。“即时发货资格放宽”从一句带过,改成一个可检验的触发器(损失账户中约四分之三是新获资格的)。精度、对账和前瞻验证见上一节。
历史例子。 恢复了 V17 里的 Snow、Semmelweis、Popper 与 Adler、Fischhoff 与 Beyth、Goodhart 与 Strathern,并逐项核对了出处。改了三处:
- Semmelweis 1848 年第二病区的死亡率,各来源写法不一(1.30% 或 1.33%),改为“约 1.3%”。
- V17 说 Snow 的部分数字是“按前几周的比例推算”的,找不到出处,删去。Snow 的助手(John Joseph Whiting)、缴费单据和硝酸银测盐分,都能找到出处,保留。
- Fischhoff 与 Beyth 的实验,“参与者是学生”和“题目包括尼克松会不会见毛泽东”两处无法从原文核实,删去;补上原文的一个细节:回忆偏差针对的是参与者“认为已经发生”的事。
第一章的延伸力例子,从牛顿换成 Deutsch 本人在书里用的例子:地轴倾斜的解释不加修改,就说明了南北半球季节相反、热带没有明显四季、极地有午夜太阳。
练习里的情境(续约率、短期融资审批、定价页锚点、远程办公与离职、手续费与流失、风控规则扩量、推送频率)都是虚构的,只用于练习。
4. 可读性与 AI 味#
V19 读起来像 AI 写的,主要原因在形式:75 个提示框、47 句高亮、66 个“不是……而是”对举句,加上大量英文术语(causal trace、conditional invariance、trace-complete、Pattern、tradeoff、Fraud),读起来像一份被格式化过的讲义。
V20 的做法:
- 删掉大部分高亮金句和强调用的提示框;保留每章开头的“本章要回答”、章末练习和几处必要的警示。
- 对举句改成直接陈述,只在确实需要对比时保留(例如“停止权交给值班负责人,而不是发布负责人”)。
- 英文术语改用中文,英文只在术语表出现一次;“漂移触发器”改为“复核条件”。
- 去掉用比喻说明事实的句子:“证据知道该接到哪里”“被观察卡住”“指标吞掉方法”“更漂亮的解释”等,改成字面说法。
- 通读全文,删去多余的逗号和“的”。
保留的形式:墙纸 / 承重件、摊牌、入账这些全书有意使用的命名;Obsidian 的 callout、表格、Mermaid、代码块、块锚点和内部链接。
按你的写作规则做的第二轮修改#
在第一轮之后,又按你给的写作规则通读了一遍主书和工作手册:
- 删去为了衬托结论而虚构的对立说法。例如“软件系统的特别之处,不在于它一定简单”,改为“软件系统并不简单:……软件的便利在认识上:……”。保留下来的对比句,对比的都是材料里真实出现过的做法(例如序里那句“新功能就是根因”,或者团队确实考虑过、后来放弃的按国家封禁)。
- 去掉自问自答和反问。第十一章“为什么变慢的是尾部?因为……”四条改成陈述句;结语里那串“我们愿不愿意……?”改成直接列出要做的事和它的代价。书里作为方法工具的问题(例如“四个承重问题”“六个寻找方向”)保留,因为它们是读者实际要去问的问题。
- 去掉预告评价的引导语:“更能说明问题的是”“理由很简单”“结果出人意料”“要紧的是”“其实”“恰恰”“真正的”等。
- 对仗式的金句改成完整的句子。例如“治疗可以同时切断几条路径,诊断要尽量一次只改一个环节”,改为“用来治疗的动作,可以同时切断几条路径;用来诊断的探针,最好一次只改变一个环节,这样才知道结果对应哪一条关系”。
- 结语不再以一句断语结束,最后一句是评价一个判断系统的具体标准。
- 表格里过度压缩的短语展开成完整说法,例如“被削弱,批次少”改为“作为主要解释被削弱;只有三个周批次”。
章节标题也按同样的规则改了。如果你更喜欢原来的标题,可以按下表恢复:
| 章 | V19 / V20 初稿 | V20 |
|---|---|---|
| 第一章 | 故事会追随事实,解释会约束事实 | 讲通已经发生的事,还不够 |
| 第二章 | hard-to-vary 不是一枚真理印章:解释、证据和行动不是一回事 | hard-to-vary 只是第一道检查:解释、证据和行动要分开判断 |
| 第四章 | 当世界不会像代码一样配合你 | 环境决定解释能做到哪一步 |
| 第六章 | 立敌:真正的竞争解释会改变下一步 | 立敌:竞争解释要能改变下一步 |
| 第七章 | 摊牌:证据不是一张赞成票 | 摊牌:找出能区分几个解释的观察 |
| 第八章 | 决策:知识不会自动变成决定 | 决策:把判断变成有边界的行动 |
| 第十章 | 入账:让结果改变判断,而不是改写记忆 | 入账:把结果写回原来的判断 |
| 第十三章 | 真正的攻击藏在单笔交易之外 | 单看每一笔交易,都看不出攻击 |
| 第十四章 | 一份共同记录,比十份模板更有用 | 团队共用一份判断记录 |
| 结语 | 给错误一个位置,也给它改变行动的权力 | 让不利的信息能够改变行动 |
第三轮修改:框架调整#
这一轮根据对框架本身的评审,改了四处,并补了一段理论说明。
| 问题 | 原来的写法 | 现在的写法 | 改动的位置 |
|---|---|---|---|
| 决策的位置 | “摊牌和试探之间,还要做一次决策”,只用来决定试探的规模。这和第八章的“先止损或升级”、第十一章先关功能、第十二章两个时限不同的决定对不上 | 决策是和五个动作并行的一条线:每到一个决定的最晚时间,或者某种损失变得承受不起时,做一次;第一次可能在定题之前;选中的信息动作交给试探 | 如何读这本书、全书地图、第三部标题、第八章开头与要点、第九章开头、三个案例的回看小节、第十四章的评审顺序、术语“决策线”;工作手册的五步表、五分钟卡、案例记录、主持脚本 |
| 环境的维度 | “一条环境轴”,外加一个例外“混合” | 两个问题:系统能封闭到什么程度;参与者会不会调整做法,是否针对我们。四种环境是两个回答的组合 | 全书地图、第四章开头与要点、第四章练习的参考思路(交易监控规则改判为混合)、案例难度地图、第十四章的记录模板、术语“环境的两个问题”;工作手册的环境判断和各处模板 |
| 立敌缺少来源 | 只给了强敌的标准,没有给找对手的方法 | 新增“对手从哪里来”:测量、同一时间的其他变化、共用的资源和上游、构成的变化、参与者的调整、事前验尸 | 第六章新增一节和一条要点、术语“事前验尸”;工作手册的五步表、五分钟卡、案例记录、主持脚本、练习 6 |
| 没有异常时的入口 | 五个动作默认从一个已经出现的现象开始 | 没有现象可解释的决定,把它依赖的判断写成一句能在某个日期被证明是错的话,再走五步 | 第五章新增一节(附自动对账功能的例子)和一条要点、全书地图;工作手册的五步表、五分钟卡、案例记录 |
课程网页同步修改:第 0 课的课程地图改成“五个动作和一条决策线”,并可以按第十一章的事故分步走一遍;第 4 课的环境图按两个问题分组,加了“混合”区域和练习题;第 5 课加了没有异常时的入口;第 6 课加了“逐项检查对手的来源”的练习;第 8、9 课说明决策线和试探的关系;结课判断卡的第 1、2、2′、3、5 格同步更新。
理论说明:第二章“思想传统”的折叠段原来写的是 Deutsch 和贝叶斯方法之间“有真实的张力”。现在写得更准确:比较几个具体解释时,两者的要求大体一致,一个能容纳任何结果的解释,在似然比上赢不了事先给出具体预言的解释;分歧只在能不能给解释本身打概率。技术旁注补了这一段,并引了 MacKay 的书第 28 章。全书地图新增一段,说明五个动作的顺序和 Chamberlin(1890)、Platt(1964)、Kepner 与 Tregoe(1965)的方法一致;这几篇文献和 Klein 的事前验尸一起加进了延伸阅读。
第四轮修改:补充真实的例子#
对例子的评审结论:三个贯穿案例的数字前后一致,各自练一种环境,保留。缺口有两个。一是三个案例都是为讲清方法而设计的,调查开始以后,没有人按错误的解释采取过代价高的动作,读者看不到错误的代价。二是历史例子都是“当时的少数派后来被证明正确”,容易让人以为细节具体、又和主流对立的解释更可能对。这一轮补了五个有公开记录的真实例子:
| 例子 | 放在哪里 | 用来说明什么 | 主要出处 |
|---|---|---|---|
| 聪明的汉斯(1907) | 第五章“仪表和世界要分开” | 观察的人也是仪表的一部分;只回答一个问题的检验(马看得见提问的人时 56 题答对 50 题,看不见时 35 题答对 2 题) | Pfungst 1907 |
| N 射线(1903 至 1904) | 第五章;第二章加了一句提示 | 具体不等于正确;让观察的人不知道条件(Wood 在暗室里悄悄取走棱镜) | Wood 1904,Nature |
| 挑战者号(1986) | 第七章“没有出现的现象也是证据”;第八章“承受不起的损失” | 没有出问题的 16 次发射,才是有区分力的观察;举证责任被倒过来以后,不足的数据被当成了发射的理由 | 总统调查委员会报告(1986);Tufte(1997);Dalal 等(1989);Vaughan(1996) |
| Knight Capital(2012) | 第八章新增“止损动作也要对照解释” | 回滚只在“新代码有问题”这个解释下安全;在真实的机制下,它让损失扩大 | 美国证券交易委员会处罚决定 34-70694(2013) |
| 天气预报员的校准(1977) | 第十章“写下事前的把握” | 校准可以练出来,前提是事前写下概率、很快知道结果 | Murphy 与 Winkler(1977) |
各章的要点和延伸阅读同步补充。工作手册同步:五分钟卡和案例记录加了“止损或回滚之前,对照每个候选解释检查”“盲检”“举证责任在哪一方”;坏填法第 4 条加了“先回滚再说”;判断账本加了缩短反馈时间的说明;决策备忘加了一行“承受不起的损失,以及举证责任在哪一方”。
课程网页同步:第 0 课说明日食只用来讲定义;第 5 课新增“聪明的汉斯”小实验;第 7 课新增挑战者号的数据图,可以在“只看出过问题的发射”和“看全部发射”之间切换;第 8 课新增 Knight Capital 的止损对照实验;第 9、10 课补了对应的文字,第 5、7、8 课的练习各加了一道题。
这一轮没有做的改动:把“注册与付费”改成金融科技里的自助开户。它会让读者面变窄,案例里的数字也要全部重新设计。
第五轮修改:发布前的核对#
发布到网站之前,又核对了一遍主书、工作手册和课程网页里的数字、史料和练习题。史料部分(聪明的汉斯、N 射线、挑战者号、Knight Capital、Snow、Semmelweis、Popper 与 Adler、Fischhoff 与 Beyth、天气预报员的校准、Goodhart 与 Strathern)和 2035 年北京日全食的说法都对得上,没有改动。练习题的参考答案逐题检查过,答案本身没有错。改了下面几处:
| 位置 | 原来的写法 | 问题 | 现在的写法 |
|---|---|---|---|
| 第六章、第十一章;课程第 6 课练习、第 11 课 | 秒杀是调节变量:“同样的未命中率,平时打不满连接池” | 第十一章后文给出的晚高峰是每秒约 6,000 次结账,按 11% 的未命中率粗算约 680 次网关调用,没有秒杀也超过 500 次的上限 | 改为“平日的这个时段打不满”;第十一章补一句:秒杀决定的是事故在什么时候发生,功能一直全量开着,晚高峰同样会出事 |
| 第十二章、工作手册样例二、课程第 12 课 | 十个周批次成熟后,按九十天口径每个付费账户约 4,600 元 | 和同一段的边际成本对不上:新增注册贵约二成、付款率和平均相当,边际成本约 5,700 元(260 × 1.2 ÷ 5.5%),对应的平均成本约 4,700 元(260 ÷ 5.5%) | 改为约 4,700 元 |
| 工作手册第四部分开头 | 三份样例对应相对可封闭、开放适应和对抗适应的环境 | 主书已经把欺诈案例改判为混合环境 | 改为“混合(对手在针对规则调整)” |
| 工作手册第五部分结尾 | 七个较好的版本 | 第 4 条有两组例子,较好的版本一共八个 | 改为“这些较好的版本” |
| 课程第 7 课的挑战者号图和练习 | 19°C 以下的 4 次每一次都受损 | 没有受损的发射里最冷的一次约 18.9°C(66°F),也在 19°C 以下 | 改为 18°C 以下 |
| 课程第 0 课的日食实验 | 两百公里外的镇子只看到太阳缺了一角 | 按实验自己的几何关系,离中心线 200 公里时太阳仍被遮住约 95%,只缺一角要到两千多公里以外 | 改为两千多公里外的城市,并请读者拖到 100、1,000、2,500 公里对照;“日食只持续了几分钟”改为“天完全黑下来只有几分钟” |
| 课程第 9 课的排队模拟 | 超时作用于全部结账请求 | “修复以后,晚高峰全量”这个场景因此显示 p99 只有 0.3 秒、超时比例约 38% | 超时只作用于没有命中、要调用网关的请求;修复后 p99 约 1.2 秒,约 3% 的请求这一次不显示日期。事故场景的结果不变 |
| 课程第 8 课的信息时间线 | 季度中途追加预算的决定放在第 10 周 | 分区加投账户的四十二天付款第 13 周才到 | 移到第 14 周 |
| 课程第 8 课的决策实验 | A 几乎确定或几乎不可能时,直接行动更好 | 勾选“承受不起”以后,A 再可能,先复核一周仍然是期望损失最小的选项 | 写明两个分界:A 低于约 5% 时直接维持现状;不设“承受不起”、A 高于约 87% 时直接推全量 |
| 课程侧栏 | 在 Obsidian 里打开这本书 | 链接指向本机的 Obsidian 库,网站访客打不开 | 删去;侧栏改为链接到网站上的主书和工作手册 |
| 课程正文 | “第十一章”“第十二章”和“第十一课”“第十二课”混用 | 同一个按钮和正文说法不一 | 课程里统一写“第几课” |
二、结构变化#
| V19 | V20 |
|---|---|
| 如何把这本书当成一门课 | 增加六周课程安排;说明练习与参考思路怎样用 |
| 全书地图:五个动作,两条轴 | 五个动作,一条决策线,两个环境问题;新增“三个贯穿全书的例子” |
| 第二章(四层表折叠在第二阅读层) | 四层表放回正文;思想传统的张力作为可折叠的延伸 |
| 第四章(环境 + 六项开放世界工具 + 四组取舍 + 决策偏好表) | 只讲环境、有条件的 hard-to-vary 和两个问题;工具分到第五、七、八、九、十章 |
| 第八章 知识不会自动变成决定 | 第八章 决策:……;新增“信息要在决定之前到达”,吸收环境偏好表和四组取舍 |
| 第九章 好的探针只回答一个关键问题 | 第九章 试探:……;新增“便宜的探针先做”“小规模测不出总量问题”、Semmelweis |
| 第十章 入账 | 新增 Fischhoff 实验、账本纪律、“写下事前的把握” |
| 第十二章 注册增加了,收入为什么没有跟上 | 第十二章 注册多了六成,付费账户反而少了 |
| 用五步回看本案 | 改为“用五个动作和决策线回看本案”;决策单列为最后一行,按时间写 |
工作手册同步:决策从五步主循环里拿出来,单列为一条决策线;五分钟判断卡加入“每个决定的最晚时间”“基础比率”“事前把握”;案例记录加入“便宜的检查”“事前门槛”“是否只在总量之上出现”“事前把握对照”;三份填写样例与主书的新数字对齐;判断账本加入按档校准的示例;决策备忘加入“信息何时到达”和“证据覆盖的幅度”。
三、需要你决定或补做的事#
- 图 1 的中栏。 图中把“细节一改,解释就不再成立”标为“坏解释(一)”,但这恰好是 hard-to-vary 的特征,读者容易被误导。V20 在图下加了一段说明,把中栏解释为“同一类结构遇到一项对不上的事实”。建议重画这一栏,标题改成类似“好结构遇到一项对不上的事实”。网站上的阅读页已经用 SVG 重画了这张图,中栏标题用的就是这个写法;Markdown 源文件里仍是原来的图片引用。
- 篇幅。 主书比 V19 长约五成。如果想要一个更短的通读版,可以把第十一至十三章移到单独的案例册,主书只保留章内的贯穿案例片段。
- PDF。 这次没有生成带目录的 PDF,需要在 Obsidian 里重新导出。
- 虚构数字。 三个案例里的业务数字(获客成本、欺诈精度、连接池参数等)是为教学设定、并且互相对过账的,不代表任何真实公司的数据。