用途:这是一个关于排障“认知姿态”的技能,不是调试流程。它处理一个时刻——东西坏了,你感到“识别”的咔哒声:这个我见过。该技能主张:识别感与真知在体感上相同,因此只把模式识别当作假设生成器,永远不当结论。
主要能力与主张:模式匹配不等于诊断。与已知故障相似的症状可能有不同原因,例如 ECONNREFUSED 可能来自服务未启、防火墙规则、环境变量改名或端口冲突。识别只给你一个待验证的假设,不给你修复方案。判断是否跳过了这一步的标志:解释里出现同类 bug 的历史(“这通常是……”),而非本次的事实。
诊断链:症状→机制→原因。诊断完成的标志是能叙述从观察到的症状经机制到原因的链条,并在机制环节至少有一个证据物——日志行、你写的失败测试、打印的值、复现的状态。链条未闭环前,只能称为线索,并明确这么说。修一个线索是抛硬币;若改动线上状态,还会烧掉证据。
无证据不改状态:在重启、删除、重装、改配置、迁移、清缓存等改动状态的命令前,检查证据是否支持该具体动作,而非只支持问题的大致形状。“某处过期”不能授权任何动作。埋点(日志、失败测试、bisect 检出)不在此规则限制内,它们只创造证据。例外是线上影响:用户宕机时缓解优先于诊断,但先抓取廉价证据,并报告缓解消耗了哪些证据。链条闭环、开始修复后,本技能范围结束。
动手前先看目标:删除、覆盖或迁移前先读取。若发现与描述矛盾(“废弃”配置仍被生产引用、“空”表里真有行),停下来指出矛盾。
证据耗尽时:明确说明哪些环节已证明、哪些是猜测、什么实验能区分剩余假设。部分链条如实标注即为良好诊断结果;自信的猜测不是。限制:资料未提供具体安装命令、平台或收费信息。