TOPIC 26 · PHASE E

复杂适应系统COMPLEX ADAPTIVE SYSTEMS

会读你的模型的那类系统(Systems that read your model)

2026-08-12 · 适应与演化

前二十五期讲的东西有一个共同的好处:沙子不看你写的论文。从这一期开始,被研究的对象会看——而且看完会改。

某个路口下午五点半堵得最狠,你把这条路拓宽了一条车道。工程做得没问题,通行能力实打实地涨了。半年后再去看:一样堵,只是路上多了一批以前不走这儿的车。

失效的不是工程,是"其他条件不变"这五个字。司机会重新决定走哪条路、几点出门、要不要开车——而这些决定,正是你原来那张流量图的输入。你改的不只是路,还有画那张图所依据的前提。

前面几期的系统有一个共同点:组成部分不知道自己在参与什么。沙粒不会因为上一次雪崩太大而改变倾倒的角度,电网里的一条线路也不会因为上次跳闸太惨而学乖。本期开始的这类系统不一样:它的组成部分自己带着一个关于系统的模型在行动,并且会按结果修改那个模型。这一条差别,足以让前面二十五期的方法在这里部分失效。本期就是把这条线划出来,并说清楚线的两边各能做什么。

01沙子不会学,人会(Where the Ground Shifts)

先把词说清楚。一个能自己做决定、并且决定会影响别人的东西,叫一个主体(agent):一个司机、一家公司、一只蚂蚁、一个免疫细胞、一段交易程序。由大量主体组成、而且这些主体会按结果改变自己行为规则的系统,叫复杂适应系统(complex adaptive system),学界通常缩写成 CAS——下文也这么用。

这个词的提出者是 John Holland(1929–2015),密歇根大学的计算机科学家,也是圣塔菲研究所最早那批人之一 → 参考 · 圣塔菲研究所。他一辈子在琢磨同一件事:适应到底是怎么发生的,能不能写成一段可以跑起来的程序。

关键不在"主体很聪明"。蚂蚁不聪明,免疫细胞更谈不上。关键在于系统里跑着两个回路,转速差着好几个量级:

快回路是在给定规则下行动——按当前这套习惯选路、报价、出击。慢回路是规则本身在被替换:那些结果好的规则被留下、被复制、被更多主体模仿,结果差的被弃用。物理系统只有快回路,规则永远悬在系统外面,不参与游戏。适应系统把规则也拉进了游戏里。

差别只有一条线 物理系统 规则(写死的) 此刻的状态 下一刻的状态 沙粒不会因为上次崩得大而改倾倒角度 适应系统 一池子候选规则 主体此刻的行为 结果好不好 按结果改写规则 司机会因为上次堵得狠而换路线 右边多出的那条铜色回路,就是本期全部的内容
快回路(往下)在所有系统里都有;慢回路(往上那条)只有适应系统才有。前二十五期的方法默认它不存在。

所以"这个系统会适应"不是一句形容,它是一个可以查证的断言。查法就是问这条慢回路存不存在:候选规则从哪儿来、结果怎么反馈回规则、被淘汰的规则真的会消失吗。三个问题里有一个答不上来,慢回路就是断的,这个系统在你关心的时间尺度上并不适应——哪怕它由人组成。一个被规章焊死、试错要审批半年、错了也没人退出的科层组织,在半年这个尺度上更接近沙堆而不是蚁群。

🎯 决策线

动手之前先给你面对的系统分类,用上面那三个问题。三个都答不出来 → 按物理系统处理,前面几期的机制(阈值、级联、幂律)可以直接用,模型公开也不会失效。答得出来 → 你发布的任何规则、指标、公开分析,都要预留一段"被适应掉"的时间,而这段时间的长短,是可以估的(第 4 节给估法)。

🌀 经济与制度 · 拓宽的路为什么还是堵 Duranton 与 Turner 2011 年在《美国经济评论》上比对了美国各城市的车道里程与行驶里程,得到一个近乎 1 的弹性:车道每增加 1%,行驶总里程也涨约 1%,拥堵回到原点。这不是工程失败,正是慢回路在跑——通勤者按结果改写了自己"走哪条、几点走、开不开车"的规则。推论很扎人:一切以"其他条件不变"为前提算出来的收益,在有慢回路的系统里都是上限,不是预期值。

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?

02适应的最小配方(The Minimum Recipe for Adaptation)

Holland 的贡献不是说"系统会适应",而是把适应拆成了三个缺一不可的零件——拆到可以写成代码的程度。他 1975 年那本书里给出的遗传算法(genetic algorithm)就是这三个零件的最小实现 → 参考 · 遗传算法

一,多样性。手上得同时有好几条互不相同的候选规则。只有一条规则的系统没得可选,无论反馈多准都不会适应——它只会重复。

