与 Cursor 和 Claude-Dev 共度的一个月:我的想法
- Rifx.Online
- Programming , Technology , Generative AI
- 04 Nov, 2024
我最近在使用两个新工具—— Cursor 和 Claude-Dev ——这两个工具在开发者社区中都引起了相当多的关注。它们都是通过 AI 驱动的助手来提高编码的速度和直观性,但它们采取了不同的方法,并各自有自己的优缺点。在使用这两者大约一个月后,我觉得是时候坐下来反思一下它们的优势和仍需改进的地方。
让我们从 Cursor 开始。
Cursor: 熟悉但更快速
Cursor 是 VSCode 的一个分支,如果你和我一样已经是 VSCode 用户,那么使用起来就非常简单。我不需要从头开始重建我的环境,也不需要处理设置键绑定。所有在 VSCode 中有效的功能在 Cursor 中开箱即用——我的扩展、设置和键映射都毫无问题地转移过来。过渡几乎是无缝的,唯一的一个关键区别是:AI 自动补全速度更快。实际上,根据我的经验,它的速度大约是 GitHub Copilot 的 10 倍。
现在,“10 倍更快”并不是我从基准测试中得出的数字——这只是我使用一段时间后的感觉。当你在编写代码时,Cursor 预测你的下一步动作时,并不会让你感觉 AI 在滞后或追赶。相反,它与你同步,这有助于保持你的工作状态。我惊讶于当我不再等待 Copilot 赶上或按三次 tab 仅仅为了得到我想要的建议时,我的生产力提升了多少。
Cursor 还有一个很好的功能,它嵌入并索引你的整个项目,使理解文件之间的关系变得更加容易。当你更新一个文件时,索引也会随之更新,这意味着 AI 对你的代码库各个部分如何结合有了更好的理解。如果你在一个大型代码库中工作,多个文件相互依赖,这一点非常有用。
缺点
话虽如此,Cursor 中一些最佳功能是需要订阅才能使用的。我通常不反对为增加真实价值的工具付费,但在这种情况下,我有点失望,因为最有趣的 AI 功能——如多文件编辑——属于高级版本。对于一个仍然相对较新的工具,我想知道过早限制这些功能是否会限制其采用,尤其考虑到已经有很多开发者在为 GitHub Copilot 付费。
我在使用 Cursor 时遇到的另一个问题是,虽然它在快速、小型任务方面表现出色,但在处理更复杂的问题时缺乏我所需的一些灵活性。它非常适合快速代码建议和重构,但当我需要能够处理更复杂任务的工具时,比如读取日志或执行构建命令,我发现自己在寻找其他工具。
Claude-Dev: 开源的黑马
这就是Claude-Dev(现在称为Cline)的用武之地。Claude-Dev是一个针对VSCode的开源扩展,虽然它的打磨程度不如Cursor,但它正在迅速发展——在某些方面,它更为强大。Claude-Dev最引人注目的地方在于,它似乎不仅仅是提供代码片段的建议。它是一个可以与您的环境进行更深层次互动的工具。
例如,Claude-Dev可以读取您的终端日志,理解代码检查错误,甚至运行任意的CLI命令。这意味着如果您问它为什么您的项目无法构建,它不仅会提供建议——它实际上会去查看相关文件,弄清楚您正在使用什么类型的项目(Node、React、Python等),并尝试为您构建它。如果出现错误,它会读取日志,尝试诊断问题,甚至在需要时应用修复。
不过,它并不完美。根据我的经验,Claude-Dev在编辑时的速度不如Cursor。这其中一个原因是它重写整个文件,而不是仅仅更新需要更改的部分。这会导致速度变慢,如果您为API令牌付费(您需要提供要使用的LLM的API密钥),它消耗这些令牌的速度比应有的要快。我一直在考虑为这个项目贡献代码,修复这个问题,使其通过诸如sed
的Shell命令仅更新必要的行。
我发现的一个特别有趣的功能是Claude-Dev如何使用Puppeteer来可视化测试和更新您的前端。您可以给它一张网站的截图,它会将其与您的应用进行比较,迭代直到您的前端达到您想要的外观。这个过程并不是最快的,但它在处理CSS方面出奇地优秀——对我而言,这通常是一个耗时的环节。
它的不足之处
Claude-Dev 无疑是一个适合那些乐于尝试仍然有些粗糙工具的人的工具。与感觉更像是已经准备好投入使用的精致产品的 Cursor 不同,Claude-Dev 更像是一个正在积极开发的强大工具。它并不总是能在第一次就做到正确,而且速度也比我希望的要慢,但它在不断改进。它是开源的,主要由一个人开发,这使得它的创新速度更加令人印象深刻。
那么你应该使用哪个?
如果你正在寻找一个精致、快速的体验,专注于速度和快速建议,Cursor 可能是更好的选择。它感觉灵敏,能够与现有的 VSCode 设置集成,并且可以保持你的工作流——直到你遇到付费墙。但是如果你对此没有问题,并且不需要额外的功能,Cursor 是一个很好的工具。
另一方面,如果你想要的不仅仅是自动补全代码的功能——而是能真正帮助调试、构建和迭代你的项目的东西,Claude-Dev 更适合你。它更灵活,但也稍微慢一些,边缘处理得不够精细。如果你愿意尝试并且能够忍受一些小缺陷,它提供的功能是 Cursor 目前所不具备的。
对我来说,Claude-Dev 胜出,主要是因为它与我的工作流程的深度集成。能够读取日志、运行命令并迭代直到问题解决是无价的,尤其是在我处理不熟悉的代码库时。也就是说,当我需要快速行动而不想等待 AI 处理命令时,我仍然会使用 Cursor。
最后的思考
Cursor 和 Claude-Dev 都提供了独特的优势,我认为我们只是在探索 AI 驱动的编码工具所能做的事情的表面。这里有很大的潜力,尤其是随着这些工具的不断发展。我很期待看到它们的未来,并将继续尝试这两者,看看它们如何融入我的开发工作流程。
同时,我建议你自己尝试一下这两者。每个工具都有其优点,你可能会发现其中一个更适合你的风格,具体取决于你正在处理的内容。