观念不是病毒,别照搬病毒的打法(Ideas are not viruses — don't copy the virus playbook)
2026-08-10 · 网络
"一个病人平均传给几个人"——这个数字里,没有任何一项单独属于病毒。它是病毒、你的行为、和你所在那张关系网三者相乘的结果。所以同一种病在两个城市里,可以是两种病。
一句话在办公室传开、一个 App 忽然人人都在装、一场流感、一段视频——这些都被叫做"传播",而且都被套上了"病毒式"这个词。这个词是从流行病学借来的,借的时候把最要紧的一条前提留在了原地。
丢掉的那条前提是:病毒只需要碰你一次。而一个要你改变做法的东西——换个工具、改个习惯、站出来说句话——通常需要好几个不同的人先做给你看。这一个字的差别,会把整套打法翻过来:让病毒跑得飞快的那种结构(远距离的捷径、连得广的弱关系),恰恰是让行为跑不动的结构。
本 Phase 讲网络的六期各管一段:第 20 期是结构本身(度、路径、聚类),第 21 期是捷径与小世界,第 22 期是枢纽怎么长出来,第 23 期是这种结构抗什么、怕什么,第 25 期是负载重分配引发的级联失效。本期只问一件事:一个东西沿着这张网跑起来之后,什么决定它停不停得下来。
1927 年,两位苏格兰研究者 Kermack 和 McKendrick 做了一件很省事的事:不追踪任何一个具体的人,只把人群分成三堆 → 参考 · SIR 模型。
第一堆是易感者(susceptible),还没得过、碰上就会中招;第二堆是感染者(infectious),正在往外传;第三堆是移出者(removed),康复了或者死了,反正不再参与传播。三堆的英文首字母连起来就是这个模型的名字:SIR。规则也只有两条:易感者碰到感染者,按某个概率变成感染者;感染者过一阵子变成移出者。
从这两条规则里能挤出一个数,叫基本再生数(basic reproduction number),写作 R₀:把一个感染者丢进一个所有人都还易感的人群里,他平均能传给几个。R₀ 大于 1 就会涨,小于 1 就会自己熄掉。这个分界线干净得几乎不像真的。
但真正值得停下来看一眼的是它的组成。R₀ 是三件事的乘积:你每单位时间接触多少人 × 接触一次传过去的概率 × 你能传多久。三项里只有中间那项主要由病原体决定,另外两项是行为和环境。所以"这个病的 R₀ 是 3"这句话,严格说是不完整的——必须补上"在哪儿、什么时候、什么人之间"。
还有一个数比 R₀ 更常用,叫有效再生数(effective reproduction number),写作 R_eff:现在这一刻,一个感染者实际传给几个。它等于 R₀ 乘上"还剩多少人是易感的"。这句话不起眼,但它是本期后面所有内容的种子——传播会自己吃掉自己的燃料。感染过的人从易感堆里被拿走,同样的病毒、同样的行为,传得就慢了。
"降低传播"不是一件事,是三件可以分开定价的事。把 R₀ 拆成接触率、单次传染概率、传染期三项,分别问:把这一项砍掉三成要花多少钱?口罩和加密砍的是中间那项,限流和隔离砍的是第一项,早发现和快下线砍的是第三项。先把三张价目表摆出来再选,别直接喊"要控制传播"——那句话没有单位。
EN Kermack & McKendrick (1927) split a population into Susceptible, Infectious and Removed. R₀ — the average number of onward infections in a fully susceptible population — is the product of contact rate, per-contact transmission probability and infectious period; only the middle term belongs mostly to the pathogen. The effective reproduction number R_eff = R₀ · S/N falls as susceptibles are consumed: spreading eats its own fuel.
既然 R_eff = R₀ × 易感者比例,那么只要易感者比例掉到 1/R₀ 以下,R_eff 就小于 1,传播开始收缩。这个门槛有个名字叫群体免疫阈值(herd immunity threshold),等于 1 − 1/R₀。R₀ 是 3,阈值就是 67%。
Kermack 和 McKendrick 当年真正想解决的正是这件事:为什么疫情会在还剩一大堆没得过病的人的时候就退潮?当时流行的解释是"病毒毒力衰减了"。他们证明了不需要这个假设——燃料被烧掉一部分,火自己就小了。
但这里有个几乎所有人都会漏掉的转折。疫情不是在越过阈值的那一刻结束的。越过阈值只意味着新增开始下降;而此刻仍有大量正在传染期的人,他们不会因为跨过了一条统计上的线就停止呼吸。他们继续传,于是易感者继续减少,一路冲到阈值以下很远的地方才真的停。多出来的这一截叫超调(overshoot)。
数字比感觉更吓人:R₀ = 3 时,阈值算出来是 67%,而让它自然烧完,最终会有约 94% 的人被感染过。多出的 27 个百分点,全部是超调。这就是"让它自然获得群体免疫"这个说法在算术上的问题——它把阈值当成了终点,而阈值只是转折点。
超调还解释了一件更实用的事:什么时候松手是个真问题。如果干预正好在 R_eff 刚穿过 1 的时候撤掉,易感者比例还紧贴着阈值,撤掉的那一刻 R_eff 立刻弹回 1 以上,一切重来。所以任何"到点就停"的方案都要预留超调的余量——撤除条件不该写成一个日期,该写成"某个存量低于某个水平并维持多久"。
EN The herd immunity threshold is 1 − 1/R₀: at R₀ = 3, 67%. But crossing it only turns incidence over — people already infectious keep transmitting, so susceptibles fall well below the threshold. That excess is overshoot: an unmitigated R₀ = 3 epidemic infects about 94%, not 67%. Hence any exit rule should be written as a stock level sustained over time, never as a date.
前面两节都偷偷做了一个假设,叫均匀混合(homogeneous mixing):每个人和每个人碰上的机会都一样,就像一锅搅匀的汤。这个假设让数学变得极其干净,也让结论跟现实差出一大截。
真人不是汤。有人一天见两百个人,有人一周见五个。第 22 期讲过这类接触网络的度分布常常是重尾的 → 参考 · 幂律的识别与误判。而一旦度分布不均匀,决定"传得开传不开"的那个量就换了:不再是平均接触数 ⟨k⟩,而是 ⟨k²⟩ / ⟨k⟩——分子是接触数的平方的平均。平方对尾巴极其敏感:一个见两百人的人,在平方里的分量是见十人者的四百倍。
2001 年 Pastor-Satorras 和 Vespignani 把这条算到底,得到一个当时相当震动的结论:如果度分布是幂指数不超过 3 的重尾,那么随着网络变大,⟨k²⟩ 会发散,流行阈值趋向于零——不存在一个"传染性低于这个值就烧不起来"的安全区间。任何强度的传染,都能在这样的网上扎下根。
还有一层比"有人连得多"更进一步的事实:二次感染数的分布本身是重尾的,行话叫超离散(overdispersion)。新冠的离散参数估计在 0.1 量级,意思是约 10% 的病例造成了约 80% 的传播。于是"平均每人传 3 个"描述的那个人,可能一个都不存在——绝大多数人传 0 个,极少数人一次传几十个。
这件事直接改变干预的形状。均匀混合的世界里,干预必须普遍施加才有效,因为每个人的贡献一样;超离散的世界里,传播集中在少数场景里(密闭、通风差、待得久、大声说话),于是针对场景的干预便宜得离谱——你在用极小的覆盖面,买走分布尾巴上的大部分质量。
凡是"人均"口径的传播指标,先问它的分布形状。如果二次传播数是重尾的,人均值几乎不含信息,该测的是尾巴:多少比例的事件贡献了多少比例的后果。对应的动作也换掉——不做全体的普遍性削减,去枚举高传播场景并单独处理。判据很直白:把历史事件按后果排序,前 10% 占了总量的多少;超过一半,就说明普遍性干预在给你买错东西。
EN Sections 1–2 assumed homogeneous mixing. Once contact degrees are heavy-tailed, the epidemic threshold is set by ⟨k²⟩/⟨k⟩, not by the mean; Pastor-Satorras & Vespignani (2001) showed it vanishes for power-law exponents at or below 3. Transmission is also overdispersed — SARS-CoV-2's dispersion parameter is around 0.1, with roughly 10% of cases driving 80% of infections — which makes setting-targeted intervention far cheaper than uniform intervention.
现在说本期最有用的那条区分。病毒只需要接触一次:碰上了,按概率中招,跟你之前碰过几个病人无关。这叫简单传染(simple contagion)。
而很多社会性的东西不是这样。要不要辞职去创业、要不要换掉用了十年的工具、要不要在会上第一个说"这个方向不对"——这类事情的门槛是:我身边得有好几个不同的人已经这么做了。一个人说,是噪声;三个互不相干的人都这么做,才是信号。这叫复杂传染(complex contagion)。它最早由 Centola 和 Macy 在 2007 年正式提出,而更早的雏形是 Granovetter 1978 年的阈值模型:每个人心里有一个数——"周围有 n 个人做了,我才做"——而这些数在人群里参差不齐。
关键是这个区分会把网络结构的价值翻过来。第 21 期讲过,少数几条远距离捷径能让整张网的直径急剧缩短 → 参考 · 小世界模型,这对简单传染是天大的好事:一条捷径就足以把火种送到对岸。但复杂传染缺的不是距离,是落在同一个人身上的多份独立信号。一条捷径只送来一份,送到就断了;而互相认识的密集小圈子会把同一件事从三个方向重复送到你面前——那恰恰是阈值要的东西。
Centola 在 2010 年把这件事做成了实验:一千五百多名参与者被随机分进两种人工社交网络,一种是聚簇的格状网(邻居之间也互相是邻居,连接高度冗余),另一种是随机网(连得远、路径短)。要传播的行为是"去注册一个健康论坛"。结果和小世界的直觉正好相反:聚簇网里传得又快又远——最终采纳率 54% 对 38%,扩散速度约四倍。
投入任何"推广"之前,先做一个判断题:一次曝光够不够。够(看到就会转、装上就能用)→ 买广度:捷径、跨圈、覆盖人数。不够(要改做法、要担风险)→ 买密度:在一个小圈子里做到饱和,再换下一个圈,绝不摊薄。两种投法的资源方向相反,混着投等于两头都不到位。核对办法也很具体:去问已经采纳的人一句"你是从几个不同的人那儿听说的"——多数人答"一个",你要传的是简单传染;多数人答"两三个",你在做的是复杂传染,那么所有按覆盖人数计价的投放都在浪费。
EN Viruses need one exposure (simple contagion); costly or risky behaviours need several independent adopters nearby (complex contagion — Centola & Macy 2007, foreshadowed by Granovetter's 1978 threshold model). This inverts the value of network structure: shortcuts shorten distance but deliver only one signal each. Centola's 2010 experiment found behaviour spread faster and farther on clustered lattices than on random networks — 54% versus 38% adoption, roughly four times the speed.
传染模型是复杂性科学里被搬运得最勤的一套工具,也因此最容易搬坏。用之前得知道它在哪儿会散架。
第一,R₀ 不是一个可以查表的常数。麻疹的 R₀ 长期被引作 12–18,几乎成了常识。2017 年 Guerra 等人做了一次系统综述,从 18 项研究里收集到 58 个估计值,结论是:实际估计的跨度远大于这个常被引用的区间,而且高度依赖人口结构、年代和估计方法。这不奇怪——R₀ 里有两项本来就是行为和环境。引一个 R₀ 而不说它是在哪张网、什么行为下测出来的,等于引一个没有单位的数。
第二,分室模型的假设是硬的,不是装饰。它要求均匀混合(第三节已经拆过)、要求状态转移离散且不可逆(得过就终身免疫)、要求这段时间里人口构成基本不变。真实的病原体有潜伏期(得再加一个分室 E)、有再感染、有变异、有季节性。模型给的是骨架,不是身体。
第三,把"传染"这个词套到观念上,最缺的东西是"感染"的定义。什么时候算一个人"接受了某个观念"?听到的那一刻?同意的那一刻?改变行为的那一刻?没有一个可判定的时刻,R₀ 就无法测量,整套模型就退化成比喻。模因论(memetics)就卡在这一步——它把观念当成会自我复制的单位,可几十年过去,"复制"这个动作始终没有一个可观察的对应物;专门的《模因论学刊》(Journal of Memetics)在 2005 年停刊,缺的从来不是数据。
第四,复杂传染自己也有边界。Centola 那个漂亮的实验是在研究者搭建的在线网络上做的:网络是随机分配的,行为只有一种(注册一个健康论坛),参与者互不相识。它有力地证明了"社会强化确实存在",但没有证明"所有社会传播都是复杂传染"。近年的工作还指出,聚簇结构存在一个触达与强化之间的权衡:太聚簇,强化够了但触达慢;太随机,触达快但强化不足。最优结构在两者之间,而不是越聚簇越好——所以"多建密集小圈子"这个结论,本身也是有剂量的。
用任何传播模型之前,先在纸上写下三件事:①你的"感染"对应哪个可观测事件(下载?付费?连续用满两周?);②你的网络里,边是什么关系;③一次曝光够不够。三件里有一件填不出来,就别报 R₀,改报你真能测到的量——比如"新用户里,此前从几个不同来源听说过本产品"的分布。一个填得出来的粗指标,胜过一个填不出来的漂亮参数。
EN Four limits. R₀ is not a lookup constant: Guerra et al. (2017) gathered 58 measles estimates from 18 studies and found spread far wider than the familiar 12–18. Compartmental models hard-code homogeneous mixing, irreversible states and a stable population. Applied to ideas, the missing piece is an observable definition of infection — the rock memetics foundered on. And complex contagion itself trades reach against reinforcement, so clustering has a dose, not a direction.
大多数真实的东西都是混合的:知道一条消息是简单传染,采纳一个做法是复杂传染。有意思的是这两层的最优结构不同——上层(知晓)要捷径,下层(采纳)要密度。这提示一种分工式的投放:用广度制造"听说过"的存量,再用密度在局部把它转成采纳。值得追问的是:知晓层的饱和会不会反而抬高采纳的门槛(人人都听说过、但没人先做,观望本身成了一种信号)?
直觉上干预只是推迟,总量不变。但超调那条机制给了另一个答案:干预降低 R_eff,而最终感染比例是 R_eff 的函数——把 R_eff 从 3 压到 1.5,终末规模从约 94% 降到约 58%。也就是说压平曲线确实改变了总量,因为它改变了系统冲过阈值的惯性。前提是干预持续到易感者被消耗到位,否则撤掉就反弹。
两面都有。坏消息:平均值不再能预测,小规模爆发的方差极大,早期数据几乎不能外推。好消息:既然大部分传播集中在少数场景,那么便宜的、局部的干预就能拿走大部分风险——这是均匀混合世界里不存在的机会。所以"这个系统是不是超离散的"应该是干预设计的第一个问题,而不是一个统计学细节。
这是把 SIR 搬到观念上最难对付的地方。得过病的人不再易感,而听过一个说法却没接受的人,下次仍然可能接受——甚至更可能,因为门槛是累计的。这意味着观念的动力学可能根本不是 SIR 而更接近有记忆的 SIS(可反复感染),而带记忆的过程里"阈值"这个概念要重新定义。谁能给这一堆人一个可观测的定义,谁就推进了这件事。