thinking-five-whys-plus
Compare original and translation side by side
🇺🇸
Original
English🇨🇳
Translation
ChineseFive Whys Plus
Five Whys Plus
Build an evidence-linked causal chain from a known proximate fault to an actionable systemic root, then prescribe a countermeasure that would have blocked it.
构建一条从已知直接故障到可落地系统性根本原因的、与证据关联的因果链,然后制定可阻止故障发生的对策。
When to Use
适用场景
- A fault is already localized to a component, path, or subsystem.
- The proximate cause is known, but recurrence or systemic root is not.
- Prior symptom-only fixes failed and the failure returned.
- You need prevention that addresses why the proximate cause was possible.
- 故障已定位到某个组件、路径或子系统。
- 已知直接原因,但不清楚故障会复发的原因或系统性根本原因。
- 此前仅针对症状的修复失败,故障再次出现。
- 需要从根源解决问题,明确为何直接原因会发生。
When NOT to Use
不适用场景
- Fault is not localized or multiple candidate causes remain — discriminate first.
- Root is evidenced and actionable — fix it.
- No evidence can answer the next "why" — gather evidence.
- One-off error without a process, tooling, or design enabler.
- Selective defect needing IS/IS-NOT analysis.
- Forward failure forecasting before commitment.
- 故障未定位,或存在多个候选原因——需先进行甄别。
- 根本原因已得到证实且可落地——直接修复即可。
- 没有证据能回答下一个“为什么”——需先收集证据。
- 无流程、工具或设计因素导致的一次性错误。
- 需要进行IS/IS-NOT分析的选择性缺陷。
- 项目立项前的故障预测。
Procedure
操作步骤
- State the localized problem. Record the observable symptom, confirmed component/path, time window, scope, and impact. Stop if localization is missing.
- Chain why with evidence. Make the prior answer the new effect; propose a cause; cite logs, code, config, metrics, or witnesses; name and rule out alternatives. Stop on speculation.
- Branch before descending. Ask what else could produce the same effect; keep every evidenced independent pathway. Treat the retained branches as a causal set rather than forcing one root.
- Counterfactually test each pathway and the set. For each candidate ask, "Would removing this cause block this pathway?" Then ask, "Would removing the retained set block the observed failure?" Retain independently sufficient branches whose removal blocks their own pathway; do not reject them merely because another branch could still cause the failure.
- Enforce stop criteria per branch. Stop a branch only when its cause is evidenced, controllable, actionable, recurrence-preventing, non-blame (not merely "someone erred"), and counterfactual-positive for that pathway. If it hits human error, ask why the error was possible.
- Prescribe a countermeasure for every retained root. Name the systemic fix, owner-capable action, and how recurrence will be checked. Prefer removing enabling conditions over only patching the proximate symptom.
- Stop when verified or blocked. Halt when stop criteria pass and a countermeasure is specified, or when further steps lack evidence. Do not pad by habit.
- 明确已定位的问题。记录可观察到的症状、已确认的组件/路径、时间范围、影响范围及影响程度。若未完成定位则停止。
- 结合证据串联“为什么”。将上一个答案作为新的结果;提出一个原因;引用日志、代码、配置、指标或证人证言;列出并排除其他可能性。若出现推测则停止。
- 向下追溯前先分支。询问还有哪些因素可能导致相同结果;保留所有有证据支持的独立路径。将保留的路径视为一组因果关系,而非强行归结为单一根本原因。
- 对每条路径及路径组进行反事实测试。针对每个候选原因,询问:“移除该原因是否会阻断这条路径?”然后询问:“移除所有保留的原因组是否会阻断已观测到的故障?”保留那些独立且移除后可阻断对应路径的分支;不能仅因其他分支仍可能导致故障就排除这些分支。
- 为每条分支设定终止标准。仅当某分支的原因已得到证实、可管控、可落地、能防止复发、非追责性(不能仅归结为“某人犯错”)且对该路径满足反事实测试时,才停止该分支的追溯。若涉及人为错误,需询问为何该错误会发生。
- 为每个保留的根本原因制定对策。明确系统性修复方案、可执行的责任人及如何验证故障不会复发。优先消除导致故障的条件,而非仅修复直接症状。
- 验证通过或无法推进时停止。当满足终止标准且已明确对策,或后续步骤缺乏证据时,停止追溯。不要因习惯而过度追溯。
Output
输出格式
text
Problem: <localized symptom + component>
Chain:
Why1: <cause> | Evidence: <...> | Ruled out: <...>
WhyN: ...
Causal set check: would removing all retained roots block the failure? yes/no
Roots:
- <systemic cause> | Pathway counterfactual: <...>
Countermeasure: <action that removes the enabling condition>
Verification: <how to confirm this pathway is blocked>text
Problem: <已定位的症状 + 组件>
Chain:
Why1: <原因> | Evidence: <...> | Ruled out: <...>
WhyN: ...
Causal set check: would removing all retained roots block the failure? yes/no
Roots:
- <系统性原因> | Pathway counterfactual: <...>
Countermeasure: <消除故障触发条件的行动>
Verification: <确认该路径已被阻断的方法>Verification
验证方式
- Falsify the chain if any step lacks evidence, if alternatives were never considered, if a retained root does not pass its pathway counterfactual, or if the full causal set does not explain the failure.
- Stop applying this skill once the root is fixed and verified, or when the problem is still pre-localization.
- Over-application guard: skip a full chain for a single known one-line defect; do not end at blame; do not invent depth without data.
- 若链条中任意步骤缺乏证据、未考虑其他可能性、保留的根本原因未通过对应路径的反事实测试,或整个原因组无法解释故障,则推翻该因果链。
- 当根本原因已修复并验证,或问题仍未定位时,停止使用该方法。
- 避免过度使用:若已知是单一的单行代码缺陷,无需完整追溯链条;不要以追责为终点;不要在无数据支撑的情况下过度深挖。