二,信用分配(credit assignment)。得有办法把"结果好"这件事记到某条具体规则头上。这是三件里最难的,因为回报通常来得晚:下棋赢在第 200 手,功劳该记给第 37 手那步吗?Holland 为此设计过一套叫桶队列(bucket brigade)的机制,让链条上后一环把到手的回报往前一环回传一点,一轮轮传下去,前面那些"看不出好在哪儿"的铺垫动作才慢慢被评上分。

三,复制与重组。得分高的规则被复制得更多,还要能把两条规则的片段拼起来产生新的候选——这样搜索才不只是在原地做微调。

三个零件缺一不可 — 缺哪个,系统就在哪儿卡住 ① 多样的候选规则 没有备选=不会适应 ② 把结果记到规则上 信用分配 · 最难的一环 ③ 复制并重组赢家 输的那些必须真的消失 新一代候选规则 难在哪儿:回报在末端,功劳记给谁? 第 1 步 第 2 步 第 37 步 …… 第 200 步:赢了 回报一环一环往前传,前面的铺垫才可能被评上分 链条越长、噪声越大,功劳就越可能记错人 —— 于是学到的是错的规则
三个零件构成一个循环。多样性和淘汰是硬条件,而系统学得快不快,几乎总是卡在中间那一环。

把这三件事摆出来,有一个直接的好处:"这个组织不会学习"从一句抱怨变成了一个可以定位的故障。是没有备选方案(所有人只会一种做法),还是信用分配断了(做完不知道结果,或者好坏都归给同一个人),还是淘汰失灵(错的做法从来没人停掉,只是又加了一条新规定)?三处的修法完全不同,混着谈只会得到"要有学习心态"这种没法执行的结论。

🎯 决策线

想让一个系统学得快,先量一个数:从做出一个决定,到能看见这个决定的结果,中位数是多少天。这个数就是慢回路的转速上限。它是 90 天,你就别指望季度内能校准任何东西;要提速,只有两条路——把结果的代理信号提前(找一个和最终结果相关、但更早出现的量),或者把决定切小到能更快见分晓。喊口号不改变这个数。

🌀 工程与技术史 · 机器为什么先学会了围棋 AlphaGo 这类系统的核心零件之一,正是把终局的胜负一步步分配回中盘每一手的信号;强化学习里管这个叫时序信用分配,Holland 的桶队列是这条线上的早期方案。于是"哪些事机器先学会"就有了一个不靠直觉的判据:不取决于任务看起来多难,取决于有没有办法把最终结果拆回中间步骤。围棋难,但终局黑白分明、可以自我对弈千万局;"这篇文章写得好不好"简单得多,却没有清晰终局、也没有可回传的分数——难的先被攻克,容易的反而卡着,原因全在中间那一环。

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.

03模型一旦公开,就改变了它描述的东西(When the Model Joins the System)

现在把前两节合起来,得到本期最实用的一条推论。

你观察一个由主体组成的系统,找到了一条稳定的规律,写成模型,然后公开它——比如宣布"我们按人均代码行数考核",或者"失业率低于 4% 时通胀会上来"。这一刻,模型变成了主体们的一个新的回报信号。第 2 节那台机器随即开动:候选规则里,凡是能推高这个信号的都得分,得分高的被复制。几轮之后,规律不再成立。

