SuperAPI AI 工具集

diagnose-issue

编程与开发

查看项目

更新于 10-16 09:18

技能介绍

用途

diagnose-issue 是一个问题诊断技能,用于定位缺陷、失败的测试、构建失败、不稳定行为、异常输出或性能回退的根本原因。它的核心原则是:在改变行为之前,先用证据找到原因。诊断过程默认是只读的,除非用户明确要求修复或实现。

当外部文档或工具行为重要时,使用 research-ladder.md;当仓库中存在术语表(Glossary)和 ADR 时,也应参考。

主要能力

  • 建立最快的有效反馈回路:聚焦测试、构建、CLI 调用、请求、浏览器检查、trace 回放、基准测试或小型一次性测试工具。
  • 尽可能复现报告的症状并捕获确切的失败信息。对于不稳定行为,记录基线复现率,并提高到足以比较变化的程度。如果无法复现,区分结论与假设,只请求真正缺失的证据。
  • 阅读完整错误、日志、堆栈跟踪、近期 diff、依赖/配置变更、环境差异、调用方以及相关的相近可用示例。
  • 在不确定性存在时,只保留可排序、可证伪的假设。当直接证据能解释原因时,进入验证,而不是制造替代解释。
  • 对区分可能原因的边界进行插桩。通过逐一移除输入、步骤、配置或调用方,将可复现症状最小化,直到只剩关键要素。追踪坏值到其来源,测量性能,并等待真实的异步条件,而不是任意 sleep。
  • 陈述最受支持的成因,以及支持或排除重要替代解释的证据。

使用方式

诊断阶段

按上述流程建立反馈回路、复现、阅读证据、保留假设、插桩边界、最小化复现并给出结论。

获得修复授权后

  • 当存在有用的接缝时,优先在修复前建立失败的回归路径。
  • 应用能解决成因的最小改动。
  • 如果公共契约、迁移、持久化、认证/安全行为、生产状态或性能权衡需要负责人判断,先停下并给出选项,再决定是否变更。
  • 如果反复修改失败,停止叠加补丁。利用新证据重新评估心智模型、反馈回路和架构。
  • 重跑原始反馈回路和相关回归检查;在声称成功前阅读结果。
  • 交付前,通过 review-work 将整个范围(不只是最新补丁)交给独立的新上下文审查者;对照主要证据核实被接受的结论,修复被授权的阻塞性发现,并重跑受影响的检查。
  • 只移除本任务创建的临时插桩和草稿产物。保留已有的草稿、fixture 和无关工作。
  • 如果正确的修复缺少安全的测试或架构接缝,报告该约束,并将未解决的设计问题转给 improve-architecture 或 plan-work。将已经理解、保持行为的清理工作转给 simplify-work,而不是把它藏在 bugfix 里。

适用场景

  • 排查 bug、失败的测试、构建失败。
  • 处理不稳定(flaky)行为、异常输出。
  • 诊断性能回退。
  • 在需要证据支撑根因分析、且可能后续需要修复的工程场景中使用。

限制

  • 诊断默认只读,不会在未获授权时修改行为。
  • 无法复现时,只能区分结论与假设,并请求缺失的关键证据。
  • 涉及公共契约、迁移、持久化、认证/安全、生产状态或性能权衡的修复,需要负责人判断,不能自行变更。
  • 若缺少安全的测试或架构接缝,需报告约束并转交其他流程。
  • 输出应保持紧凑,不应变成实验记录,也不应超出证据声称确定性。

输出

报告保持紧凑,包含:

  • 原因与证据
  • 修复(仅当获得授权)
  • 已执行的验证
  • 限制、残余风险或建议的下一步