SuperAPI AI 工具集

specter

测试与质量

查看项目

更新于 10-16 03:50

技能介绍

用途

Specter 是一个面向“不可见”缺陷的检测型智能体技能,专注于并发、异步与资源管理领域。它定位为“幽灵猎手”(Ghost hunter),用于发现和分析竞态条件、内存泄漏、资源泄漏、死锁、未处理的异步错误等问题。Specter 不修改代码,只负责猎取、评分、解释,并将修复交给 Builder。

触发场景

资料建议在用户报告以下情况时使用 Specter:

  • 间歇性失败、时序相关 bug、死锁、卡死,或异步错误缺失;
  • 逐步变慢、疑似内存泄漏、资源耗尽、句柄挂起;
  • 并发下的共享状态损坏;
  • 异步清理问题、未处理的 rejection,或生命周期泄漏;
  • 微服务或多节点系统中的分布式竞态条件;
  • 疑似 AI 生成代码中的并发误用(原语使用、顺序、依赖流);
  • 非确定性通过/失败的 flaky 测试(常为竞态症状)。

当任务主要是 bug 复现或根因调查(Scout)、代码修改(Builder)、纯性能优化(Bolt)、安全修复(Sentinel)、测试实现(Radar)、流程可视化(Canvas),或固件异常与硬件级调试时,资料建议转向其他技能。

主要能力

  • 通过模式匹配与结构分析检测并发、异步、内存和资源管理问题。
  • 对每个发现使用多维风险矩阵评分(可检测性/影响/频率/恢复/数据风险)。
  • 为每个发现提供 Bad → Good 代码示例。
  • 标注置信度与误报风险。
  • 对 AI 参与编写的代码区域提高审查权重(资料引用 CoderRabbit 2025 报告称 AI 代码出现错误并发控制的可能性为 2.29 倍)。
  • 生成测试建议,供 Radar 交接。
  • 在扫描前解读模糊症状并生成假设。
  • 对分布式系统检查分布式竞态条件(跨服务共享资源冲突)。

子命令配方

  • race(默认):竞态条件检测,面向间歇性失败、时序相关 bug、非确定性测试。
  • leak:内存泄漏检测,面向逐步变慢、监听器/定时器/订阅泄漏。
  • deadlock:死锁检测,面向卡死、挂起、Promise 链死锁。
  • resource:资源泄漏检测,面向连接/socket/FD/池泄漏。
  • flaky:flaky 测试诊断,分类为异步/顺序/状态/外部因素。
  • time:时间相关 bug,面向时区/夏令时陷阱、单调时钟与墙钟误用、时钟偏移、闰秒、未冻结测试时钟。
  • order:顺序敏感性,面向无序迭代依赖、排序稳定性假设、并发写入隐式顺序、read-your-write 陈旧性。

若输入首个 token 匹配上述子命令则激活对应配方,否则使用默认 race 配方,并按 TRIAGE → SCAN → ANALYZE → SCORE → REPORT 工作流执行。

使用方式

  1. TRIAGE:把症状映射到幽灵类别,定义假设,确定范围。
  2. SCAN:在选定区域运行模式库与结构检查。
  3. ANALYZE:追踪异步/资源流,检查上下文,降低误报。
  4. SCORE:应用风险矩阵并分配严重度,明确标注误报风险。
  5. REPORT:输出结构化发现、Bad → Good 示例、置信度与测试建议。

可推荐的检测工具(据资料)

  • Go:go test -race。
  • C/C++/Rust:ThreadSanitizer/TSan(资料提示 TSan 有 2–20 倍减速与 5–10 倍内存开销,建议在 CI 或专用测试环境运行)。
  • Rust 死锁检测:RcChecker 的 signal-lock 图分析。
  • JVM 并发测试:Fray(CMU PASTA Lab)。
  • Java/Android 静态竞态检测:RacerD(通过 Infer)。
  • JavaScript 内存泄漏测试:MemLab(Meta)。
  • SaaS 规模并发:确定性模拟测试(DST)。
  • 零插桩观测:OpenTelemetry eBPF Instrumentation(OBI)。
  • 内存泄漏类:temporal / differential flame graphs(如 memray)。
  • 非确定性竞态:rr、Pernosco、Replay.io Precog 等时间旅行调试。

适用场景与协作

资料列出输入伙伴为 Scout(调查上下文)、Ripple(变更影响)、Triage(事件上下文)、Beacon(可观测性告警);输出对象为 Builder(代码修复)、Radar(测试规格)、Canvas(可视化)、Sentinel(安全重叠检查)、Bolt(性能关联)、Siege(压力测试规格)。项目亲和度标注为:SaaS(H)、E-commerce(M)、Dashboard(M)、Game(M)、Marketing(L)。

限制

  • 不修改代码,所有修复交给 Builder。
  • 固件异常检测与硬件级调试不在范围内。
  • 若任务本质是复现、修复、纯性能、安全修复、测试实现或可视化,应路由到其他技能。
  • 文档中关于收费、价格、平台支持等具体信息暂未提供。