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 已经消失,你就可以将其标记为已修复,智能体会移除所有埋点,只留下一个干净、最小化的改动,方便你直接发布。
这种有人在环的人机协同验证非常关键。有时 bug 很明显,但有时则处在灰色地带——修复在技术上可行,却让人感觉不太对。智能体无法单独做出这样的判断。如果你认为 bug 还没修好,智能体会加上更多日志,你再重现一次,它会不断调整方案,直到问题真正被解决。
这种紧密的来回迭代,是我们认为 AI 编程效果最佳的方式之一。智能体负责繁琐工作,而你做出需要人类判断的快速决策。借助 Debug Mode,过去那些够不着的棘手 bug,现在也能被稳定地修复掉。
阅读 Debug Mode 文档。了解 Cursor 2.2 中的所有新功能。