最近大热的 Cursor 与其他 AI 编程工具相比,有哪些显著的区别?

最近大热的 Cursor 与其他 AI 编程工具相比,有哪些显著的区别?目前市面上更多的 ai 编程工具都是插件形式的 但是 cursor 是直接做了一个 ai 的 ide 他可以通过你现有的代码去分析你后续需求的开发 完全可以达到一个初级开发工程师的水平 下面我跟大家详细的分享一下 结论我放在最后了 Cursor 其实就是 VSCode 的一个分支 集成了 AI 驱动的代码编辑器 前端开发使用的话应该可以说是零成本 下面我将简单介绍一下 cursor 的初步使用以及效果

大家好,我是讯享网,很高兴认识大家。这里提供最前沿的Ai技术和互联网信息。



目前市面上更多的ai编程工具都是插件形式的,但是cursor是直接做了一个ai的ide,他可以通过你现有的代码去分析你后续需求的开发,完全可以达到一个初级开发工程师的水平。下面我跟大家详细的分享一下,结论我放在最后了。

Cursor其实就是VSCode的一个分支,集成了AI驱动的代码编辑器。前端开发使用的话应该可以说是零成本,下面我将简单介绍一下cursor的初步使用以及效果。

可以一键同步本地的VSCode扩展,主题,和快捷键。

Cursor还提供了一个本地模式,保证您的代码不会被存储在他们的服务器或日志中

当我们打开一个新的项目时setting → feature 会将项目中的文件添加到CodeBase中,这样Cursor就可以根据CodeBase中的内容生成更准确的代码。CodeBase索引可以帮助Cursor更好地理解项目结构和代码,从而生成更准确和统一风格的代码。

你可以在项目根目录创建.cursorrules文件,相当于预置一个上下文来规范来让AI生成更准确的代码。比如可以告诉AI当前项目使用了哪些技术栈,应该遵守哪些开发规范,以及面对用户的问题应该如何一步步进行思考,甚至定义一些自定义的指令,这样AI生成的代码就会更准确也更符合项目需求。官方的一些示例:cursor.directory/

可以使用AI编辑和写代码。可以选择一些代码修改,点击“Edit”,并描述代码应该如何改变, 要生成全新的代码,只需在没有选择任何内容的情况下输入Command K。大家可以看下面示例,他能够准确的将vue和ts中所有的地方都正确的修改掉

看到这里你可能感觉没啥,cursor最好的用的功能我觉得是能够结合你的项目代码去书写代码。我们看下面这个示例:

我告诉cursor,我要新增路由/ai,用表格去记录用户在main.js中的产生的数据,支持增删改查。

他首先帮我确定了路由文件的修改

然后新增了一个文件,具体代码我放下面,了解代码的朋友应该很容易判断他写的怎么样

<template> <div class=“ai-table”>

GPT plus 代充 只需 145<h2>AI Data Table</h2> <van-button type="primary" @click="showAddForm">Add New Record</van-button> <van-table :columns="columns" :data="tableData" /> <van-dialog v-model:show="showForm" title="Add/Edit Record" @confirm="saveRecord"> <van-form> <van-field v-model="currentRecord.formType" label="Form Type" /> <van-field v-model="currentRecord.message" label="Message" type="textarea" /> <van-field v-model="currentRecord.selectedFile" label="Selected File" /> <van-field v-model="currentRecord.isYapi" label="Is YAPI" type="switch" /> <van-field v-model="currentRecord.needsInterface" label="Needs Interface" type="switch" /> <van-field v-model="currentRecord.targetInterface" label="Target Interface" type="textarea" /> </van-form> </van-dialog> 

</div> </template>

<script setup lang=“ts”> import { ref, onMounted } from ‘vue’; import { useMainStore } from ‘@/store’;

const mainStore = useMainStore(); const tableData = ref([]); const showForm = ref(false); const currentRecord = ref({}); const isEditing = ref(false);

const columns = [ { title: ‘Form Type’, key: ‘formType’ }, { title: ‘Message’, key: ‘message’ }, { title: ‘Selected File’, key: ‘selectedFile’ }, { title: ‘Is YAPI’, key: ‘isYapi’ }, { title: ‘Needs Interface’, key: ‘needsInterface’ }, { title: ‘Target Interface’, key: ‘targetInterface’ }, {

title: 'Actions', key: 'actions', render: (record) => ( <> <van-button size="small" type="primary" onClick={() => editRecord(record)}>Edit</van-button> <van-button size="small" type="danger" onClick={() => deleteRecord(record)}>Delete</van-button> </> ), 

}, ];

