Cursor — AI 写代码的编辑器,真实使用体验
Cursor 这个工具我已经用了快一个月了,今天想认真地记录一下真实的使用体验。
先说结论:Cursor 确实提高了我写代码的效率,但它的「智能」远没有营销文章里吹的那么神。它更像是一个特别快的打字员,而不是一个真正的程序员。
Cursor 本质上是一个基于 VS Code 的代码编辑器,内置了 AI 对话功能。你可以用自然语言告诉它你想做什么,它会自动生成代码。听起来很美好,对吧?但实际用起来,你会发现问题远比你想的多。
首先是理解能力的问题。Cursor 能很好地处理简单的、明确的任务,比如「帮我写一个函数,输入一个列表,返回其中的最大值」。这种问题它基本上秒回,代码质量也不错。但一旦任务变得复杂,比如「帮我优化这个 API 的性能,目前在高并发下响应很慢」,它就开始犯迷糊了。它可能会给你一堆看起来很专业的建议,但很多是无关紧要的,甚至有些是错误的。
我印象最深的一次经历是,我让它帮我修一个 SQL 查询的性能问题。它自信满满地给了我一个「优化方案」,用了很花哨的 JOIN 优化和索引建议。我照著做了,结果性能不仅没提升,反而更慢了。最后我自己看了半天执行计划才发现,问题根本不在 JOIN 上,而是有一个子查询没有被正确优化。
这让我意识到一个重要的问题:AI 工具在面对复杂的业务逻辑时,往往是「自信地犯错」。它看起来很对,因为它给出的解答结构完整、逻辑自洽,但前提可能就是错的。这种错误比明显的编译错误更危险,因为你可能会毫无察觉地接受它。
Cursor 最大的价值在处理重复性工作上。比如写表单验证、CRUD 接口、单元测试这些「不需要太多思考但很花时间」的任务。把需求描述清楚,Cursor 几分钟就能搞定,省了不少时间。我现在的工作流程是:先用自然语言把需求描述清楚,Cursor 生成初版代码,然后我再手动修改和优化。这样效率大概比纯手写高了 30% 到 50%。
另一个值得注意的功能是「项目理解」。Cursor 不只是看你当前打开的文件,它能理解整个项目的结构。你可以问它「这个项目用了什么框架?」「这个函数在哪里被调用了?」之类的问题,它能给出准确的回答。这在接手别人的项目或者维护老代码时特别有用。
但它的学习成本比你想的要高。不是工具本身难用,而是你需要学会「怎么跟它说话」。这就是所谓的 Prompt Engineering 在编程场景中的应用。同样的任务,你描述得好不好,直接影响输出质量。我花了大约一周的时间才摸索出一套有效的提示词模式。
比如,不要只说「帮我写个 API」,而是说「用 Express.js 写一个 RESTful API,包含三个端点:GET /users 返回用户列表,POST /users 创建新用户,DELETE /users/:id 删除用户。使用 MongoDB 作为数据库,加上基本的错误处理和输入验证」。越具体,效果越好。
总结一下 Cursor 的优缺点:
优点:处理重复性任务效率高、项目理解能力不错、基于 VS Code 不需要重新适应、定期更新在持续改进。
缺点:复杂业务逻辑容易出错、有时过度自信、需要花时间学习怎么用好它、有时候生成的代码风格不一致。
我的建议是:把 Cursor 当成一个「特别快但需要监督的实习生」。你让它干活,但每个产出你都得检查。不要因为它看起来很专业就完全信任它。这样用下来,效率确实会提升不少。