用途
「Attack the Premise(攻击前提)」是一条用于调试与问题排查的思维原则。它针对的场景是:两个或更多修复方案共享同一个前提,却在同一个关卡(gate)上以相同方式失败。此时该原则建议把怀疑对象从「修复方案」转向「前提」本身。
其核心判断是:在同一个共享前提下发生的每一次失败,都是关于这个前提的证据。
主要能力
该原则提供了一套可操作的排查模式:
- 写下前提:前提是所有失败修复都默认的那一句话。必须先把它明确写下来。
- 对不平衡问题做普查:在下次修复前,按参与者(actor)统计不平衡的分布,用以检验究竟哪些参与者持有这种不平衡。普查应写成可重复运行的脚本。
- 调查倾斜:如果普查显示分布倾斜,就应深入调查。若每次运行中都是同样的少数参与者承担了大部分不平衡,说明有某种机制在把该角色分配给他们。找出这个分配机制,它就是下一个「为什么」,即继续追问根因的方向。
- 移除不对称而非补偿:当角色分配本身导致不平衡时,应移除这种不对称,而不是去补偿它。可选做法包括:在参与者之间轮换角色、随机化分配、或转移角色,使任何参与者都不会在每次运行中都承担该角色。
使用方式
该原则以「模式(Pattern)」和「停止(Stop)」两部分给出操作指引。
模式部分要求:先写下前提,再对不平衡问题做普查,把普查写成可重复运行的脚本;若普查显示倾斜则调查角色分配机制;若角色分配导致不平衡,则移除不对称。
停止部分给出两条约束:
- 在前提被写下并检验之前,不要开始下一次修复。对于不平衡假设,检验中必须包含普查。
- 如果普查在各参与者之间是均匀的,这只是反对「不对称假设」的证据,而不是「共享前提正确」的证明。此时应继续质疑前提,并把普查结果保留为证据。
适用场景
该原则适用于反复失败且失败模式相同的修复尝试,尤其是涉及资源、负载或职责在多个参与者之间分布不均的问题。它也可用于需要区分「补偿症状」与「消除根因」的排查工作。
限制与边界
该原则明确区分于「Redesign from First Principles(从第一性原理重新设计)」。后者是围绕一个新需求重建设计,而本原则质疑的是当前设计所假设的一个事实。
此外,普查结果均匀并不构成前提正确的证明,只构成对不对称假设的反证。该原则要求持续质疑前提,并保留普查作为证据。
关于该原则的具体实现代码、安装命令、运行环境或平台支持等信息,资料中暂未提供。