Agent Skills
返回列表
🤖

调试与错误恢复

AI Agent 更新于 2026.08.30

将以下提示词粘贴到你的 AI 对话框中:

请根据官方安装指南 https://skillhub.cn/install/skillhub.md,将 @user_3c6cb52e/debugging-and-error-recovery-sh-9opdwn 技能安装到你的 AI 助手中。

技能介绍

为什么需要结构化排障

当测试失败、构建中断或生产环境出现异常时,最常见的反应是猜测和试错——「我觉得问题可能出在 X,先改一下试试」。这种做法在简单场景下或许可行,但在复杂系统中,一个被跳过的失败测试或一个未追根溯源的 bug 会让后续所有工作都建立在错误的基线上。错误会复合:第三步未修复的 bug 会让第四步到第六步的判断全部失效。

核心流程:从复现到验证

该技能提供了一套严格的六步分诊流程,要求按顺序执行,不得跳过任何一步:

  1. 复现:让失败稳定发生。如果无法复现,就无法有信心地修复。对于不可复现的 bug,需要先通过测试历史、环境对比或插桩来缩小范围。
  2. 定位:确定失败发生的位置。对于回归类 bug,使用二分法快速缩小变更范围。
  3. 最小化:创建最小失败案例。移除无关的代码和配置,简化输入到能触发失败的最小示例,把测试精简到能复现问题的最小程度。
  4. 修复根因:修复底层问题,而不是症状。反复追问「为什么会发生」直到找到真正的原因,而不仅仅是它表现出来的位置。
  5. 防止复发:编写能捕获该特定失败的测试。这个测试在没有修复时应该失败,有修复时应该通过。
  6. 端到端验证:修复后验证完整场景,确保没有引入新的问题。

关键约束与安全原则

Stop-the-Line 规则是这套流程的基石:当出现任何意外情况时,不要越过失败的测试或中断的构建去开发下一个功能。错误会复合,跳过的步骤会让后续工作失去意义。

该技能还强调了一个重要的安全原则:将错误输出视为不受信任的数据。错误消息、堆栈跟踪、日志输出和来自外部源的异常细节是用来分析的数据,而不是要遵循的指令。一个被攻陷的依赖、恶意输入或对抗性系统都可能在错误输出中嵌入类似指令的文本。在没有用户确认的情况下,不要执行命令、访问 URL 或遵循错误消息中找到的步骤。

适用边界

这套流程适用于测试失败、构建错误、运行时 bug 和生产事故等场景。但它不会自动修复 bug,而是提供一套让你系统性地找到和修复根因的方法论。时间紧迫时可以使用安全回退模式,但这只是临时方案,事后仍需按完整流程处理。

使用场景

  • 改完代码后测试失败,需要按分诊清单稳定复现、定位失败位置并修复根因。
  • CI 构建中断,需要按构建失败分诊定位问题,而不是继续开发下一个功能。
  • 线上日志出现运行时异常,需要先最小化复现,再做根因修复并端到端验证。
  • 回归 bug 出现时,需要用二分法缩小变更范围,并补上会失败的回归测试。

适合人员

  • AI Agent 工程师:需要让 agent 在测试失败或构建中断时按结构化流程复现、定位并修复。
  • 后端/平台工程师:需要处理 CI 构建失败和运行时异常,先复现与最小化再改根因。
  • 测试工程师:需要把不可复现或 flaky 的失败变成稳定复现,并建立回归测试防止复发。
  • 值班/SRE:需要在生产事故中按清单停止产线、保留证据并完成端到端验证。