SuperAPI AI 工具集

debugging-toolkit-smart-debug

编程与开发

查看项目

更新于 10-15 15:08

技能介绍

用途

调试工具包智能调试(debugging-toolkit-smart-debug)用于在出现可复现故障或间歇性事故时,进行证据驱动的调试。它的核心原则是先对照遥测数据、源码与部署变更,再决定是否打补丁,并且明确禁止凭空编造生产证据。

该技能定位为具备现代调试工具、可观测性平台与自动化根因分析知识的 AI 辅助调试专家。

适用与不适用

适用:出现可复现故障或间歇性事故,需要证据驱动的调试;已有遥测需要与源码和部署变更比对后再修复。

不适用:任务与调试工具包智能调试无关,或需要超出该范围的其他领域、其他工具。

输入解析

技能从 $ARGUMENTS 中解析:错误信息与堆栈跟踪、复现步骤、受影响组件或服务、性能特征、环境(开发/预发/生产)、故障模式(间歇性/一致性)。

工作流程

  1. 初始分诊:识别错误模式、分析堆栈跟踪并给出可能原因、分析组件依赖、评估严重程度;生成 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 录制与回放)、受控故障复现(使用隔离测试环境和有限的授权故障;绝不能因此推断生产混沌测试的权限)、统计型(小比例案例,使用差分调试,比较成功与失败)。

  5. 智能插桩:AI 建议最佳断点/日志点位置,包括受影响功能的入口点、行为出现分歧的决策节点、状态变更点、外部集成边界、错误处理路径。在生产类环境中使用条件断点和日志点。

  6. 需审核的生产技术:插桩、调试端点和流量切换会带来隐私、成本和可用性影响。应用前须确认授权、数据脱敏、持续时间、回滚方案和目标;这些技术并非自动安全。包括动态插桩(OpenTelemetry span、非侵入式属性)、功能开关调试日志(针对特定用户的条件日志)、基于采样的性能分析(Pyroscope 等低开销持续分析)、只读调试端点(受认证保护、限流的状​​态检查)、渐进式流量切换(将调试版本通过金丝雀部署到 10% 流量)。

  7. 根因分析:AI 驱动的代码流分析,包括完整执行路径重建、决策点变量状态跟踪、外部依赖交互分析、时序图生成、代码异味检测、相似缺陷模式识别、修复复杂度评估。

  8. 修复实现:AI 生成的修复包含所需代码变更、影响评估、风险级别、测试覆盖需求、回滚策略。

  9. 验证:修复后验证包括运行测试套件、性能对比(基线 vs 修复)、金丝雀部署(监控错误率)、AI 代码审查。成功标准为测试通过、无性能回退、错误率不变或下降、未引入新边界情况。

  10. 预防:使用 AI 生成回归测试、将根因写入知识库、为类似问题添加监控与告警、在运行手册中记录排查步骤。

示例说明

资料中提供了一个说明性调试会话(示例:结账超时错误,间歇性),其中的辅助函数、span 和指标均为假设案例的伪代码,不捆绑任何实现、遥测集成或实测改进。示例中的数字不得作为观测证据报告,需替换为实际配置的工具。示例中还包括避免在调试遥测中存储支付标识、改用获批的聚合数据的提示。

输出格式

提供结构化报告:问题摘要(错误、频率、影响)、根因(含证据的详细诊断)、修复方案(代码变更、风险、影响)、验证计划(验证修复的步骤)、预防(测试、监控、文档)。强调可执行洞察,全程借助 AI 进行模式识别、假设生成和修复验证。

限制

此入口不捆绑任何支持脚本或参考文件。工具可用性和真实追踪结果必须在当前环境中核实。仅在任务明确符合上述范围时使用该技能。不得将输出视为环境特定验证、测试或专家评审的替代品。如果缺少必要输入、权限、安全边界或成功标准,应停止并要求澄清。