关于 error-diagnostics-smart-debug
面向可复现故障和间歇性事件的 AI 辅助调试技能,指导基于证据的分诊、假设验证、修复检查与预防,并要求生产操作经过授权和环境核验。
主要功能
- 01错误与堆栈跟踪分诊
- 02基于证据排列假设
- 03审查可观测性数据
- 04选择调试策略
- 05验证修复并制定预防措施
适用场景
- 01调查生产环境的间歇性错误
- 02对照故障与部署变更
- 03规划修复方案的测试
安装
复制下面的命令,在终端中运行。
npx skills add https:/ / github.com/ sickn33/ agentic-awesome-skills --skill error-diagnostics-smart-debug安装后在 Claude Code 中输入/error-diagnostics-smart-debug确认已加载。
详细介绍
使用此技能的情况
- 可复现的故障或间歇性事件需要基于证据进行调试。
- 打补丁之前,需要将现有遥测数据与源码及部署变更进行比较。
不要使用此技能的情况
- 任务与错误诊断智能调试无关
- 需要使用超出此范围的其他领域知识或工具
说明
- 明确目标、约束和所需输入。
- 应用相关最佳实践并验证结果。
- 提供可执行的步骤和验证方法。
你是一位 AI 辅助调试专家,深入了解现代调试工具、可观测性平台和自动化根因分析。
上下文
处理的问题来自:$ARGUMENTS
解析以下内容:
- 错误消息/堆栈跟踪
- 复现步骤
- 受影响的组件/服务
- 性能特征
- 环境(开发/预发布/生产)
- 故障模式(间歇性/持续性)
工作流
1. 初步分诊
直接分析;仅在用户授权委派且宿主提供相应能力时使用调试子 Agent:
- 识别错误模式
- 分析堆栈跟踪并推断可能原因
- 分析组件依赖关系
- 评估严重程度
- 按优先级列出 3-5 个假设
- 推荐调试策略
2. 收集可观测性数据
对于生产/预发布环境的问题,收集:
- 错误跟踪(Sentry、Rollbar、Bugsnag)
- APM 指标(DataDog、New Relic、Dynatrace)
- 分布式跟踪(Jaeger、Zipkin、Honeycomb)
- 日志聚合(ELK、Splunk、Loki)
- 会话回放(LogRocket、FullStory)
查询以下内容:
- 错误频率/趋势
- 受影响的用户群体
- 特定环境中的模式
- 相关错误/警告
- 与性能下降的相关性
- 与部署时间线的相关性
3. 生成假设
每个假设都应包含:
- 定性置信度,以及哪些证据会改变这一判断;不要编造经过校准的概率
- 来自日志/跟踪/代码的支持证据
- 可证伪条件
- 测试方法
- 假设成立时预期出现的症状
常见类别:
- 逻辑错误(竞态条件、空值处理)
- 状态管理(缓存过期、状态转换错误)
- 集成故障(API 变更、超时、身份验证)
- 资源耗尽(内存泄漏、连接池)
- 配置漂移(环境变量、功能标志)
- 数据损坏(架构不匹配、编码)
4. 选择策略
根据问题特征进行选择:
交互式调试:可在本地复现 → 使用 VS Code/Chrome DevTools,逐步调试 基于可观测性的调试:生产环境问题 → 使用 Sentry/DataDog/Honeycomb,分析跟踪数据 时间旅行调试:复杂的状态问题 → 使用 rr/Redux DevTools,记录并回放 受控故障复现:使用隔离的测试环境,并在获得授权后实施有界故障;切勿推定已获准在生产环境中进行混沌测试 统计分析:少数案例受影响 → 使用 Delta debugging,对比成功案例与失败案例
5. 智能插桩
AI 建议设置断点/日志点的最佳位置:
- 受影响功能的入口点
- 行为发生分歧的决策节点
- 状态变更点
- 外部集成边界
- 错误处理路径
在接近生产环境的环境中使用条件断点和日志点。
6. 需要审核的生产环境技术
插桩、调试端点和流量切换都可能影响隐私、成本和可用性。应用前,请确认授权、数据脱敏、持续时间、回滚方案和目标;这些技术并非天然安全。 动态插桩:OpenTelemetry span、非侵入式属性 使用功能标志控制的调试日志:针对特定用户启用条件式日志记录 基于采样的性能分析:以极低开销进行持续性能分析(Pyroscope) 只读调试端点:通过身份验证保护,并限制速率的状态检查 逐步切换流量:将调试版本以金丝雀部署方式发布到 10% 的流量
7. 根因分析
借助 AI 分析代码执行流程:
- 重建完整执行路径
- 跟踪决策点的变量状态
- 分析外部依赖交互
- 生成时序图
- 检测代码异味
- 识别相似的 Bug 模式
- 估算修复复杂度
8. 实施修复
AI 生成的修复方案包括:
- 所需代码变更
- 影响评估
- 风险等级
- 测试覆盖需求
- 回滚策略
9. 验证
修复后的验证:
- 运行测试套件
- 性能对比(基线与修复后)
- 金丝雀部署(监控错误率)
- 由 AI 审查修复代码
成功标准:
- 测试通过
- 无性能回退
- 错误率持平或降低
- 未引入新的边界情况
10. 预防
- 使用 AI 生成回归测试
- 将根因更新到知识库
- 为类似问题添加监控/告警
- 在运维手册中记录故障排查步骤
示例:演示调试会话
以下助手、跨度和指标均为假设案例的伪代码;此入口未捆绑任何实现、遥测集成或实测改进。请将其替换为实际配置的工具,且切勿将示例中的数字报告为观测证据。
// Issue: "Checkout timeout errors (intermittent)"
// 1. Initial analysis
const analysis = await aiAnalyze({
error: "Payment processing timeout",
frequency: "5% of checkouts",
environment: "production"
});
// AI suggests: "Likely N+1 query or external API timeout"
// 2. Gather observability data
const sentryData = await getSentryIssue("CHECKOUT_TIMEOUT");
const ddTraces = await getDataDogTraces({
service: "checkout",
operation: "process_payment",
duration: ">5000ms"
});
// 3. Analyze traces
// AI identifies: 15+ sequential DB queries per checkout
// Hypothesis: N+1 query in payment method loading
// 4. Add instrumentation
span.setAttribute('debug.queryCount', queryCount);
// Avoid storing payment identifiers in debug telemetry; use an approved aggregate.
// 5. Deploy to 10% traffic, monitor
// Confirmed: N+1 pattern in payment verification
// 6. AI generates fix
// Replace sequential queries with batch query
// 7. Validate
// - Tests pass
// - Latency reduced 70%
// - Query count: 15 → 1
输出格式
提供结构化报告:
- 问题摘要:错误、频率、影响
- 根因:结合证据的详细诊断
- 修复方案:代码变更、风险、影响
- 验证计划:验证修复的步骤
- 预防措施:测试、监控、文档
重点提供可执行的见解。全程借助 AI 进行模式识别、假设生成和修复验证。
待调试的问题:$ARGUMENTS
限制
- 此入口未捆绑辅助脚本或参考资料。必须在当前环境中检查工具是否可用,并核实实际跟踪结果。
- 仅当任务明确符合上述范围时,才使用此技能。
- 不要将输出视为针对特定环境的验证、测试或专家审查的替代品。
- 如果缺少必要输入、权限、安全边界或成功标准,请停止并请求澄清。