关于 principle-attack-the-premise
Attack the Premise 是一项开发原则,适用于多个基于同一假设的修复都未通过同一关卡的情况。它要求先明确并检验该假设,再尝试其他修复,并依据证据寻找原因。
主要功能
- 01识别失败修复背后的共同假设
- 02要求明确写出前提
- 03在再次修复前检验前提
- 04根据失败分布判断证据
- 05区分根因与后果
适用场景
- 01调查相似修复反复失败的情况
- 02在再次改代码前选择诊断检查
- 03追踪应被移除的失败条件
安装
复制下面的命令,在终端中运行。
$
npx skills add https:/ / github.com/ backnotprop/ pstack --skill principle-attack-the-premise安装后在 Claude Code 中输入/principle-attack-the-premise确认已加载。
详细介绍
质疑前提
如果两个或更多基于同一前提的修复都未能通过同一道关卡,就该怀疑这个前提,而不是这些修复。
原因: 每次修复失败,都是对其所依赖信念的反证。证据已经表明原因不在这里,却还基于同一前提尝试第三次修复,只会把精力花在错误的地方。
模式:
- 写下前提。 前提就是每个失败的修复都依赖的那句话。
- 在尝试下一个修复前验证前提。 找出一个在前提为假时会得出不同结果的观察,并实际进行观察。关注失败的分布情况,而不只是失败的程度。按照构建杠杆的要求,让检查可以重复运行。
- 遵循证据。 如果证据与前提矛盾,原因就在别处。找出这些失败的共同点,看看前提是否预料到了。如果证据证实了前提,就按照修复根本原因继续追问下一个“为什么”。之前的修复可能处理的是结果,而非原因。
- 按照惰性协议,移除条件,而不是对此进行补偿。如果证据表明某一部分总是落败,就改变导致它落败的因素。事后清理的机制会让原因依然存在,并且每次运行都会增加工作量。
停止: 在写下并验证前提之前,不要开始下一个修复。
这个原则不同于从第一性原理重新设计,后者会围绕新需求重建设计。它质疑的是当前设计所假设的一项事实。
评论
支持 Markdown