卷 VI · 处处是环CH 23深度 23/24

身体、组织与经济

这门学问从蒸汽机来,被高射炮催熟,然后跑去解释了别的一切。这一章走一趟那些地方——不是为了猎奇,而是因为同一套算术在那里同样成立,而且能给出一些用别的语言说不清楚的诊断。最后停在一个所有人都该知道的现象上。

体温 / 血糖 / 央行组织的相位裕度只测得到 A

▷ 先拧一下

你真正在乎的东西由两部分构成:A 占四成,B 占六成。可惜你只有 A 的传感器,B 测不到。

于是你给 A 定了一个目标(0.95,而它现在是 0.5),装了一个反馈环去追。这个环工作得非常好,误差几乎为零。

而现实里,把 A 推上去会挤压 B(推 A 的力度越大,B 掉得越多)。

A 你真正在乎的东西会小幅上升——毕竟 A 涨了那么多 B 基本持平——A 涨的和 B 跌的差不多抵消 C 明显下降,大约跌两成半 D 环会自己发现不对劲,最终稳定在一个折中点上

身体:最老练的控制工程师

人体几乎每一个生理指标都是一个反馈环,而且它们的设计里能读出这本书的每一条经验。

体温是一个整定得极好的环:目标 37°C,被控量是核心体温,控制量有出汗、颤抖、皮肤血管收缩。它的传感器(下丘脑)在血液里而不是皮肤上——因为核心温度才是那个真正要保护的量,而且它变化慢,传感器不需要很快。

而发烧不是这个环坏了,是目标值被改了:免疫系统把设定点从 37 调到 39。这就是为什么发烧初期你会觉得冷、会打寒战——此刻你的体温还是 37,而目标已经是 39,环在拼命加热。「觉得冷」这个感受,报告的是误差,不是温度。

血糖是一个双向的环:胰岛素往下压,胰高血糖素往上顶。它有一个这本书反复强调的特征——延迟。吃下去的东西要几十分钟才推高血糖,注射的胰岛素也要几十分钟才起效。

于是 1 型糖尿病患者面对的,正是第 1 章那个洗澡水龙头:一个长延迟的环,而且他们必须手动闭合它。打多了会低血糖(冲过头),打少了会高血糖。而所谓「人工胰腺」(闭环胰岛素泵)做的事,用这本书的语言说就是:装一个快得多的传感器(连续血糖监测),配一个带前馈的控制器(进餐提前量),让机器代替人去闭这个环。那是一个价值几十亿美元的控制问题。

◆ 这一章的主线

生物系统在延迟很大的环上,几乎从不用大增益——它们用的是本书里那些更聪明的手段:

  • 前馈:看到食物就开始分泌胃酸和胰岛素(头期相),不等血糖真的升上来。
  • 串级:从细胞到器官到系统,每一层管自己那一级的快扰动。
  • 冗余的传感器:多个独立的化学信号互相印证(第 19 章那个「独立信息可加」)。
  • 宽的死区:血糖在一个相当宽的区间内不触发任何调节(第 16 章的回差)——省能量,也避免在噪声上瞎忙。

这些不是巧合。在一个延迟大、噪声大、执行器慢的环上,能活下来的设计就那么几种——生物花了几亿年搜到它们,工程师花了一百年重新推导了一遍。

经济:延迟以季度计的环

央行调利率是一个教科书级的困难控制问题,而它困难的地方正是这本书讲过的每一条:

  • 传感器很慢:通胀数据有一到两个月的发布滞后,而且还会修正。
  • 对象延迟很大:利率变化传导到实体经济,普遍认为要几个季度。
  • 对象模型不确定:传导机制会随金融结构变化。
  • 执行器有饱和:利率降到零就降不动了(第 15 章那个饱和,而且是真的碰到过)。

把第 11 章那条律套上去:这个环的延迟以季度计,所以它能用的力气非常小。这就是为什么央行的行为准则里有那么多「小步慢走」「渐进调整」「前瞻指引」——那不是性格保守,是这个环的延迟预算决定的。

而「前瞻指引」(提前告诉市场未来的政策路径)用这本书的语言说,正是前馈:不等经济数据变化,先把预期这条更快的通道用起来。