这就是 Goodhart 定律(Goodhart's law)。1975 年 Charles Goodhart 的原话是:任何被观察到的统计规律,一旦被用于施加管控,就倾向于崩塌。后来广为流传的那句"当一个指标变成目标,它就不再是个好指标"其实是人类学家 Marilyn Strathern 1997 年的转述,比原话更顺口,但也丢掉了原话里最关键的部分——施加管控。规律不是自己坏掉的,是被压力压坏的。

要紧的是它不需要有人作弊。同一年代的经济学里有一个更冷静的版本:1976 年 Robert Lucas 指出,用历史数据拟合出来的政策模型,参数里编码的是人们在旧政策下形成的预期;政策一换,预期跟着换,参数就不再是常数。这叫卢卡斯批判(Lucas critique)。菲利普斯曲线(Phillips curve,1958 年发现的失业率与通胀之间的稳定负相关)在 1970 年代的崩塌就是现成的例子:没有人撒谎,每个企业和工人都只是诚实地把"政府会容忍通胀"这件事算进了自己的定价和要价。诚实的适应,足够摧毁一条规律。

相关性不是自己断的,是被优化掉的 时间 → 水平 写进考核的那天 真实目标 指标读数 这段缝=被优化掉的部分 施压之前,两者确实一起动 指标只是目标的代理,两者之间总有缝;施压之后,候选规则会挤进这条缝里
指标从来只是目标的代理。施压之前它们并肩走,施压之后走的是缝——而报表上你只看得见铜色那条。

说清机制之后,就能说清它什么时候不发生了。指标之所以会被优化掉,是因为它与真实目标之间有缝,而主体有本事挤进去。所以三种情况下 Goodhart 不成立:指标本身就是目标(不是代理),缝不存在;主体没有可调空间(改不了自己的行为);或者挤进缝里的代价高于收益。这三条也正好是三条设计思路——下一节接着量它。

🎯 决策线

发布任何一个指标时,同时写下两样东西:一条"能把它做高但对真实目标毫无帮助"的具体路径(写不出来说明你还没想清这个指标是代理还是目标),以及一个复核日期。再配一个不参与考核、只用来观察的对照量,最好由与被考核方无关的来源采集。指标一旦连续考核超过四个季度还没被复核,默认它已经开始失真。

🌀 历史 · 河内的老鼠尾巴 1902 年,法国殖民当局在河内按尾巴数量悬赏灭鼠,随后在下水道里发现了大量被割掉尾巴、放回去继续繁殖的老鼠,还有人干脆养鼠交尾。这里有一个比"人会钻空子"更有用的推论:悬赏的对象从来不是结果,而是能被提交的证据。主体优化的必然是证据这一项,所以设计考核时该问的第一个问题不是"这个指标好不好",而是"从证据到真实结果之间,还需要什么没被检查的假设"——那些假设就是缝的位置。

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.

04这套说法在哪儿不成立(Where This Breaks Down)

"复杂适应系统"是这门学科里最容易被拿来当万金油的词。用之前,三条边界必须先摆清楚。

第一,适应不等于变好。第 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.

🎒 场景 · BigCat

  1. 带团队与组织每季度定目标时把一个新指标写进考核(响应时长、覆盖率、上线次数),三个月后数字漂亮、体感没变——这件事会反复发生,因为第 3 节那台机器每次都会启动。具体改法:写下这个指标的复核日期和一条"做高它但对真实目标无益"的路径,并额外定一个只观察、不考核的对照量(最好由与被考核方无关的来源采集,比如用户侧而不是自报)。停掉的动作:同一个指标连着考核四个季度以上还不复核。
  2. 投资与仓位一条回测漂亮的规则上线,半年后逐步失效——归因常常落到"市场变了"。更可测的是第 4 节那个比值:这条规则被多少钱在用(同类产品规模、该策略拥挤度的代理量、同类持仓的相关性),以及它的回报周期有多长。具体改法:把"拥挤度"当成一个必看的仓位变量,和估值、波动率并列;在建仓时就写下退出条件(连续 N 期跑输、或拥挤度指标越过某线)。停掉的动作:用"再等等看"来解释连续跑输——那正是保质期到了的样子。
  3. 健康与精力某套作息或训练方案前两个月很有效,之后停滞,你归因为"最近懈怠了"。更可能是身体已经把它适应掉了:同样的刺激,边际收益递减。具体改法:把保质期写进计划本身(比如每 6–8 周轮换一次强度、时长或项目),触发条件用一个可观察的量——"同样的投入连续两周产出不再变化"就换,而不是等到完全没感觉。停掉的动作:拿意志力去修一个已经被适应掉的方案。

🌀 越界 · 跨学科的联想(Crossings)

深入思考(Going Deeper)

如果公开的模型都会失效,那科学在社会领域还剩下什么?

剩下两类。一类是关于结构而不是关于参数的结论:只要慢回路还在跑,某些形态就会反复出现(指标被优化掉、军备竞赛、局部最优的锁定)——这些不会因为被公开而消失,因为知道它们并不能让你逃出去。另一类是对没有可调空间的那些量的预测。真正会失效的,是"在当前规则下 X 与 Y 相关"这种参数型结论。

反过来说,有没有办法故意把慢回路掐断,让一个系统别再适应?

有,而且历史上做得很多:断掉多样性(只许一种做法)、断掉信用分配(结果不公开、或好坏都归给同一个人)、断掉淘汰(错的做法没人叫停,只加新规定)。这三招都能让一个系统在你关心的尺度上"稳定"下来。代价是环境一变它就没有任何应对能力——你换来的稳定,是把适应能力预支掉了。

主体自己有一个"关于系统的模型",这句话是不是把人想得太理性了?

不必。Holland 意义上的内部模型可以低到蚂蚁的程度:一条"信息素浓就跟着走"的规则,本身就编码了关于世界的一个预测。要求只是这条规则会因结果而改变,不要求主体知道自己在预测什么。真正被理性假设卡住的是标准经济学模型,不是这里。

既然指标必然被优化掉,是不是干脆别用指标?

不是。没有指标的组织不会因此更诚实,只会把评价交给更不透明的东西(印象、资历、谁声音大)。本期给出的是别的做法:承认指标有保质期,给它写复核日期;配不参与考核的对照量;以及优先选那些"缝很小"的指标——做高它的唯一路径就是真的把事做好。

为什么复杂性科学在物理系统上像科学,到了社会系统上常常像比喻?

本期第 4 节给了一个具体答案:物理有普适类,临界指数在毫不相干的系统间真的相同,所以结论可以搬家;适应系统没有这种东西,行为由那三个零件的具体形态决定。搬家搬的其实是词,不是结论。要避免比喻化,最省事的自查就是每次都把三个零件说出来——说不出来,那句话就还没有内容。

延伸阅读(Further Reading)