onMounted(() => { loadTableData(); });

const loadTableData = () => { tableData.value = mainStore.getAiData(); };

const showAddForm = () => { currentRecord.value = {}; isEditing.value = false; showForm.value = true; };

const editRecord = (record) => { currentRecord.value = { …record }; isEditing.value = true; showForm.value = true; };

const saveRecord = () => { if (isEditing.value) {

GPT plus 代充 只需 145mainStore.updateAiData(currentRecord.value); 

} else {

mainStore.addAiData(currentRecord.value); 

} loadTableData(); showForm.value = false; };

const deleteRecord = (record) => { mainStore.deleteAiData(record); loadTableData(); }; </script>

<style scoped> .ai-table { padding: 20px; } </style>

然后他还知道在sotre里面存下来数据

并且在上传的地方存下来了

关键是,这一套东西下来,cursor只用了十几秒。

从最近的使用情况来说,cursor的使用效果是非常好的,用于提升自己的开发速度是非常好的选择。

如果你已经看完了整篇文章,你可以发现cursor可以像git一样,给你直接展示出ai修改后的代码对比,并由你决定是否采纳。cursor可以学习你整个项目,然后再去写代码,而不仅仅是根据你的描述直接去写,它写出的代码能够精准到你要修改的多个文件以及内容。你甚至都不需要太多的思考如何去开发。它还支持直接将报错信息直接加入聊天,方便你调试代码,下面是示例:

以上就是我在实际的使用过程中感受到的和其他AI编程工具的区别。

程序员的开发模式现在已经在慢慢发生改变了,愿大家都能在时代的洪流中,稳住自己的小船。

我之前开发比较大的项目一般是用 JetBrains 系列 IDE(PyCharm、CLion),开发比较小的项目一般就用 vim 了。开发比较大的项目最烦的就是写胶水代码,大部分时间都不是在思考功能的设计或者算法,而是花在胶水代码上了。

Cursor 是一个类似 GitHub co-pilot 的 AI 辅助编程 IDE,界面跟 VS Code 比较类似。2023 年 Cursor 刚开源发布不久,我就开始试用了,但当时由于基础模型能力不足,并不是特别好用。今年 5 月 GPT-4o 发布后,我重新开始用 Cursor,发现比在 ChatGPT 里面问代码问题更方便,首先不用来回切换窗口,其次 Cursor 有上下文,问的效率更高。

最近三个月,有了代码能力更强的 Claude 3.5 Sonnet,我已经完全从 PyCharm 和 Vim 切换到 Cursor,因为 Cursor 的开发效率比有 AI 补全功能的 PyCharm 高多了,整体开发效率提升了一倍,最近三个月 GitHub 也轻松保持全绿。

GitHub 最近三个月保持全绿

Cursor 的用途不仅是提升开发效率,还能帮我们快速熟悉新的编程语言、框架和技术栈。例如用 Go 写后端,用 React 写前端,用 Solidity 写智能合约,我之前都不会,但有了 AI 辅助编程,这些都不难。如果我上学的时候就有今天这么强的 AI,可以多学会很多编程技术。

Cursor 最适合的场景是做 demo,用不带插件的 Vim 就能写的代码,Cursor 基本上可以独立完成,一次写出来就不会有太多 bug。已经有很多学生用 GitHub co-pilot 或 Cursor 写课程作业,别人要写一周的项目,用 AI 辅助编程一晚上就搞定了。

比较挑战的场景是修改现有大型项目的代码(俗称屎山代码),用不带插件的 Vim 人都很难写,需要借助 IDE,因为需要不断查询代码仓库中其余的模块,牵一发而动全身。Cursor 使用的生成式 AI 只有根据 prompt 查询到的代码片段,代码编写过程中不能频繁交互查询代码库,因此开发大型项目时就比较难一次写很多代码,经常需要程序员接管。

由于大多数专业程序员都是在大型项目中工作,为了展示 Cursor 的能力,我选择了 USTC 评课社区,在 2 小时的在线直播中,给它开发一个 AI 选课助手。这个项目有 1 万多行代码,大部分编写于 9 年前,技术框架是 Flask + Jinja2 + SQLAlchemy + Bootstrap + jQuery,前端没有使用 React 等框架,而是裸写的 HTML + CSS + JS,实现比较重交互的 AI 应用是相对困难的。

用 Cursor 2 小时写了 800 行代码完成的 demo 截图:

用 Cursor 2 小时完成的 AI 选课助手 demo

