用途:以四步纪律系统化排查缺陷,强调顺序——没有可靠复现不修、不知失败路径不猜因、未尝试证伪不认定根因、未核对既有线索不宣布成功。触发场景包括用户说“debug”“bug”“broken”“failing”“flaky”,粘贴堆栈或错误日志,说“诊断”“根因”,测试意外失败(尤其跨组件),或调用 /systematic-debug。
四步箴言(每次会话首条回复逐字念出一次,不重念、不删减;用户要求跳过则跳过念诵但静默执行四步):一、首要是可复现性,问题能否稳定复现?二、弄清失败路径:先用调试器,再做源码追踪与开关枚举,最后代码内插桩。三、质疑假设:什么能证伪它?四、每次运行都是线索,要交叉核对全部。
主要能力:第一步建立可运行复现件(失败测试、curl 脚本、CLI 调用、回放装置);偶发问题先提高触发率(循环、并行、加压、缩小时间窗、注入 sleep),目标 1–5 秒确定性通过/失败信号,固定时间、随机种子、网络与文件系统。第二步定位代码断裂处:优先附加调试器,其次源码追踪并枚举配置开关、环境变量、特性开关、分支条件、输入形态、时序与并发、构建选项,一次只翻一个;仍不行再在嫌疑点插桩,探针加唯一前缀(如 [DBG-a4f2])便于 grep 清理。跨组件时在前后端、API、Worker、数据库各边界用共享关联 ID 记录输入输出。第三步生成 3–5 个排序假设并先跑最简洁的证伪实验。第四步维护“线索账本”,记录每次改动、结果与排除项,逐条核对所有历史观察。
辅助手段:日志过滤(grep -E "(ERROR|WARN|FATAL)" app.log | tail -50 等)、堆栈阅读(找抛出帧、第一个自有代码帧、异步边界)、测试隔离(单独跑失败测试、加 --verbose、检查顺序依赖与共享状态)、环境对比(node --version、npm ls、diff .env、git log、uname -a)及 git bisect 定位引入提交。
限制与规则:连续三个假设失败即触发“三失败闸门”,停止猜测、质疑架构或心智模型并向用户说明;出现“别猜了”“为什么这么想”等信号时暂停假设、先取证。根因确认并验证修复后需补回归测试、清理 [DBG-xxxx] 探针、带上下文提交,可调用 review 与 post-mortem。资料未提供该技能的安装命令、收费与平台信息。