在这个大型语言模型(LLM)日益盛行的时代,你是否渴望一款能够将你脑海中的想法直接转化为现实的产品?
虽然完全替代人类编码是不可能的,但最近有一款产品以其灵活性和智能化的自动编码能力,超越了 GitHub Copilot,成为了开发者的新宠。这款产品就是今天的主角 —— Cursor。
Cursor 官网:https://www.cursor.com/
The AI Code Editor : Built to make you extraordinarily productive, Cursor is the best way to code with AI.
“AI代码编辑器:旨在让你极度高效,Cursor 是与 AI 共舞的最佳编程方式。”
Cursor 是一款 AI 驱动的代码编辑器,旨在通过其强大的编码能力提升开发者的工作效率。它是 VS Code 的一个分支,专注于打造最佳的人工智能编码体验,同时提供程序员们熟悉的文本编辑环境。
cursor-write-code
在 2021 年,几位 MIT 的年轻工程师——Michael Truell、Sualeh Asif、Arvid Lunnemark 和 Aman Sanger ,怀揣着改变软件开发行业的梦想,创立了 Anysphere。他们对AI的潜力充满热情,并意识到现有编程工具在调试和重复性代码编写等方面存在诸多低效之处,比如繁琐的调试、重复性代码的编写等。
他们的目标是创造一款能够大幅简化开发过程的AI工具,让开发者能够专注于创新与问题解决,而不是被繁琐的代码维护和优化任务所困扰。
Cursor 的开发之旅始于构建一个AI驱动的编码助手的想法。最初,团队尝试了多种将AI集成到编码工作流程中的方法,早期版本的重点是增强开发体验,但在与现有工具和工作流程的无缝集成方面遇到了挑战。
最终,团队决定以 VSCode 为基础进行开发。VSCode 的受欢迎程度、可扩展性和强大的生态系统使其成为构建此类工具的理想平台。通过在 VSCode 上构建,Cursor 能够利用现有的用户群,同时添加强大的AI驱动功能,用于代码建议、调试和整体生产力提升。这一战略转变使得 Cursor 能够更自然地融入开发者的日常工作,成为既实用又具有影响力的工具。
通过将 VSCode 的灵活架构与 Cursor 的 AI 功能相结合,这一转变简化了开发流程,并显著扩展了 Cursor 的功能。
Cursor is a fork of VS Code. This allows us to focus on making the best way to code with AI, while offering a familiar text editing experience.
官方文档表示 Cursor 实际上是 VSCode 的一个 fork 版本,之所以基于其开发,而不是插件形式集成进vscode,创始人之一的 Aman Sanger 是这样解释的:主要是为了实现更深层次的定制。他们希望打造一种与 AI 深度集成的开发体验,而仅靠插件的方式会受限于 VSCode 的插件框架,无法实现他们设想中的完整功能和无缝体验。通过 fork VSCode,他们能够对底层架构进行更灵活的修改,控制用户界面和交互,优化性能,并更好地整合 AI 功能,从而为用户提供一个更流畅和强大的开发环境。
以下是他举的几个具体案例说明:
CASE01: The reason we decided to do this is I think in the future, today, what Cursor can provide and what any of these tools can provide isn’t that much different than, I guess, what you get in VS Code. But it was more of a long-term decision where in the long term, you’re going to need to design just a very different UX that the extensions don’t give you. One story we’d heard is that with Copilot, in order to actually get the multi-line ghost text implemented, it wasn’t actually a part of the extension. I think the team at GitHub had to call up VS Code and have them make a change to the source in order for that extension API to be enabled. That’s what allows for multi-line ghost text completion. And this is scary.
案例01: Aman 提到 Cursor 想要构建的代码编辑器,其主体编辑功能跟市面上流行的编辑器并无什么区别,或许由于 VSCode 的受众是这些编辑器中比较突出的,且 VSCode 以 MIT 协议进行开源,Cursor 才最终决定基于 VSCode 进行开发吧。同时 Aman 也分享了一个故事,说 Copilot 的幽灵多行代码实际上不是 Copilot 插件的一部分,而是 VSCode 官方提供的 API 支持的。也就是说如果 Cursor 想要实现一个交互,而这个交互在 VSCode 的插件规范中无法实现,则需要找 VSCode 官方协商提供,这就很被动,甚至很可能无法实现想要的功能。
CASE02: So Copilot is great for completing the next line, completing the next few lines, but what if you wanted to do a kind of sort of edit, where instead of just completing this line, it changes the line above or delete something. There’s no way that you can do something like that in VS Code, but we have the UI for this that we’ve kind of built out in Cursor.
案例02: Copilot 可以补全接下来的多行代码,但如果想要修改多行代码呢,它做不到,因为插件规范不支持。
CASE03: I do think like in terms of inline edits, which means inside the editor, you can press command K in Cursor and then ask for some kind of modification of the code or ask for a generation of the code. And I do think we have probably the best UX for that because if you look at what someone like Sourcegraph does, I mean, Sourcegraph code is a great product, but they basically have to use the GitHub pull request comment feature in order to do it. And I think like these paper cuts kind of add up over time.
案例03: Sourcegraph 是 vscode 插件生态中非常棒的一个产品,但是它的实现比较复杂,而且这个复杂度在将来可能会增加。因为 Cursor 是 VSCode 的一个 fork ,对整个编辑器的交互有绝对的控制权,针对 “通过 command/ctrl + k 唤起一个对话框,并告诉 AI 想要修改的代码,AI 则执行相关的任务” 这类交互,将会变得简单很多。
Cursor 在 VSCode 的基础上进行了大量优化,使其在基础功能和用户体验上相比其他 Copilot AI 助手更具优势。接下来,我将简要介绍 Cursor 的核心功能,让你更直观地了解它的强大之处。
Cursor Tab 是一个类似与 Copilot 的编码助手,但它不仅可以补全代码,还能进行代码修改。
举个例子:
cursor-tab
在这个操作中,我想更改函数的参数名,Cursor 帮我完成了以下操作:
Cursor 也自带聊天窗口,类似于 Copilot 等 AI 编码助手,你可以向它提出问题。
与其他产品相比,它提供了以下增强能力:
Cursor Composer 是整个产品中最接近程序员的功能。结合聊天助手的能力,你可以让它根据你的指示进行代码操作,包括更改代码逻辑、修复 lint 报错,甚至创建或删除文件等。
cursor-composer
AI Review 可以基于真实的审查模式进行代码审查,具体操作分为简单的 2 步:
具体效果,Cursor 官方文档中展示了如下图示:
上面的审查结果显示,当前项目中有 3 个代码块新增了 3 个命令,但这三个命令的执行内容却完全相同,这不仅造成了冗余,还增加了维护成本。试问,用户该用哪个命令呢?
注:目前,Cursor 的最新版本是 0.40.4 ,AI Review 功能还处于 Beta 阶段(接下来的 long context chat 也是处于 beta 阶段),如需开启,可以按照 settings -> cursor setting -> beta 找到开关,并将其开启,具体如图所示:
开启长上下文后,你可以在聊天框中看到这个下拉选项:
同时,你在输入自己 prompt 之后,也可以通过 Ctrl/⌘ .
来回切换两个选项。
长上下文聊天允许你将整个文件夹作为上下文包含在内,因为受支持的模型具有更大的上下文窗口。
切换成长上下文之后,模型选择仅限于支持长上下文的模型:
默认情况下,Cursor 在试用期之后,或超出使用上限时,会提醒你通过订阅套餐来继续使用。(以下是 Cursor 按月付费的订阅说明)
但令人惊喜的是,他们也提供了一个入口,你可以通过配置自己的 AI API Key 来继续使用 AI 能力(当然,自己配置的需要自己向 GPT 等官方支付费用)
除了以上的功能,Cursor 还隐藏了一个功能,叫做影子工作区,该功能默认是关闭的,因为会占用大量内存。开启步骤为:Cursor
->Settings...
->Vs Code Settings
->Cursor
->Cursor > General: Enable Shadow Workspace
(注意:这里的入口不再是 Cursor Settings 了)
简单来说,当你暂时离开当前项目去处理其他事务时,它能帮助你继续编码。具体动作分为以下两块:
简单来讲,就是文件的分层管理。影子工作区在处理文件时,分为两部分:
简而言之,部分文件会从磁盘读取(未修改的文件),而修改过的文件会被代理到内存中读取并进行处理,最终修改经过用户确认后才会更新覆写到磁盘上的实际文件中。
这个实际在官方的博客中提到了:Shadow Workspace: Iterating on Code in the Background 中的【…But: Walled Gardens】章节中有相关介绍。
For Linux, the FUSE folder proxy works great, but most of our users use macOS or Windows, neither of which have a built-in FUSE implementation. Unfortunately, shipping a kernel extension is also out of question: on Macs with Apple Silicon, the only way for a user to install a kernel extension is to reboot the computer while holding down a special key to enter recovery mode, and then downgrading to “Reduced Security”. Unshippable!
Since FUSE partially needs to run inside the kernel, third-party FUSE implementations like macFUSE suffer from the same impossible-to-get-users-to-install-it problem.
在"Walled Gardens"这一章节中,文章提到某些操作系统 (比如 macOS 或 Windows)对系统的控制较为严格,它们限制了用户对内核和文件系统的直接修改权限 。这意味着为了让影子工作区在这些系统上工作,你可能需要安装一些额外的组件或工具,比如内核扩展或虚拟文件系统驱动,才能实现影子工作区的功能。
通俗来讲,有些操作系统就像"围墙花园"(Walled Garden),它们把用户限制在自己允许的范围内,用户无法轻易改变系统底层的行为。为了让影子工作区(比如虚拟文件夹和内存中的文件管理)在这些操作系统上正常运行,你需要额外安装一些东西,比如调整系统的文件管理方式或者安装驱动程序,才能达到所需的效果。
更简单的来说,在这些限制较多的操作系统 (比如 macOS 或 Windows) 上,影子工作区功能 不是开箱即用的 ,你需要额外安装一些工具来提供支持。
最近几周,原本默默无闻的 Cursor 因几条推文迅速走进了大众视野,成为了开发者们提升效率的热门工具。接下来,我将简单回顾一下这些推动 Cursor 爆红的关键时刻。
Andrej Karpathy 在一篇 Twitter 帖子中分享了他对 Cursor 的使用感受。他提到,使用 VS Code、Cursor 和 Sonnet 3.5 相比 GitHub Copilot,编程体验变得更加高效。他发现自己在编程过程中更多地使用自然语言进行提示,然后审查和编辑生成的代码差异(diffs)。他称这种方式为"半编程",即先写一部分代码或通过注释提示推断他的计划,然后通过按 Tab 键完成代码的生成。
有时,他能直接获得一段长达 100 行的代码差异,这比过去手动编写代码要快得多。他表示,现在的编程过程与几年前相比简直是天壤之别,过去只能"无辅助"地编写代码,而如今他已无法想象回到那样的状态。
原文链接:https://x.com/karpathy/status/1827143768459637
原文链接:https://twitter.com/shl/status/1817893179414213029
原文链接:https://x.com/rickyrobinett/status/1825581674870055189
Cursor 的母公司 Anysphere 成立于 2021 年,最初并未受到太多关注。然而,随着其不断迭代和优化的编程工具 Cursor 开始逐渐获得市场认可,公司发展速度显著加快。
在 2023 年,Anysphere 收到了来自 OpenAI Startup Fund 的 800 万美元融资,这进一步推动了 Cursor 的技术进步。到 2024 年,Cursor 成功完成了 6000 万美元的 A 轮融资,投资方包括 Andreessen Horowitz、Thrive Capital、OpenAI、Jeff Dean、Noam Brown 以及 Stripe、GitHub、Ramp、Perplexity 等。这一轮融资不仅大大提升了 Cursor 的市场估值,使其达到 4 亿美元,也为其未来的扩展提供了有力的资金支持。
与此同时,Cursor 的官网流量在过去几个月内呈现爆发式增长。(以下数据来源于 similarweb.com,仅供参考)
据数据统计,Cursor 到 2024 年中期已拥有超过 40,000 名用户,其中不乏大型企业和研究实验室。这样迅猛的增长反映了市场对 AI 编程助手的需求日益增加,也进一步巩固了 Cursor 在这一领域的领先地位。
Cursor AI 最近爆火的原因主要可以归结为以下几点:
Cursor 的爆火不仅得益于资本和技术的支持,更重要的是它顺应了 AI 辅助编程的趋势,以更贴近人类的方式进行编码,成为了许多开发者提高效率的首选工具之一。尽管资本的推动不容忽视,但随着越来越多用户分享 Cursor 的强大和便捷,我们也不禁思考:“更强大的基础能力支持 + 更便捷的交互体验” 是否也是一种有效的推广方式。对于独立开发者、创业者,甚至一些兼职观望者来说,围绕某一核心问题,努力提升技术能力和用户体验,或许是值得重点关注的方向之一。
[1] Cursor : https://www.cursor.com/
[2] Cursor.so: The AI-first Code Editor — with Aman Sanger of Anysphere : https://www.latent.space/p/cursor
[3] Cursor Tab : https://docs.cursor.com/tab/overview
[4] Cursor Chat : https://docs.cursor.com/chat/overview
[5] Cursor Composer : https://docs.cursor.com/cmdk/overview
[6] Cursor AI Review : https://docs.cursor.com/advanced/ai-review
[7] Cursor Long Context Chat : https://docs.cursor.com/chat/overview#long-context-chat-beta
[8] Cursor Custom API Keys : https://docs.cursor.com/advanced/api-keys
[9] Cursor Shadow Workspace : https://docs.cursor.com/advanced/shadow-workspace
[10] Andrej Karpathy’s twitter : https://x.com/karpathy/status/1827143768459637
[11] Sahil Lavingia’s twitter : https://twitter.com/shl/status/1817893179414213029
[12] What can an 8-year-old build in 45 minutes with the assistance of AI? : https://x.com/rickyrobinett/status/1825581674870055189
[13] We Raised $8M From OpenAI : https://www.cursor.com/blog/openai-fund
[14] We Raised $60M : https://www.cursor.com/blog/series-a
版权说明:如非注明,本站文章均为 扬州驻场服务-网络设备调试-监控维修-南京泽同信息科技有限公司 原创,转载请注明出处和附带本文链接。
请在这里放置你的在线分享代码