我演示开发的 AI 选课助手是一个 RAG(Retrieval Augmented Generation)应用,旨在利用评课社区的点评,回答用户关于课程的问题。其原理是首先识别用户的意图,生成对应的搜索索引查询,再将查询到的课程总结和点评内容作为上下文输入到大模型,再由大模型给用户生成回答。

后端主要涉及 RAG、对话管理和消息历史管理。前端就是一个类似 ChatGPT 的界面,包括对话列表、消息列表、消息输入框、AI 流式输出的控件,其中 AI 助手的输出包括用户意图、搜索结果、AI 回答和用时统计。

如果按照传统的软件开发流程,上述特性至少需要一个前端加一个后端全职开发一周。但用 Cursor,一个程序员就可以在两小时内完成一个基本可用的 demo。虽然前端设计和后端的意图识别、RAG 还有很多待改进的地方,但我自己如果不借助 AI,就算是码力全开,开发完这个 demo 也需要至少一整天的时间。

从下面的全程视频可以看到,我用 Cursor 的时候其实几乎不是在编程,而是在跟 AI 沟通需求。只有在 AI 搞不定的时候,我才去亲手写代码,其余时候只需要定位到需要做什么,然后让 AI 去改代码就行了。

视频中间有很多时间是在敲 prompt 和定位 bug,看的过程中可以跳过。前 40 分钟是在沟通需求和完成第一版代码,后面 80 分钟都是在修 bug,其中后端的 bug 不多,bug 主要是跟仓库现有代码的接口问题;前端 bug 较多(前端代码量也是后端的 2 倍),在 JSON 格式处理的 debug 中浪费了比较多时间。

总结一下,用 Cursor 的总体开发流程是:

  1. 想清楚要做什么,设计系统架构。
  2. 让 Cursor 编写每个模块,一般是先数据结构(数据库表结构),再后端,再前端的顺序比较好。每个模块开始编写时最好给它一个干净的文件,外围有类似功能的文件供它参考,然后给每个模块一个清晰的 prompt,就像跟人沟通需求一样。就像现实世界的合作开发一样,一开始的需求思考和沟通绝对不是浪费时间,一开始定好需求,后面能省很多返工的时间。AI 用 1 分钟左右就能写出一版,看一遍,了解 AI 写的代码结构,顺便修复一些很容易看出的问题。
  3. 各个模块联调。在联调的时候发现问题,程序员定位到问题所属的模块,可以把错误直接告诉 Cursor,让它自己去改。如果 Cursor 改不好,程序员再自己去定位和修改问题。如果问题源于代码仓库中的已有代码,一般是需要程序员人工介入定位的,不要过度依赖 AI 编程。在需要人工接管的编程中,仍然可以使用 Tab 方式提升编码效率,也可以随时使用 Ctrl+K 进行代码重构。

当然,用 Cursor 仍然需要扎实的计算机编程基础和工程实践经验。Cursor 只是辅助编程工具,尚未达到端到端完成整个工程项目的水平,没有架构设计能力,也不具备调试和定位 bug 的能力,很多时候仍然需要程序员手动接管。

在前面的视频中可以看到,AI 生成的代码还是有很多 bug 的,其中一些一眼就能看出来,例如大模型 prompt 不专业、前端流式传输用的 API 不对,如果编程经验不足,后续调试估计要花很多时间。在调试过程中,程序员也首先需要定位到是哪个模块的问题,再让 Cursor 去改。有时候 Cursor 改不对,例如前端页面布局问题,需要手工修复。

因此,优秀的程序员用了 Cursor 效率能大大提升,基本功不扎实的程序员用 Cursor 的效率提升就不一定很大。有些程序员看不懂别人的代码,那调试 Cursor 自动生成的代码可能比自己写还费劲。

一位朋友说,现在 AI 编程的水平至少相当于年薪 40 万人民币的程序员,编程基本功扎实,代码风格良好。(说这句话的时候 OpenAI o1 还没发布,今天 o1 的编程水平已经没多少人类能比过了)

我再次呼吁,每个程序员都要学会用 AI 辅助编程,去年的**实践是问 ChatGPT,今年的**实践是用 GitHub co-pilot 或 Cursor 这样的 AI 辅助编程工具,明年可能**实践就是 OpenAI o1、Devin 这样的端到端 AI 编程工具了。不会用 AI 辅助编程的程序员,由于生产效率和学习效率太低,过不了几年可能就会被淘汰。

