调试修复 tri-fix
将以下提示词粘贴到你的 AI 对话框中:
请根据 https://skillhub.cn/install/skillhub.md 的指引,将 @user_989eb8f0/tri-fix 安装到当前 AI 助手中。
技能介绍
先有能变红的命令,再谈修复
大多数 AI 调试失败的方式惊人地一致:读到报错信息,扫一眼代码,直接改一版「看起来对」的补丁。问题在于,没有一条真正运行过且失败过的反馈命令,任何「修复」都只是基于直觉的猜测。tri-fix 把这条规则上升为第一性原则——没有能变红的反馈循环,就没有假设阶段。「红」指一条已真实运行过、且在当前 bug 上失败的命令(测试、curl、CLI 调用、无头浏览器脚本等)。在这之前,不允许跳到根因结论或补丁。
六阶段方法论与双审批门
核心方法论分六个阶段,阶段号是全文唯一的编号体系:
- 阶段 1 建立反馈循环:按优先级尝试十种构造方式,从失败的测试到 HITL 脚本,并持续收紧循环——更快、更确定、信号更尖锐
- 阶段 2 复现 + 最小化:确认失败模式与用户描述一致,逐步切除无关输入,直到每个剩余元素都起支撑作用
- 阶段 3 假设生成:强制 3-5 个可证伪假设并按可能性/验证成本排序,防止单假设锚定
- 阶段 4 插桩验证:每个探针对应一条预测,一次只改一个变量,最后做「去掉→消失→加回→重现」的因果确认
- 阶段 5 修复 + 回归测试:先写回归测试再改代码,变更仅落在根因处
- 阶段 6 清理 + 复盘:移除全部
[DEBUG-...]插桩,把被证实的假设写进 commit message
执行链路上设有两道落盘审批门加执行前确认:bug-report.md(故障报告)→ diagnosis.md(根因诊断)→ fix-tasks.md(原子化任务)→ 执行 → fix-report.md。任一门未通过则携反馈回炉,禁止跳门抢跑。
适用范围与注意点
tri-fix 负责「读取快照 → 建立反馈循环 → 复现最小化 → 根因诊断 → 修复执行 → 回归验证」全链路,但不负责意图识别(tri-intent)、新功能编码(tri-coding)、代码审查(tri-review)和架构规划(tri-plan)。独立使用时会先检测上游依赖,用户拒绝安装时进入降级模式。
性能回归走专门的测量分支(基线测量 + 二分,不打日志);偶发 bug 的目标不是干净复现而是提高复现率。若穷尽阶段 1 仍无法让循环变红,必须停下索取环境权限、抓取产物或生产插桩许可——不允许「先猜一个方向试试」。版本检查是第零步硬门,由 scripts/check_update.py 统一判定,prompt 层不做任何内联推断。
使用场景
- 线上接口突然 500,手里只有错误堆栈,需要先写出能稳定复现的测试,再逐层切除无关输入定位最小触发路径。
- 接口响应从 50ms 涨到 2s,近期改动点较多,需要先测基线再二分定位劣化来源,而不是到处加日志。
- 线上偶发死锁,重跑就好,需要用循环加压提高复现率,直到能稳定抓到失败现场再谈修复。
- 本地无论如何复现不了,只有生产日志和用户录屏,需要按流程索取 HAR 或 core dump 并申请插桩许可。
适合人员
- 后端工程师:面对线上报错和性能劣化,需要一条能复现的命令和完整根因证据链,而不是被「先改改试试」消耗时间。
- 前端工程师:遇到白屏、接口报错等故障,希望在动手改代码前先拿到能变红的复现路径和回归测试。
- SRE/运维:处理线上偶发故障和性能回归,需要基线测量与二分定位,而不是大面积打日志后全局 grep。
- 技术负责人:希望 AI 修复留下 bug-report、diagnosis、fix-report 等可审计文档,便于复盘和团队交接。