顺带一提,「货币政策存在长而多变的时滞」这个观察,米尔顿·弗里德曼在 1960 年代就作为反对相机抉择的核心论据提出过。用本书的话说,他的论点是:这个环的延迟大到相位裕度可能为负,所以主动调节会加剧波动而不是抑制它。这个判断本身仍有争论,但它的形式是纯粹的控制论。

组织:一个没人算过延迟的环

这是最容易被误诊的一类。常见现象和它们的控制论读法:

现象通常的解释控制论的读法
战略反复横跳领导没主见反馈延迟太长,而动作力度按短延迟的直觉在做(第 11 章)
坏消息总是来得太晚下面报喜不报忧传感器有系统性偏差 + 环节太多(第 17、20 章)
新流程刚上就要改朝令夕改没等上一次动作的效果显现就再动手(采样周期 < 环路延迟)
加了一层汇报之后开始晃沟通不畅相位裕度被那一层吃掉了(第 14 章)
各部门都很努力,整体很糟缺乏协同局部最优的串联环,放大相乘(第 21 章)
大促后集体躺平疲惫积分饱和:欠账阶段攒的账要慢慢排(第 15 章)

右边这一列的价值不在于它更「科学」,而在于它指向不同的动作。「领导没主见」的对策是换领导;「反馈延迟太长」的对策是缩短反馈链路——而后者是可以立刻动手的。

只测得到 A

现在到这一章真正的重点。前面所有例子都假设了一件事:你测的那个量,就是你想要的那个量。

而现实里几乎从不成立。你想要的是「用户获得了价值」,你测的是点击率;你想要的是「代码质量好」,你测的是覆盖率;你想要的是「团队健康」,你测的是准时交付率。

# 你以为你装的环:

  你想要的 ──▶ ⊕ ──▶ [ 控制器 ] ──▶ [ 世界 ] ──┬──▶ 你想要的
              ▲(−)                            │
              └──────── 传感器 ◀───────────────┘

# 你实际装的环:

  A 的目标 ──▶ ⊕ ──▶ [ 控制器 ] ──▶ [ 世界 ] ──┬──▶ A(四成)
              ▲(−)                            ├──▶ B(六成,没接线)
              └──────── 只测 A ◀───────────────┘

# 两张图在代码上一模一样。
# 差别只在那条虚线接到了哪根管脚上 —— 而这个差别决定一切。
开始结束变化
A(你测得到,也定了目标 0.95)0.5000.950+90%
B(没人测,但它占六成)0.5000.000−100%
你真正想要的 0.4A + 0.6B0.5000.380−24.0%

请看清楚发生了什么:这个环工作得完美无缺。它被要求把 A 从 0.5 顶到 0.95,它做到了,稳态误差几乎为零,没有超调,没有振荡。从控制的角度,这是一次教科书级的成功。

而你真正在乎的东西跌了 24%。

⟳ 回到那个环

问题不在控制器,在传感器接错了地方。而这件事有一个后果,值得单独写出来:

环越好,这个问题越严重。

一个软弱无力的环(增益小、反应慢)只会把 A 抬高一点点,副作用也小。而一个整定精良、力大无穷的环,会非常高效地把 A 顶到目标——连带把 B 踩得更彻底。

提升执行力,会放大目标设定的错误。这是这本书能给出的、最不像技术结论的一个技术结论。

这个现象在经济学里叫古德哈特定律:「当一个指标成为目标时,它就不再是一个好指标。」通常的解释是「人们会去操纵指标」——而上面这个模型里没有任何人在操纵任何东西,A 和 B 之间的挤压是纯粹的物理耦合。

你不需要有人作弊,就能得到古德哈特定律。你只需要一个测不全的传感器,和一个好用的环。

那怎么办?这本书能给的建议不多,但都很具体:

  1. 多装传感器。如果 B 能测哪怕很粗糙,把它加进目标函数里,情况立刻改善。这是第 19 章那句「独立的信息可以相加」的应用。
  2. 降低增益。在你不确定传感器是否测全的时候,故意不要把环调得太紧。这在控制论里叫鲁棒设计——针对模型的不确定性留余量。而「模型不确定」在这里的含义是:我不确定我测的是不是我要的。
  3. 定期换传感器。如果 B 长期不被测量,它就会长期被牺牲。轮换指标能让被牺牲的对象不固定——这不完美,但比一直踩同一个地方好。
  4. 盯着控制量,不只盯被控量。第 2 章那句话在这里又回来了:阀门开度悄悄从 40% 爬到 85%,是比温度更早的告警。如果为了达成 A,投入的资源在持续攀升,那说明有东西正在被消耗——哪怕你不知道那是什么。