有些人可能担心,AI 编程比人都厉害了,大多数程序员是不是要失业了?其实大可不必担心,因为 “要做什么” 这件事情总是需要人想清楚的,各种编程语言、框架和工具都是在减少人在细枝末节上消耗的时间,从而可以更专注于有创造力的事情。从汇编语言到 C 语言再到 Python 等高级语言,程序员不但没有失业,还创造了更多的价值,AI 辅助编程也是如此。

先说结论:在OpenAI o1 preview发布之前,Cursor的上限是由Claude Sonnet 3.5的上限决定的。

同样的问题,你用cursor-small那个模型,代码质量远不如Claude Sonnet 3.5。

我甚至怀疑,垃圾的模型都很难理解我的需求是什么。

而强的模型,即使是非常模糊的需求,它都能够很好的理解我的意图,甚至比我预想的结果还要好。

在控制变量法的前提下,cursor我用了,同一个项目,都是修修改改的小issue。

结果有好有差且差距显著,那就只剩下使用的不同模型带来的性能差异了。

你可以看Cursor官网对于他们自己的模型cursor-small,就是不行,优点就只有快和快速编辑任务。

我其实不是很清楚这个editing task指的是什么的,大概率是改个变量名字之类的活。

可以说是几乎没什么用,我是用的免费版,它提供了50个高级API,不够用是肯定的。

但是新注册一个google账户就能解决这个问题,再加上也不是一直用,所以费点劲还能凑合用。

搞明白Cursor的上限之后其实就比较容易去更好的使用它了。

之前说了很久以来cursor最强的模型就是claude sonnet 3.5,这个大概率是因为Claude本身就支持代码的网页端渲染。

比如我之前用claude生成的动画,你只需要给它一个prompt,就能在右边生成代码,并且给你两个选项:

1 Preview - 预览,也就是渲染或者执行代码。

2 Code - 源代码。

它天生就跟cursor这种AI辅助编程工具属性和功能上相配,所以即使用GPT4o的API,都不如专门做了编程特训的claude好用。

分析完Cursor之后,有几个在使用过程中总结出来的经验。

这个利用的是gmail的特性。

也就是你的邮箱地址比如是,那么跟原邮箱是等价的,也就是中间加「.」不影响。

但是cursor只要发现你的注册邮箱跟原来的不同,它就认为这是新邮箱,然后给你会员额度。

很多人就是利用这个规则在白嫖cursor会员。

估计cursor也知道,但大概率懒得管,或者说还不到时候。

好处是可以激活它的最大化能力

用它生成的代码去生成项目

然后几分钟后,这个代码会给你生成一个完整的项目。

在终端输入npm start可以运行,你就看到这个。

这个是默认的比如说你有一个比较想要的风格,那么你可以这样做。

就拿我这个博客做例子,你可以直接拿我这个首页,扔给cursor。

prompt随便写:比如仿照这个首页做我的博客等等。

这么做的好出来了,你看这是cursor提出的整个方案,要对好几个文件进行修改。

其实有代码经验的话也不复杂,就是找这几个文件然后复制粘贴就行。

我觉得非常的简单,就是旁边这些。

但是cursor的好处就是连这个你也不需要懂。

你只是从头到尾一直用的cursor提示的代码,那么你会解锁最简单模式。

因为但凡是它创建的文件,它就会自动找到这个文件并做出相对应的修改。

你要做的非常少,就是点这个apply(应用),然后再点接受accept,结束。

有些文件没有,它会提醒你,你看第一行就是它该去的问题。我知道很多人连这个都不太会,但是没关系,你去点Ask。

然后问它怎么做,它会详细的告诉你一步步做,如何你实在还是不会。

你就用这个prompt

请问怎么在命令行做

这个虽然是代码,但实际上比你手动创建文件夹还要简单,因为你可能会大小写拼错,但这个你只需要复制粘贴就行。

你在Ctrl/Cmd + L打开对话框中之后,输入@可以激活这个功能。

其实就是RAG,也就是引入外部的数据。

它不仅可以添加图片,甚至可以添加整个文件夹,或者某个github仓库等等。

甚至有些人直接把非常大的一个文档放进去做RAG,效率和精准度都挺高的。

所以,如果做什么屎山项目,可以多试试在提问之前,先把RAG给做了。

还有一个添加RAG文件的方法,就是打开cursor的设置,然后打开feature,点击右下角那个添加文档进行添加。

这个可以是任意的公开的文档链接(你不需要下载)。

更新截止19 Sep 2024。

以后再慢慢加。

小讯
上一篇 2026-03-12 18:53
下一篇 2026-03-12 18:55

相关推荐

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容,请联系我们,一经查实,本站将立刻删除。
如需转载请保留出处:https://51itzy.com/kjqy/214940.html