跳转到内容

重磅推出 Debug Mode:带运行时日志的 Agent

Alexey Kozy & Albert Slepak产品

编码 Agent 在很多事情上都很擅长,但有些 bug 总能难倒它们。为此我们推出了 Debug Mode——一种完全围绕运行时信息和人工验证构建的全新 Agent 工作循环。

在构建它时,我们研究了团队中最擅长调试的工程师的实践,并将他们的工作流整合为一种 Agent 模式,为其配备了可对代码进行插桩以采集运行时日志的工具、用于生成多种“到底出了什么问题”假设的提示,以及主动请你协助复现问题和验证修复的能力。

最终形成的是一个交互式流程,可以可靠地修复那些此前即便是最智能的模型单独工作也力所不及,或需要开发者投入大量时间才能处理的 bug。

描述该 bug

首先,从下拉菜单中选择 Debug Mode,并尽可能详细地描述这个 bug。

代理不会立即尝试生成修复方案,而是先通读你的代码库,并针对可能出错的地方提出多个假设。其中有些可能是你自己也会想到的思路,但另一些则很可能是你原本不会考虑的方法。

接下来,代理会在你的代码中插入用于验证这些假设的日志记录语句,从而为在 bug 发生时获取实际运行数据做好准备。

复现该 bug

接下来,回到你的应用,在代理采集运行时日志的同时复现这个 bug。

当 bug 发生时,代理可以准确了解你的代码中发生了什么:变量状态、执行路径以及时序信息。基于这些数据,它可以精准定位根本原因并生成有针对性的修复方案。通常这只需要对两三行代码做精确修改,而不是像普通代理交互那样给你上百行试探性代码。

验证修复

此时,Debug Mode 会要求你在应用了建议修复的情况下,再复现一次这个 bug。若 bug 已经消失,你就可以将其标记为已修复,agent 会移除所有埋点(instrumentation),只留下一个干净、最小化的变更,方便你直接发布。

这种 human-in-the-loop(人工参与)的验证非常关键。有些 bug 很明显,但有些则处在灰色地带:从技术上看修复是有效的,但体验上却不一定合适。agent 自己无法做出这种判断。如果你认为 bug 还没修好,agent 会添加更多日志,你再复现一次,然后它会不断微调自己的处理方式,直到问题真正解决。

这种紧密的来回迭代,是我们认为 AI 编程效果最好的方式之一。agent 负责繁琐的机械性工作,而你负责做出那些需要人类判断的快速决策。借助 Debug Mode,以前那些几乎搞不定的棘手 bug,现在也能被稳定修复。

阅读 Debug Mode 文档。了解所有新功能,请查看 Cursor 2.2

归档于: 产品

作者s: Alexey Kozy & Albert Slepak

重磅推出 Debug Mode:带运行时日志的 Agent · Cursor