Introducing Debug Mode:带运行时日志的 Agents
Coding agents 在很多事情上都表现出色,但有些 bug 却总是难倒它们。因此我们推出了 Debug Mode——一种全新的 agent 调试循环,以运行时信息和人工验证为核心构建。
在构建它时,我们研究了团队中最优秀调试工程师的实践,并将他们的工作流封装成一种 agent 模式,为其配备了用于通过运行时日志对代码进行埋点的工具、用于生成关于问题根源的多种假设的提示词,以及在关键节点回到你这边、请你配合重现问题和验证修复的能力。
最终形成的是一个交互式过程,可以稳定地修复那些此前即便是最智能的模型单独工作也难以解决,或需要开发者投入大量时间才能处理的 bug。
描述这个 bug
首先,从下拉菜单中选择 Debug Mode,然后尽可能详细地描述这个 bug。
智能代理不会立刻尝试生成修复方案,而是先通读你的代码库,并针对可能出错的地方生成多个假设。其中有些思路是你自己也会想到的,但也会有一些是你原本不会考虑到的方案。
接着,智能代理会在你的代码中插入日志语句,用来验证这些假设。这样,在 bug 发生时,代理就能获取关于实际运行情况的具体数据。
复现这个 bug
接下来,回到你的应用里,在 agent 收集运行时日志的同时复现这个 bug。
当 bug 发生时,agent 可以准确看到你的代码里究竟发生了什么:变量状态、执行路径、时间相关信息。基于这些数据,它可以精确定位根本原因,并生成有针对性的修复方案。通常只需要精确修改两三行代码,而不是像标准 agent 交互那样给你返回几百行充满猜测的代码。
验证修复结果
此时,Debug Mode 会要求你在应用了建议的修复方案后,再重现一次这个 bug。若 bug 已经消失,你就可以将其标记为已修复,agent 会移除所有埋点,只留下一个干净、最小化的改动,方便你直接发布。
这种有人在环的人机协同验证非常关键。有时 bug 很明显,但有时则处在灰色地带——修复在技术上可行,却让人感觉不太对。agent 无法单独做出这样的判断。如果你认为 bug 还没修好,agent 会加上更多日志,你再重现一次,它会不断调整方案,直到问题真正被解决。
这种紧密的来回迭代,是我们认为 AI 编程效果最佳的方式之一。agent 负责繁琐工作,而你做出需要人类判断的快速决策。借助 Debug Mode,过去那些够不着的棘手 bug,现在也能被稳定地修复掉。
阅读 Debug Mode 文档。了解 Cursor 2.2 中的所有新功能。