图片

上午十点,线上服务出现支付异常。值班负责人决定在十点半切换到备用支付通道,并把方案写进事故状态页,标明计划切换窗口和回滚条件。

研发、市场和客服拿到的是同一份方案,各自该做什么也很清楚。研发负责切换通道,市场暂停投放,客服更换话术。三件事必须在同一时点完成。研发若先切,市场还在投流,突然涌入的流量可能让新通道出问题;市场若先停,会白白损失获客;客服若提前换上新话术,用户被引导到尚未启用的通道,仍然会报错。

十点半到了,三方却都不敢动。研发担心市场还没准备好,市场拿不准客服是否知道各方要同步切换。客服也在犯嘀咕,研发会不会已经切了,自己还在用旧话术?

方案已经送达,意思、分工和指令也很清楚。团队卡在另一件事上。没有人能确认其他角色已经准备完成,也无法确定大家会在同一时点执行。他们缺少一个所有人都能看见的信号,证明其他人也准备好了。

图片

大家都知道了,为什么还是不够?

你在群里发了一条消息,说周五开会。消息发出去,只能说明你说了,群里的人未必都看见。即使每个人都看见了,也未必知道别人同样看见了。这几种"知道"听起来只差半步,对大家一起行动的影响却很不一样。

1969年,哲学家刘易斯在《惯例》一书中提出共同知识的概念,用它解释社会惯例和协调问题。为了把差别讲清,可以把"知道"分成三个逐层加深的状态。

第一种是私人知识。你知道一件事,却不知道别人是否也知道。

第二种是共有知识。每个人都知道这件事,但各自未必确定其他人也知道。换个说法:"你知道,别人也知道,甚至可能大家都知道。但没人把话挑明,谁也不敢打包票对方一定知道。"

第三种是共同知识。每个人都知道,每个人也知道其他人知道,而且这种相互知道可以一直递归下去。这里所说的"共同知识"和日常意义上的常识不是一回事,它指的是"大家知道别人也知道"。

共同知识模型检查的正是第三层。一项关键信息,是否已经从"每个人各自知道",变成"每个人知道其他人也知道,并且这种相互知道可以继续递归"的公开状态。

信使来回确认了好几次,为什么两军还是不敢出兵?

两支部队准备从南北两面夹击一座城。信使途中可能被敌人截获,任何一封信都有可能丢失。双方必须保证同时进攻,不能赌对方大概什么时候会到。只要把握不足,就默认不出兵。

南军主帅想先和北军约定时间,于是派信使前往北军营地。北军主帅回复:"好,明天黎明一起进攻。"信使安全回来后,南军知道北军同意了。可南军主帅又会担心,北军知道我已经收到回复了吗?于是,他再派一名信使前去确认。

北军收到第二封信后,也会犯难。南军知道这封确认已经安全送到了吗?

每送达一次点对点确认,双方最多只多确定一层,下一层不确定依然存在。信使来回奔波,双方还是不敢出兵。

第三封送到了,问题依旧。第四封也一样。无论送多少次,都可以继续追问,对方知道我已经收到上一封信了吗?信使跑断了腿,送信的循环也没有尽头。

双方迟迟不动,因为任何一方单独出兵都会被消灭。一方该不该进攻,取决于另一方会不会同时进攻。这种结构叫行动互依。单独行动的代价越高,一方需要确定的事情就越多。知道计划只是第一步,还要确认对方知道,并确认对方知道自己已经知道。共同知识在这种局面里才会发挥作用。

有没有别的办法?可以在两军都看得见的山顶点燃烽火。

烽火能发挥作用,也有前提。双方都能可靠地看见它,也知道对方同样看得见;烽火代表什么、何时行动,也早已约定。条件齐备后,烽火一旦点燃,双方就能同时确认,启动信号已经发出,对方也看见了。

进攻方案没有变化,双方早已约好时间。烽火增加了一个公开信号,让"启动信号已经出现"成为所有人同时看见的事实。

图片

安徒生著名的童话《皇帝的新衣》也能看到相似的机制。皇帝没穿衣服,在街上游行。每个人都看到了,却没人敢说,因为谁也拿不准其他人是不是和自己看见的一样。直到一个小孩喊了出来,说皇帝什么也没穿。

孩子没有带来新的事实,众人此前都已经看见了。变化在于,他当众把这件事说了出来,所有人也亲眼看到有人挑明了真相。这个故事还包含对权威的畏惧和从众压力,共同知识只能解释其中一个层面。孩子开口以前,人们看见了真相,却不知道别人是否认同自己的判断;喊声出现以后,这个判断成了公开信息,众人随后也跟着说出了口。

科学作家万维钢在《现代思维工具100讲》中说:"私人知识也许能让你看见真相,共同知识才让你敢于行动。"

群发通知有时只是一封信,也可能成为烽火。区别取决于几个条件。必要的人是否都在,大家看到的是否为同一版本,确认能否彼此看见,所有人是否遵守同一套启动规则。条件齐备,群消息也能成为烽火。

公司里的"烽火",怎么确认大家都准备好了?

两军用烽火发出共同可见的信号。公司里的"烽火",通常是一套公开确认机制。每个人都能看到其他人的准备状态,也知道自己的状态同样对其他人可见。

