AI Skills AI技能 3h ago Updated 2h ago 更新于 2小时前 46

Superpowers vs Plain Old Debugger in Explyt Superpowers 与 Explyt 中的普通调试器对比

Two AI agents (Superpowers and Explyt) debugged the same Kotlin/Windows bug using the same model (Opus 5) and prompt, with only the debugging workflow differing Superpowers followed a systematic checklist but skipped runtime observation, producing a 132k-token speculative patch that was discarded for hiding a critical error distinction and introducing a test-only seam into production code Explyt integrated the JetBrains debugger to observe actual runtime values before editing, producing a 67k-to 同一bug、同一模型(Opus 5)、同一prompt的对照实验:Superpowers工作流消耗132k tokens且补丁被丢弃,Explyt工作流仅67k tokens且补丁已上线生产 核心差异在于证据来源:Superpowers仅基于日志和栈轨迹推断根因,从未观察实际执行;Explyt通过JetBrains调试器在断点处获取了运行时变量值(dir=C:\Config.Msi, isReadable=false) Superpowers的修复方案吞并异常返回空列表,掩盖了产品需要的区分度,并在生产构造函数中引入仅用于测试的抽象(seam) JetBrains的A/B测试(Caveman、

62
Hot 热度
72
Quality 质量
65
Impact 影响力

Analysis 深度分析

TL;DR

  • Two AI agents (Superpowers and Explyt) debugged the same Kotlin/Windows bug using the same model (Opus 5) and prompt, with only the debugging workflow differing
  • Superpowers followed a systematic checklist but skipped runtime observation, producing a 132k-token speculative patch that was discarded for hiding a critical error distinction and introducing a test-only seam into production code
  • Explyt integrated the JetBrains debugger to observe actual runtime values before editing, producing a 67k-token narrow fix that passed review and shipped to production
  • The key divergence: inferred hypotheses from logs versus verified facts from a live breakpoint, demonstrating that a procedural checklist without runtime evidence can produce plausible but incorrect patches
  • JetBrains' own A/B tests on "token-saving" skills show mixed results, reinforcing the lesson to measure whole-agent-run costs rather than relying on self-reported skill counters

Why It Matters

This controlled comparison reveals a critical gap between following a debugging methodology on paper and actually executing its experimental step—something that has direct implications for how AI practitioners evaluate and deploy debugging agents. The finding that debugger-integrated agents can halve token consumption while producing higher-quality fixes challenges the assumption that more agentic turns and speculative code generation lead to better outcomes.

Technical Details

  • Bug: A java.nio.file.AccessDeniedException thrown by Files.list() on a protected Windows Installer directory (C:\Config.Msi), escaping through FacadeMentionCandidates.listDir into an unhandled coroutine exception in WorkspaceBootstrap
  • Superpowers workflow: The systematic-debugging skill encoded the sequence (gather facts → form hypothesis → run experiment → change code), but the agent never actually ran an experiment—it inferred the root cause from the stack trace and patched without observing runtime values
  • Explyt workflow: Created a minimal reproducer, set a line breakpoint on Files.list, and inspected concrete values: Files.isDirectory(dir) = true, Files.isReadable(dir) = false, confirming the access denial before editing
  • Token usage: Superpowers consumed 132k tokens through speculative code, tests, and refactoring; Explyt used 67k tokens by obtaining the key fact early from the debugger
  • JetBrains A/B tests: The Caveman test showed advertised 65% token reduction dropping to 8.5% on real tasks; the rtk test showed a 7.6% cost increase at low reasoning effort; the Ponytail test found 10.3% reduction—results are inconsistent, underscoring the need for whole-run measurement

Industry Insight

  • Debugger-integrated agents should be preferred over text-only agentic debuggers for runtime bugs, as live execution evidence prevents speculative patching and reduces both token waste and regression risk
  • Teams should benchmark AI debugging tools on whole-agent runs with real bugs rather than relying on vendor-reported skill-level metrics, which can be misleading by orders of magnitude
  • The "checklist ritual" phenomenon—where agents appear to follow methodology but skip its critical empirical step—is a real failure mode that suggests debugging workflows for AI agents must enforce observable experiment execution, not just procedural compliance

TL;DR

  • 同一bug、同一模型(Opus 5)、同一prompt的对照实验:Superpowers工作流消耗132k tokens且补丁被丢弃,Explyt工作流仅67k tokens且补丁已上线生产
  • 核心差异在于证据来源:Superpowers仅基于日志和栈轨迹推断根因,从未观察实际执行;Explyt通过JetBrains调试器在断点处获取了运行时变量值(dir=C:\Config.Msi, isReadable=false)
  • Superpowers的修复方案吞并异常返回空列表,掩盖了产品需要的区分度,并在生产构造函数中引入仅用于测试的抽象(seam)
  • JetBrains的A/B测试(Caveman、rtk、Ponytail)显示技能自报的token节省数据与实际运行结果存在显著偏差,需测量整个agent运行而非技能自身计数器

为什么值得看

本文通过严格对照实验揭示了AI调试agent的核心瓶颈:形式上遵循系统化流程不等于实质上完成实验验证。对AI编程工具选型和调试工作流设计具有直接参考价值,提醒从业者关注运行时证据获取能力而非仅看技能宣传。

技术解析

  • 实验设计:单一变量对照,bug为Kotlin项目中Windows保护目录(C:\Config.Msi)导致的AccessDeniedException,模型为Opus 5,prompt完全相同,唯一变量是调试工作流
  • Superpowers工作流:遵循"收集事实→形成假设→运行实验→修改代码"的系统化调试技能,在假设阶段即停止调查,未设置断点或检查运行时值,直接提出try/catch包裹方案
  • Explyt工作流:通过JetBrains调试器创建最小复现用例,在Files.list调用处设置断点,运行测试并读取运行时值(dir=C:\Config.Msi, Files.isDirectory=true, Files.isReadable=false),基于实际执行证据提出修复
  • 关键事实获取路径差异:Superpowers从AccessDeniedException推断,Explyt从断点处直接观察,前者产生推测性补丁,后者产生针对性补丁
  • JetBrains A/B测试结果:Caveman技能宣称65%token节省实际仅8.5%,rtk技能在低推理 effort下增加7.6%成本,Ponytail技能减少10.3%,整体结论是测量整个agent运行而非技能自报数据

行业启示

  • AI agent调试能力的评估标准应从"流程完整性"转向"证据获取能力"——能访问运行时状态(调试器、日志流、变量快照)的agent显著优于仅依赖静态代码和日志的agent
  • 工具选型时应要求供应商提供端到端运行数据(token消耗、补丁质量、返工率),而非依赖技能自身的性能声明;建议开发者在真实场景中进行小规模对照实验
  • 对于运行时bug,调试器集成应成为AI编程agent的基础能力而非可选插件;证据驱动的修复路径(观察→假设→验证)比纯文本推理路径更高效且产出质量更高

Disclaimer: The above content is generated by AI and is for reference only. 免责声明:以上内容由 AI 生成,仅供参考。

Agent Agent Code Generation 代码生成 LLM 大模型 Programming 编程