三步打造你的 Cursor

Cursor

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 默认可供选择的模型

Cursor 还对模型进行了多项优化,例如通过将本地代码分割上传至服务端进行嵌入(embedding),使模型对当前仓库代码生成更准确;使用推测解码技术(Speculative Decoding)将输出速度提升至 1000 个 token/秒,这些都是 Cursor 的核心技术。

2. 创新的 AI 编程交互方式

Cursor 还找到了更好的 AI 编程交互方式。在智能编辑器方面,Cursor 实现了多行补全、智能改写和下一次补全的预测等功能,称之为“Cursor Tab”,使得编程工作更加流畅。此外,Cursor 的 Inline Chat 功能允许用户在编辑器中快速唤起输入框,通过自然语言生成业务需求的代码,并实时观察代码逐行生成的过程。

Cursor Inline Chat
Cursor 的 Inline Chat 功能

Cursor 的聊天面板功能也非常强大,包括对整个仓库进行问答的 Codebase Agent、请求互联网的 Web Agent、快速索引在线文档的 Doc Agent。除了这些核心功能,Cursor 还对 IDE 的多项功能进行了升级,例如通过自然语言设置终端命令、拦截终端输出并提供解释和修复建议。

Cursor 终端命令
Cursor 通过自然语言完成终端命令

为什么其他智能研发助手无法复制 Cursor 的成功?

自 2022 年 12 月 ChatGPT 发布以来,大语言模型取得了前所未有的突破,催生了众多 AI 驱动的应用程序,尤其在研发领域,各大公司纷纷推出智能研发助手插件,如 Microsoft 的 GitHub Copilot、Amazon 的 CodeWhisperer 等。然而,这些插件由于 API 限制,无法实现 Cursor 的多行补全和 Inline Chat 功能。

以代码优化和生成单测功能为例,智能研发助手通常需要通过右键菜单或 CodeLens 将要优化的代码发送到聊天面板,之后再手动复制替换。而 Cursor 则可以在编辑器内部直接弹出输入框,输入代码优化或其他任务,生成的代码会以 Diff 方式展示,开发者只需选择接受或放弃,整体体验更加流畅。

智能研发助手与 Cursor 对比
智能研发助手代码优化交互与 Cursor Inline Chat 对比

Cursor 的优势

通过对比,Cursor 代表的 AI 原生 IDE 与智能研发助手的功能差异如下:

  1. 功能实现:随着大模型的逐步突破,插件只能实现其中 50%,而 AI IDE 能实现 100%。
  2. 定制化问题:由于 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

CodeFuse IDE 运行效果

愿景:成为智能研发时代的 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 折优惠,详情可联系票务经理咨询。

(0)
上一篇 4天前
下一篇 4天前

相关推荐