会读你的模型的那类系统(Systems that read your model)
2026-08-12 · 适应与演化
前二十五期讲的东西有一个共同的好处:沙子不看你写的论文。从这一期开始,被研究的对象会看——而且看完会改。
某个路口下午五点半堵得最狠,你把这条路拓宽了一条车道。工程做得没问题,通行能力实打实地涨了。半年后再去看:一样堵,只是路上多了一批以前不走这儿的车。
失效的不是工程,是"其他条件不变"这五个字。司机会重新决定走哪条路、几点出门、要不要开车——而这些决定,正是你原来那张流量图的输入。你改的不只是路,还有画那张图所依据的前提。
前面几期的系统有一个共同点:组成部分不知道自己在参与什么。沙粒不会因为上一次雪崩太大而改变倾倒的角度,电网里的一条线路也不会因为上次跳闸太惨而学乖。本期开始的这类系统不一样:它的组成部分自己带着一个关于系统的模型在行动,并且会按结果修改那个模型。这一条差别,足以让前面二十五期的方法在这里部分失效。本期就是把这条线划出来,并说清楚线的两边各能做什么。
先把词说清楚。一个能自己做决定、并且决定会影响别人的东西,叫一个主体(agent):一个司机、一家公司、一只蚂蚁、一个免疫细胞、一段交易程序。由大量主体组成、而且这些主体会按结果改变自己行为规则的系统,叫复杂适应系统(complex adaptive system),学界通常缩写成 CAS——下文也这么用。
这个词的提出者是 John Holland(1929–2015),密歇根大学的计算机科学家,也是圣塔菲研究所最早那批人之一 → 参考 · 圣塔菲研究所。他一辈子在琢磨同一件事:适应到底是怎么发生的,能不能写成一段可以跑起来的程序。
关键不在"主体很聪明"。蚂蚁不聪明,免疫细胞更谈不上。关键在于系统里跑着两个回路,转速差着好几个量级:
快回路是在给定规则下行动——按当前这套习惯选路、报价、出击。慢回路是规则本身在被替换:那些结果好的规则被留下、被复制、被更多主体模仿,结果差的被弃用。物理系统只有快回路,规则永远悬在系统外面,不参与游戏。适应系统把规则也拉进了游戏里。
所以"这个系统会适应"不是一句形容,它是一个可以查证的断言。查法就是问这条慢回路存不存在:候选规则从哪儿来、结果怎么反馈回规则、被淘汰的规则真的会消失吗。三个问题里有一个答不上来,慢回路就是断的,这个系统在你关心的时间尺度上并不适应——哪怕它由人组成。一个被规章焊死、试错要审批半年、错了也没人退出的科层组织,在半年这个尺度上更接近沙堆而不是蚁群。
动手之前先给你面对的系统分类,用上面那三个问题。三个都答不出来 → 按物理系统处理,前面几期的机制(阈值、级联、幂律)可以直接用,模型公开也不会失效。答得出来 → 你发布的任何规则、指标、公开分析,都要预留一段"被适应掉"的时间,而这段时间的长短,是可以估的(第 4 节给估法)。
EN A complex adaptive system (CAS) runs two loops at different speeds: a fast one where agents act under current rules, and a slow one where the rules themselves get replaced by results. Physical systems have only the fast loop — the rules sit outside the game. Whether a system "adapts" is a checkable claim: where do candidate rules come from, how do results feed back to rules, and do losing rules actually die?
Holland 的贡献不是说"系统会适应",而是把适应拆成了三个缺一不可的零件——拆到可以写成代码的程度。他 1975 年那本书里给出的遗传算法(genetic algorithm)就是这三个零件的最小实现 → 参考 · 遗传算法。
一,多样性。手上得同时有好几条互不相同的候选规则。只有一条规则的系统没得可选,无论反馈多准都不会适应——它只会重复。
二,信用分配(credit assignment)。得有办法把"结果好"这件事记到某条具体规则头上。这是三件里最难的,因为回报通常来得晚:下棋赢在第 200 手,功劳该记给第 37 手那步吗?Holland 为此设计过一套叫桶队列(bucket brigade)的机制,让链条上后一环把到手的回报往前一环回传一点,一轮轮传下去,前面那些"看不出好在哪儿"的铺垫动作才慢慢被评上分。
三,复制与重组。得分高的规则被复制得更多,还要能把两条规则的片段拼起来产生新的候选——这样搜索才不只是在原地做微调。
把这三件事摆出来,有一个直接的好处:"这个组织不会学习"从一句抱怨变成了一个可以定位的故障。是没有备选方案(所有人只会一种做法),还是信用分配断了(做完不知道结果,或者好坏都归给同一个人),还是淘汰失灵(错的做法从来没人停掉,只是又加了一条新规定)?三处的修法完全不同,混着谈只会得到"要有学习心态"这种没法执行的结论。
想让一个系统学得快,先量一个数:从做出一个决定,到能看见这个决定的结果,中位数是多少天。这个数就是慢回路的转速上限。它是 90 天,你就别指望季度内能校准任何东西;要提速,只有两条路——把结果的代理信号提前(找一个和最终结果相关、但更早出现的量),或者把决定切小到能更快见分晓。喊口号不改变这个数。
EN Holland decomposed adaptation into three parts: a diverse pool of candidate rules, credit assignment (attributing outcomes to specific rules — his bucket brigade passes reward backwards along a chain), and replication with recombination. Missing any one stops adaptation, and the bottleneck is almost always credit assignment. This turns "this organisation doesn't learn" into a locatable fault with three different repairs.
现在把前两节合起来,得到本期最实用的一条推论。
你观察一个由主体组成的系统,找到了一条稳定的规律,写成模型,然后公开它——比如宣布"我们按人均代码行数考核",或者"失业率低于 4% 时通胀会上来"。这一刻,模型变成了主体们的一个新的回报信号。第 2 节那台机器随即开动:候选规则里,凡是能推高这个信号的都得分,得分高的被复制。几轮之后,规律不再成立。
这就是 Goodhart 定律(Goodhart's law)。1975 年 Charles Goodhart 的原话是:任何被观察到的统计规律,一旦被用于施加管控,就倾向于崩塌。后来广为流传的那句"当一个指标变成目标,它就不再是个好指标"其实是人类学家 Marilyn Strathern 1997 年的转述,比原话更顺口,但也丢掉了原话里最关键的部分——施加管控。规律不是自己坏掉的,是被压力压坏的。
要紧的是它不需要有人作弊。同一年代的经济学里有一个更冷静的版本:1976 年 Robert Lucas 指出,用历史数据拟合出来的政策模型,参数里编码的是人们在旧政策下形成的预期;政策一换,预期跟着换,参数就不再是常数。这叫卢卡斯批判(Lucas critique)。菲利普斯曲线(Phillips curve,1958 年发现的失业率与通胀之间的稳定负相关)在 1970 年代的崩塌就是现成的例子:没有人撒谎,每个企业和工人都只是诚实地把"政府会容忍通胀"这件事算进了自己的定价和要价。诚实的适应,足够摧毁一条规律。
说清机制之后,就能说清它什么时候不发生了。指标之所以会被优化掉,是因为它与真实目标之间有缝,而主体有本事挤进去。所以三种情况下 Goodhart 不成立:指标本身就是目标(不是代理),缝不存在;主体没有可调空间(改不了自己的行为);或者挤进缝里的代价高于收益。这三条也正好是三条设计思路——下一节接着量它。
发布任何一个指标时,同时写下两样东西:一条"能把它做高但对真实目标毫无帮助"的具体路径(写不出来说明你还没想清这个指标是代理还是目标),以及一个复核日期。再配一个不参与考核、只用来观察的对照量,最好由与被考核方无关的来源采集。指标一旦连续考核超过四个季度还没被复核,默认它已经开始失真。
EN Publish a model of a system made of agents and the model becomes a new reward signal inside it; the machinery of section 2 then selects for rules that push the signal. That is Goodhart's law (1975) — "any observed statistical regularity will tend to collapse once pressure is placed upon it for control purposes"; the popular one-liner is Strathern's 1997 rephrasing. The Lucas critique (1976) is the version without cheating: honest adjustment of expectations is enough to break a fitted relationship, as the Phillips curve found in the 1970s.
"复杂适应系统"是这门学科里最容易被拿来当万金油的词。用之前,三条边界必须先摆清楚。
第一,适应不等于变好。第 2 节那台机器只做一件事:把当下回报高的规则留下来。回报由环境定义,而在这类系统里环境主要是别的主体——所以它完全可能把所有人一起推到更差的地方(每个考生多补一年课、每家公司多加一轮班,位次不变、成本翻倍)。"这是个复杂适应系统"因此不预测任何方向,说完这句话你对结果的好坏一无所知。它只告诉你规则会变,不告诉你往哪儿变。
第二,不是所有被建模的对象都会适应,而且这件事可以估。把慢回路拆开看,被适应掉的速度取决于两个可测的量:转一圈要多久(做出改变、看到结果、再改一次的周期),和可调空间有多大(对方能改的东西有多少)。两个量给出一个粗略的保质期。流感病毒抗原变得快、变异空间大,所以流感疫苗每年重配;麻疹病毒抗原稳定、几乎没有可用的漂移空间,所以同一套疫苗用了几十年依然有效。同样一个"病毒会不会逃逸"的问题,答案不在疫苗,在对方。
第三,这个词本身很容易变成空话。说"经济/组织/大脑是一个复杂适应系统",如果接不上"候选规则是什么、信用分配的信号是什么、淘汰机制是什么"这三样,那句话就没有内容——它没有排除任何一种可能,也就不能被证伪。还有一个更隐蔽的问题:物理学里有普适类(第 16 期),不同系统在临界点上真的共享同一组指数,所以结论可以搬家;适应系统没有对应的东西。从蚁群得出的结论不能顺手搬到组织上,因为决定行为的是那三个零件的具体形态,而它们在两边完全不同。
做任何"领先一步"的方案之前,先估一个比值:对方走完一轮"试—看结果—再改"要多久 ÷ 你更新规则要多久。比值大于 1,靠信息差的方案可以做,但要写明预期寿命和退出条件;小于 1,别做——改用不怕被看穿的方案:对齐激励(让对方优化你的指标时真实目标也涨)、改变结构(让钻空子的路径本身不存在)。这两类方案的共同点是,公开出来也不会失效。
EN Three limits. Adaptation optimises current payoff, not welfare, so calling something a CAS predicts no direction. Not everything adapts, and the rate is estimable from two measurable quantities — the length of one try-observe-revise cycle and the size of the adjustable space (influenza antigens versus measles). And unlike critical phenomena, adaptive systems have no universality classes, so conclusions do not transfer between them.
剩下两类。一类是关于结构而不是关于参数的结论:只要慢回路还在跑,某些形态就会反复出现(指标被优化掉、军备竞赛、局部最优的锁定)——这些不会因为被公开而消失,因为知道它们并不能让你逃出去。另一类是对没有可调空间的那些量的预测。真正会失效的,是"在当前规则下 X 与 Y 相关"这种参数型结论。
有,而且历史上做得很多:断掉多样性(只许一种做法)、断掉信用分配(结果不公开、或好坏都归给同一个人)、断掉淘汰(错的做法没人叫停,只加新规定)。这三招都能让一个系统在你关心的尺度上"稳定"下来。代价是环境一变它就没有任何应对能力——你换来的稳定,是把适应能力预支掉了。
不必。Holland 意义上的内部模型可以低到蚂蚁的程度:一条"信息素浓就跟着走"的规则,本身就编码了关于世界的一个预测。要求只是这条规则会因结果而改变,不要求主体知道自己在预测什么。真正被理性假设卡住的是标准经济学模型,不是这里。
不是。没有指标的组织不会因此更诚实,只会把评价交给更不透明的东西(印象、资历、谁声音大)。本期给出的是别的做法:承认指标有保质期,给它写复核日期;配不参与考核的对照量;以及优先选那些"缝很小"的指标——做高它的唯一路径就是真的把事做好。
本期第 4 节给了一个具体答案:物理有普适类,临界指数在毫不相干的系统间真的相同,所以结论可以搬家;适应系统没有这种东西,行为由那三个零件的具体形态决定。搬家搬的其实是词,不是结论。要避免比喻化,最省事的自查就是每次都把三个零件说出来——说不出来,那句话就还没有内容。