Cursor 是一款近期备受关注的 AI IDE,迅速在社交媒体上走红,逐渐取代了 GitHub Copilot 的地位。其背后的公司 Anysphere 最近获得了 OpenAI 领投的 6000 万美元 A 轮融资,这进一步增强了众多 AI 创业公司的信心:只需在用户价值的深处持续探索,就能找到产品市场契合度(PMF)。
Cursor 成功的关键因素
1. 先进的 AI 模型
Cursor 的成功很大程度上得益于其采用了最先进的 AI 模型。Cursor 创始人透露,早在 2022 年 12 月,当大多数人还在使用 ChatGPT 3.5 时,Cursor 就已获得 GPT-4 的体验权限,并基于此构建了 AI Native IDE。最近,接入 Claude Sonnet 3.5 后,生成的代码质量和成功率显著提高。若使用 ChatGPT 3.5 或更低版本的模型,无法实现 Cursor 所期望的 AI 功能。
Cursor 默认可供选择的模型
Cursor 还对模型进行了多项优化,例如通过将本地代码分割上传至服务端进行嵌入(embedding),使模型对当前仓库代码生成更准确;使用推测解码技术(Speculative Decoding)将输出速度提升至 1000 个 token/秒,这些都是 Cursor 的核心技术。
2. 创新的 AI 编程交互方式
Cursor 还找到了更好的 AI 编程交互方式。在智能编辑器方面,Cursor 实现了多行补全、智能改写和下一次补全的预测等功能,称之为“Cursor Tab”,使得编程工作更加流畅。此外,Cursor 的 Inline Chat 功能允许用户在编辑器中快速唤起输入框,通过自然语言生成业务需求的代码,并实时观察代码逐行生成的过程。
Cursor 的 Inline Chat 功能
Cursor 的聊天面板功能也非常强大,包括对整个仓库进行问答的 Codebase Agent、请求互联网的 Web Agent、快速索引在线文档的 Doc Agent。除了这些核心功能,Cursor 还对 IDE 的多项功能进行了升级,例如通过自然语言设置终端命令、拦截终端输出并提供解释和修复建议。
Cursor 通过自然语言完成终端命令
为什么其他智能研发助手无法复制 Cursor 的成功?
自 2022 年 12 月 ChatGPT 发布以来,大语言模型取得了前所未有的突破,催生了众多 AI 驱动的应用程序,尤其在研发领域,各大公司纷纷推出智能研发助手插件,如 Microsoft 的 GitHub Copilot、Amazon 的 CodeWhisperer 等。然而,这些插件由于 API 限制,无法实现 Cursor 的多行补全和 Inline Chat 功能。
以代码优化和生成单测功能为例,智能研发助手通常需要通过右键菜单或 CodeLens 将要优化的代码发送到聊天面板,之后再手动复制替换。而 Cursor 则可以在编辑器内部直接弹出输入框,输入代码优化或其他任务,生成的代码会以 Diff 方式展示,开发者只需选择接受或放弃,整体体验更加流畅。
智能研发助手代码优化交互与 Cursor Inline Chat 对比
Cursor 的优势
通过对比,Cursor 代表的 AI 原生 IDE 与智能研发助手的功能差异如下:
- 功能实现:随着大模型的逐步突破,插件只能实现其中 50%,而 AI IDE 能实现 100%。
- 定制化问题:由于 VS Code 在 AI 时代反应较慢,Cursor 选择直接 fork VS Code 进行魔改,以满足定制化需求。
魔改 VS Code 的挑战
魔改 VS Code 带来了以下问题:
- 升级困难:对 VS Code 的深入修改会导致分叉增大,增加后续升级和解决冲突的成本。
- 维护成本高:基于 VS Code 进行深度定制是一项复杂的工作,需要投入大量时间和资源。
- 潜在缺陷:在定制过程中可能引入新问题,导致 Cursor 出现一些在 VS Code 中不存在的问题。
OpenSumi:AI 原生 IDE 框架
OpenSumi 是一个开源的、高性能和高度可定制的 IDE 研发框架,提供模块化开发方式,支持构建多种形态的 IDE。其主要特点包括:
- 模块化开发:提供 50+ IDE 的原子模块,集成方可根据需求自由组合。
- 高扩展性:支持依赖注入方式开发,方便替换底层实现。
- 多端支持:支持构建桌面端、Cloud IDE、Remote 模式等多种 IDE 模式。
- 兼容 VS Code 插件生态:无缝迁移用户使用习惯。
2024 年 5 月,OpenSumi 发布了 3.0 版本,增强了编辑器、终端面板等核心面板的 AI 能力。
三步构建出自己的 Cursor
第一步:Fork & Clone CodeFuse IDE 并安装依赖
Fork & Clone CodeFuse IDE,并参照 README.md 文件安装依赖。
bash
git clone [email protected]:codefuse-ai/codefuse-ide.git && cd codefuse-ide
国内用户考虑使用 npmmirror 加速安装依赖
yarn config set -H npmRegistryServer “https://registry.npmmirror.com”
export ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/
安装依赖
yarn
rebuild electron native 依赖
yarn run electron-rebuild
第二步:修改配置
CodeFuse IDE 支持集成任意模型服务,默认与本地模型对接。可在 src/ai/browser/ai-model.contribution.ts
路径修改模型请求接口。
第三步:运行
至此,模型已修改完成,使用以下命令直接运行:
bash
yarn start
愿景:成为智能研发时代的 IDE 基建
在大模型技术飞速发展的时代,VS Code/Jetbrains 的插件 API 不应成为智能研发创新交互的天花板。若希望打造类似 Cursor 的 AI IDE,创业公司应更专注于 AI,而非研究如何魔改 VS Code,IDE 的创新交互由 OpenSumi 提供。
OpenSumi 正在积极探索 AI 能力,欢迎与业界共同探索符合智能研发时代的 AI IDE。
内容推荐
2024年8月18-19日,AICon 全球人工智能开发与应用大会·上海站成功举办,汇聚超过60位大模型行业先锋,深入剖析大模型训练与推理机制等热点内容。经过嘉宾授权,整理了一份演讲PPT合集,不容错过。
会议推荐
InfoQ 将于 10 月 18-19 日在上海举办 QCon 全球软件开发大会,覆盖前后端 / 算法工程师、技术管理者等开发者群体,内容涵盖当下热点和传统经典。大会已开始正式报名,享受 9 折优惠,详情可联系票务经理咨询。