SuperAPI AI 工具集

investigate-a-failure

测试与质量

查看项目

更新于 10-15 23:33

技能介绍

用途:在改动之前先弄清故障为什么发生。资料强调,在原因未知时作出的修复可能只是掩盖失败而非消除它;靠换版本、换镜像或换供应商让症状消失,学不到任何东西。

前置阅读:先读 AGENTS.md,再读以下原则文件:skills/rat-stack-mode/principles/find-the-cause-first.md、rebuild-what-you-run.md、measure-real-limits.md、keep-execution-receipts.md。

关键术语:Repro 指按需、以已知概率复现故障的脚本;Hypothesis 是关于原因的可检验主张;Probe 是验证假设的临时插桩,在故障发生前带所观测值干净停止;异步错误是错误在其成因工作之后才被报告;Notebook 是随调查同步书写的记录。

步骤:一、界定症状,记录失败内容、频率与条件,保留日志、错误码、时间戳与输入,并把失败与周边事件区分开。二、按需复现,写最小 repro,用计数报告概率(如“1,000 次运行中 17 次”),尽量使其确定化,repro 也是后续验证修复的依据。三、重建所运行之物,确保运行产物中不存在别处没有的改动,抽出可读补丁并固定每个提交,先确认重建能复现故障。四、一次只验证一个假设,每个实验只改一个设置并重复足够次数;信任堆栈前先把异步错误变为同步,优先用能干净停止的探针;被证伪的假设同样是结果,连同证据记录后进入下一层。五、在原因所在处修复,而不是它浮现的地方;延长超时或关闭功能属于变通方案,需测量其代价并标注。用 repro 证明修复,再重复原负载以表明失败率为零(资料示例:两个网页测试在构建重写输出时读取同一文件,两次复现各出现 17 和 28 次撕裂读;修复改为写入临时路径再改名就位,修复后 850 万次读取无撕裂读,位于 apps/web/scripts/reader-build.ts)。六、随做随写 notebook 与复现配方,包含因果与证明、被触碰设置及其权衡与测量、固定来源的重建配方;若原因在上游,按项目审批规则将 repro 与证明发送给维护者。

汇报项:原因及证明实验、被证伪的假设、修复及修复前后失败率证明、任何变通方案及其代价、notebook 路径。

限制:资料未提供平台、收费、价格与具体安装命令等信息。