回到支付通道切换的案例。多发几条消息仍然解决不了问题。负责人要建立一套协调协议,让确认公开、触发信号统一,也提前约定意外发生时怎么处理。严格的共同知识要求相互知道不断递归,现实组织很难完全达到。工作中能做的,是把关键状态公开出来,让确认彼此可见并留下记录,把不确定性降到风险可以接受的程度。

日常的低风险协作,先把三个问题说清楚就够了。哪些人必须同步?各自的确认能不能被其他人看见?最后由谁发出启动信号?

如果是支付切换这类高风险操作,还要补上版本号、READY清单,以及超时和回滚规则。

具体可以分六步。

第一步,判断是否需要同步。先问自己两个问题。我的行动是否依赖别人同时行动?如果只有我先动,会不会出问题?如果答案都是否定的,就不必启用整套协议。

第二步,确定必要角色。把缺一不可的角色列出来,同时明确协调人,以及协调人不在时由谁接替。

第三步,写清大家必须共同确认的内容。"状态页上有一项方案"太含糊,需要把它写成一句能够直接指导行动的话。比如:"三个必要角色均已完成当前版本的准备工作,并将在公共启动信号发出后执行。"动作、时间、例外和版本号也要一并写清楚。

第四步,让每个人公开确认。所有必要角色都要在同一个公开位置标明当前版本和自己的状态,私聊一句"收到"不算确认。READY(已就绪)表示自己负责的准备工作已经做完,核对的也是当前版本。比如这样一张所有人都能看见的表。

方案V3
状态
研发
READY
市场
READY
客服
WAIT
总状态
HOLD

客服还没有进入READY,总状态就保持HOLD。等客服也准备好,协调人才能发出GO。

第五步,用唯一的公共信号触发行动。所有必要角色都进入READY后,协调人公开发出唯一的GO(执行)信号。只要条件没有满足,总状态仍然是HOLD(暂停)。十点半只是计划切换窗口,是否执行以GO为准。

第六步,设好失败规则。缺人、超时、断线或者出现版本冲突时,是继续等待,还是升级处理?需要回滚时退回哪个状态?这些规则要提前写清楚,默认选择暂停。

同一版本告诉大家按什么做,READY显示谁已经准备好,GO确定大家什么时候一起行动。

图片

私信、群聊和开会,什么时候才算真正同步?

方式
能确认什么
还缺什么
怎样补齐
私信
每位收件人分别收到了信息
他们不知道其他人是否也收到了同一版本
把确认放到公开区域
群消息
群内成员可以看到同一条消息
必要角色都在群里吗?大家看到的是当前版本吗?
标明版本,并要求全员公开确认
开会
在场的人共同听到了同一内容
缺席者是否知道?会议结论能否回查?
把确认结果写入唯一有效的记录
已读回执
某个账户显示已读
他看到的是当前版本吗?其他人能看到他的确认吗?
使用全组可见的确认面板

沟通能否支撑同步,主要看确认过程是否公开可见。一场有人缺席的会议,可能还不如一次全员实时确认的群消息。

所有人都公开确认了,事情就一定能做成吗?

所有人都公开确认后,事情仍然可能做不成。共同知识只能说明一项信息在群体中公开到了什么程度。它无法保证大家愿意做、有权做、做得到,也不能证明事情已经执行。下面几条边界需要分清。

一条消息即使已经传遍所有人,也可能是错的。错误消息可以形成共同信念,甚至推动大家采取一致行动,但严格来说,它不能构成共同知识。知识具有事实性,命题是假的,就谈不上被人"知道"。消息是否真实,仍然需要核实。

各方即使都看见某条规则已经发布,也可能把它理解成不同的意思。理解是否相同,请回看思维模型108共同基础。

一条消息即使人人都看到了,发出消息的人也未必有权作出这个决定。是否形成有效指令,请回看思维模型109言语行为。

一项决定即使已经公开,支持它的理由也可能站不住脚。理由能否推出结论,请回看思维模型110图尔敏论证。

所有人知道一项规则已经生效,也不代表所有人都赞同。至于各方愿不愿意配合,后续用其他模型继续分析。

严格的共同知识要求相互知道无限递归,现实工作中很难完全达到。但即使达不到,这个模型的诊断价值不受影响——它能帮你判断当前缺了哪一层,该补什么。

下次再说"已经通知所有人了"之前,可以先问三个问题。谁必须同步?所有人都公开显示READY了吗?谁负责发出唯一的GO信号?有一个问题答不上来,就先别把"大家都知道了"当成已经同步。


模型档案卡

一句话定义

检查一项关键信息是否已从"每个人各自知道"变成"每个人知道其他人也知道、如此递归到任意层级"的公开状态。只回答"谁知道谁知道什么",不包含意愿、利益、权限和执行。

来源

哲学家大卫·刘易斯,1969年《惯例》,用共同知识分析社会惯例与协调问题。经济学家罗伯特·奥曼1976年给出严格形式化。

调用口诀

说"已经通知所有人"时——先问谁必须同步,再看所有人是否公开READY,最后确认谁发出唯一的GO。

边界(适用)

需要多人同时行动、相互等待或同步触发时,值得花几分钟检查。

边界(不适用)

只需一个人决定的事不用拆解。

这是思维模型系列的第111篇。

如果你身边也有人正为"通知了却没人动"头疼,可以把这篇文章转给他。或许下一次发通知前,他会少一些私聊催问,先问清三件事:"谁必须同步?大家公开READY了吗?谁来发GO?"