SuperAPI AI 工具集

diagnose

测试与质量

查看项目

更新于 10-16 07:27

技能介绍

该技能提供一套用于难调试缺陷和性能回退的诊断纪律,核心是先用快速、确定性、可由智能体运行的通过/失败信号建立反馈回路,再逐阶段定位根因;只有在有正当理由时才可跳过某阶段。流程分六个阶段。

阶段一建立反馈回路:这是最关键的部分,后续环节都依赖该信号,可用于二分、假设验证和插桩。建议按大致顺序尝试失败测试(单元、集成、端到端)、对运行中开发服务器发起 curl/HTTP 脚本、用固定输入运行 CLI 并对比 stdout 与已知正常快照、用 Playwright/Puppeteer 等无头浏览器驱动 UI 并断言 DOM/控制台/网络、回放已捕获的 trace、搭建最小化的一次性测试装置、属性或模糊循环、可配合 git bisect run 的二分装置、新旧版本或两种配置的差分循环,以及最后手段的人机交互 bash 脚本。还应把回路当作产品持续优化:更快、信号更锐利、更确定;30 秒的易抖动回路价值很低,2 秒确定性回路才是调试利器。对非确定性缺陷,目标是提高复现率而非干净复现。若确实无法建立回路,应停止并说明已尝试内容,向用户索取可复现环境、捕获的产物或临时生产插桩权限,不要在无回路时臆测。

阶段二复现:运行回路,确认失败模式与用户描述一致,跨多次运行可复现,并记录精确症状。

阶段三假设:先给出 3 至 5 个排序假设,每个都可证伪并写明预测,展示给用户后再验证,但不阻塞流程。

阶段四插桩:每个探针对应具体预测,一次只改一个变量;优先使用调试器或 REPL,其次在区分假设的边界打定向日志,禁止“记录一切再 grep”;调试日志加唯一前缀如 [DEBUG-a4f2] 便于清理。性能问题应先建立基线测量再二分。

阶段五修复与回归测试:先写回归测试,但必须选正确的测试接缝;若不存在合适接缝,这本身就是发现,需记录并标记。随后让测试失败、修复、通过,并用原始场景重跑阶段一回路。

阶段六清理与复盘:确认原始问题不再复现、回归测试通过或记录接缝缺失、清除所有调试插桩、删除一次性原型,并在提交或 PR 中写明最终正确的假设。最后思考如何从架构上预防该问题,必要时移交给 /improve-codebase-architecture 并提供细节。