\n\n本文对比了 Cursor 3 新推出的智能 Agent 窗口与 Claude Code 在自动调试方面的表现。实测显示两者均能高效修复复杂漏洞,预示着 AI 驱动的自动化调试将极大改变开发体验。
译自:The debugging wars: Cursor 3 takes aim at Claude Code's agentic edge
作者:Jessica Wachtel
我们所熟知并喜爱的 Cursor 一直是一款带有 AI 辅助 的 IDE。使用 Cursor 的观感与使用过去的 IDE(如 VS Code、JetBrains 等)非常相似。2026 年 4 月 2 日,Cursor 3 发布,并配备了专门的 智能 Agent 窗口。这是一个独立的界面,用户可以在其中向 Agent 描述任务,而 Agent 应当能够完全执行该任务。听起来很耳熟?
Cursor 新的智能 Agent 窗口看起来与 Claude Code(Anthropic 推出的基于终端的编程 Agent)和其他 AI 聊天机器人界面几乎一模一样。这并非巧合。在我看来,这是对 Anthropic (Claude Code) 推出无需中间层即可实现 Cursor 功能的代码界面的直接回应。
看起来与 Anthropic 和 OpenAI 相似并不等于功能相同。为了查明 Cursor 3 的新界面是否让该工具在与 Claude Code 的竞争中保持优势,我使用流行的开源项目 HTTPie 对这两个工具进行了相同的测试。
测试过程
我的测试重点是 调试。我选择了两个漏洞,它们都有详细的文档记录,但只有一个提供了建议的解决方案。我向这两个工具发送了完全相同的提示词。我附上了详细信息,以便你也想运行自己的测试。
带有建议修复方案的漏洞
在第一个测试中,我向这两个工具提供了一个安全漏洞:“通过恶意 HTTP 响应数据注入终端转义序列”。这个问题允许恶意服务器操纵你的终端显示。该漏洞有详细记录,并包含建议的解决方案。
我为 Claude Code 和 Cursor 3 使用的提示词是:
此代码库中存在一个安全漏洞,HTTPie 在向终端写入 HTTP 响应头和正文内容时,没有过滤终端控制序列。恶意服务器可以在响应中嵌入 ANSI 转义码,以操纵终端显示、更改终端标题或注入剪贴板内容。
受影响的文件包括:
httpie/output/streams.py– 在BaseStream.__iter__()、EncodedStream和PrettyStream中httpie/output/writer.py– 在write_stream()和write_stream_with_colors_win()中
请通过添加一个清理函数来修复此问题,当输出进入 TTY 时,该函数会过滤掉终端控制字符。仅当 env.stdout_isatty 为 True 时才进行清理,而当输出通过管道传输到文件时不进行清理。请在输出流水线的适当位置添加此修复。
不带建议修复方案的漏洞
对于第二个测试,我只提供了漏洞描述而没有提供解决方案,针对的是 “🐛 漏洞报告:当设置了 Content-Encoding: gzip 时,http --download 误解了 Content-Length”。这第二个测试难度更大。它要求 Agent 阅读不熟悉的代码库,找到问题,并自主设计修复方案。
我使用的提示词是:
--download 功能中存在一个漏洞。当服务器响应 Content-Encoding: gzip 并将 Content-Length 设置为压缩负载的大小时,HTTPie 会错误地报告“下载不完整”,因为它似乎是在将 Content-Length 与解压缩后的大小(而非压缩后的大小)进行比较。
根据 RFC 9110,当存在 Content-Encoding 时,Content-Length 应该反映编码(压缩)后的。浏览器、curl 和 wget 都能正确处理这一点。
错误如下所示:Incomplete download: size=5084527; downloaded=42846965
请找到相关代码并修复它。
Cursor 的表现
Cursor 在其智能 Agent 窗口中无需额外提示就修复了这两个漏洞。对于第一个漏洞,它在两个文件中实现了修复,涵盖的转义序列类型比漏洞报告建议的还要多。对于第二个漏洞,它追踪了下载流水线,在 downloads.py 中找到了根本原因。该工具对比了压缩内容的长度与解压缩后的字节数,并编写了一个针对性的解决方案以及一个回归测试,而这一切都没有被告知该去哪里寻找。
开发者体验快速且轻松。这是我做过的最简单的调试,完全不需要 print() 语句。Cursor 阅读了代码库,进行了更改,并给出了反馈。其界面看起来像一个聊天窗口,让人感觉很亲切且轻松。
有一点需要注意:Cursor 无法自行运行测试套件。它提示在其环境中未安装 pytest,并将验证工作交还给了我。当我手动运行测试时,两个修复都通过了。起初,我并没觉得有什么,因为我总是自己运行测试,所以这没什么新鲜的……
Claude Code 的表现
这里不出所料。Claude Code 在无需干预的情况下执行了任务。Claude Code 通过我 MacBook 的终端运行,感觉一点也不像 IDE。不过话又说回来,Cursor 的智能 Agent 窗口感觉也不像 IDE。这又是另一次无缝的开发体验。
在第一次测试中,它正确实现了修复,捕获了自身逻辑中的一个漏洞,进行了修正并继续执行。在第二次测试中,它的速度非常惊人,从提示到修复仅用了 54 秒。它还注意到漏洞所在行有一个 FIXME 注释,这是 Cursor 没有发现的,并将其作为解决方案的一部分删除了。
最显著的行为差异是 Claude Code 在编辑文件或运行命令之前会征求许可。每一项更改都会在生效前呈现供你批准。而 Cursor 则是直接采取行动。根据你的工作风格,这要么让你感到谨慎得当,要么让你感到担忧。在这种情况下,由于我们要寻找的是手动干预尽可能少的智能 Agent 工作流,这两种工作流都是可以接受的。
我们的看法
那个曾花费数小时进行调试的我已经惊呆了。调试正在成为过去式吗?说到更青睐哪款软件,这真的取决于个人口味,因为它们都执行得非常完美。我不断地被智能 Agent 工具改变开发者体验的方式所震撼。我记得以前要花好几个小时调试、打印日志等……而现在就像是,“嘿,这里有个漏洞,请修复一下”。
在 Cursor 加入智能 Agent 窗口之前,产品之间的差异化更明显(特别针对我们测试的调试类工作)。我认为,要让 Cursor 在涉及智能 Agent 聊天/脱手式工作流时保持竞争力,添加智能 Agent 窗口是必要的,因为整个行业似乎都在朝着这个方向发展。
至于 Claude Code 能够在电脑终端内执行,当然,对于那些更喜欢在终端工作的人来说,这可能是一个优势。对我来说,这无关紧要。直接访问终端在任何一方面都不是卖点。如果最终 Cursor 也加入了在 MacBook 终端内执行的能力,我也不会感到惊讶。可能性是无穷的,我猜总会有更多的功能在路上。没有人愿意放弃那块市场份额。我等不及想看接下来的新产品了。全 端 工智能