▸ 在现实里

推荐系统优化点击率。点击率是 A,「用户真的获得了价值」是 B。优化得越好,标题党和信息茧房越严重。业界的应对(加入停留时长、多样性、长期留存等多个信号)正是上面第 1 条:多装传感器。

代码覆盖率考核。覆盖率是 A,「测试真的能发现 bug」是 B。而覆盖率高的测试完全可以一个断言都没有。而且注意:这里同样不需要有人故意作弊——一个诚实的人在覆盖率压力下,也会自然地先去写那些容易覆盖、但价值不高的测试。

医院的手术成功率。成功率是 A,「病人整体获益」是 B。公开成功率排名之后,一个可预期的后果是外科医生更倾向于回避高风险病例——而每一个单独的决策都可以是完全负责任的。这个效应在多国的公开数据里都有讨论。

你自己的番茄钟。「今天完成了 12 个番茄」是 A,「今天真的推进了重要的事」是 B。当 A 成为目标,你会自然地挑那些容易切成番茄的任务做。

✗ 这个直觉是错的
古德哈特定律是因为人会钻空子。只要把指标设计得更严密、堵住漏洞,就能避免。 上面那个模型里没有任何智能体,只有两个耦合的物理量和一个 PI 控制器。它照样跌了 24%。只要传感器测不全,且被测的和没测的之间有耦合,这个现象就会出现——不需要任何人有任何动机。

「堵漏洞」这个思路的问题在于它假设漏洞是有限的、可枚举的。而真实情况是:你没测的东西有无穷多个,你不可能一一堵住。每堵一个,环就会找到下一个。

正确的心态不是「设计一个完美的指标」,而是接受「任何指标都是一个不完整的传感器」这个前提,然后按这个前提做设计:

  • 多个相互独立的指标,而不是一个精心设计的指标;
  • 在指标之外保留人的判断作为另一个(噪声大但覆盖广的)传感器;
  • 对着指标用中等的力气,而不是把它顶到极限;
  • 定期问一句「我们测的还是我们要的吗」——这句话本身,就是给这个环补上的一次人工回读。

说到底,这一整章讲的是同一件事:反馈的威力,完全取决于那只眼睛看的是不是对的地方。而这本书从第 2 章开始就在说这句话,只是那时候它听起来还像一句技术建议。

◈ 回读

C明显下降,跌了 24.0%。A 从 0.5 涨到 0.950(+90%),B 从 0.5 掉到 0.000(−100%),而你真正在乎的 0.4A + 0.6B 从 0.500 变成 0.380

而这一切发生的时候,仪表盘上一片绿色:目标 0.95,实际 0.950,误差为零。

A 「A 涨了那么多,总该有点好处」——A 确实涨了 90%,贡献是 0.4 × 0.45 = +0.18。而 B 跌了整整 0.5,贡献是 0.6 × (−0.5) = −0.30权重在哪一边,结果就在哪一边——而你恰好没法测的,就是权重大的那个。这不是巧合:越重要、越综合的东西,通常越难测。 B 「差不多抵消」——只有当 A 和 B 权重相等、且挤压是一比一的时候才抵消。这是一个非常特殊的巧合,没有任何理由指望它。 D 「环会自己发现不对劲」——这是最值得警惕的一个直觉。环没有任何途径知道 B 的存在。它的全部输入就是 A 的读数。一个反馈环永远不会自发地关心它测不到的东西——它在结构上就没有那个能力。唯一能发现这件事的,是环外面的人。

这一章的一句话

一个环只会优化它测得到的东西,而且环越好,优化得越彻底——所以在把它调得更强之前,先花点时间确认那只眼睛看的是不是你要的地方。

最后一章把这本书收成一张能用的自查表:六项体检、一台可以填进你自己参数的诊断台,以及从这里继续往下走的几条岔路。