SuperAPI AI 工具集

systematic-debugging

编程与开发

查看项目

更新于 10-16 00:22

技能介绍

用途:这是一个系统化调试技能,用于处理任何技术问题,包括测试失败、生产环境缺陷、异常行为、性能问题、构建失败和集成问题。核心原则是:在尝试修复前,必须先找到根因;只治症状的修复视为失败。

主要能力:技能把调试拆为四个必须依次完成的阶段。阶段一为根因调查:仔细阅读错误信息与完整堆栈,记录行号、文件路径和错误码;稳定复现问题;检查近期变更(git diff、提交、依赖、配置、环境差异);在多组件系统中于各组件边界添加诊断插桩,记录输入输出并验证环境与配置传递,先收集证据定位失败层,再查该组件;错误位于深层调用栈时,可参考目录中的 root-cause-tracing.md 进行反向追踪,向上追到坏值来源并从源头修复。阶段二为模式分析:寻找可正常工作的相似代码,完整阅读参考实现,列出工作与损坏之间的所有差异,理解依赖与环境假设。阶段三为假设与测试:明确提出单一假设并写下来,做最小改动、一次只改一个变量进行验证,未通过则形成新假设,而不是继续叠加修复。阶段四为实现:先创建可失败的最小测试用例(可用 superpowers:test-driven-development 技能),只做一处针对根因的修复,然后验证测试是否通过、是否破坏其他测试。

使用方式与限制:若修复尝试少于三次,返回阶段一重新分析;达到三次以上仍失败,应停止并质疑架构,与人类协作方讨论后再改,而不是尝试第四次修复。文中列出多种需停止的红旗信号与常见借口,例如“先快速修一下以后再看”“只改 X 试试”“同时改多处再跑测试”“先跳过测试手动验证”“已经大概知道是 X”。另外,过程揭示问题确实属于环境、时序或外部因素时,应记录调查内容,实施重试、超时或错误提示等处理并补充监控日志;不过约 95% 的“找不到根因”其实源于调查不完整。作为 AIX 技能包的一部分,其用户别名是 aix-systematic-debugging;生成的工件应写入 .aix/ 目录,写入前用 mkdir -p .aix 确保目录存在,.aix/ 内生成文件默认可能被覆盖,除明确要求外不要写入项目根目录。配套技巧包括根因追踪、纵深防御与基于条件的等待;相关技能包括测试驱动开发与完成前验证。文中未提供具体要求之外的价格、平台支持或安装步骤信息。