近期基于大语言模型诞生的代码辅助助手可谓层出不穷,从一开始的github copilot, tabnine到现如今的cursor大火,到底谁才是代码辅助的最强王者呢?我希望就我近期的体验带大家初步认识一下他们(仅代表个人见解)
本文将介绍以下几个工具:
Github Copilot Cursor Continue Extension with 本地大模型/闭源大模型API 通义灵码首先就体验来看,我认为Cursor与上述提到的其他两项没有可比性:
Cursor更类似于一个基于AI技术的融合产品,而非插件。Cursor其实的定位是与VScode平级,就类似于Microsoft 旗下全面融合了Microsoft Copilot的Surface Pro 11和其他Surface Pro 其他早期版本一样,也类似于近期发布的融合了Apple Intelligence 的iPhone 16和先前的其他iPhone版本一样。Cursor基于开源的VScode开发出了在各个功能方面允许AI大模型深度全面融合的IDE。
可能这样说大家还有点懵,那我接下来就简单举几个例子帮大家深入理解他们的特点与差异。
基于插件的AI代码辅助工具
Github Copilot:
Github Copilot首单其中算是该领域最早进入大家视野的工具,其基于Github支持的优质代码样例数据集进行训练并在早期提供使用和Education免费使用吸引了大量用户,可谓在代码理解和项目整体架构思想上都有足够的竞争力。但重点是该工具终究是插件,我认为其目前主要的缺点如下:
中文理解能力支持较差,尽管在Tab Auto-Complete方面大家都能体会到它提供的一些帮助,但对于一些较为复杂的类似堆栈相关的算法实现,基于中文描述基本就很难达到想要的效果。 无法自主进行CodeBase,即默认不提供面向整个代码项目的内容理解,只能自己选入文件或选入特定位置的代码。 对实际前端开发实现的效果和风格没有概念,我觉得这点与其训练数据集有很大关系,毕竟Github是代码托管平台,其产品基本只能基于文本学习优质风格,但是对于代码和风格的对应程度理解较差也较为合理。这里提一嘴通义灵码,由于是近期推出的插件级产品,目前VScode的支持方面除对中文的理解能力更好之外,未发现其他突出特色,同时不支持上传File进行理解和复制。
Continue拓展:
该拓展插件支持用户基于如:
等方法为代码开发提供辅助,类似于Github Copilot其支持:
文件选入和代码片段选入 基于可选模型的Chat聊天框 基于可选模型的基于Prompt代码编辑和自动Debug 基于可选模型的Tab Auto-Complete同时其又基于此支持上述提到的CodeBase以及File上传并理解的功能。
但其最值得说的一点,其实是如果使用本地部署的大模型进行辅助,其所有功能均支持离线断网使用,同时开源大模型支持本地微调,可以说是完全安全且真正意义上的随时可用。
基于IDE的AI代码辅助工具
Cursor:
目前火得可谓一塌糊涂呀,其实我同很多人一样,一开始也持有怀疑态度。
“不就是个代码辅助工具嘛,有啥不一样的,Copilot套壳?还另起炉灶自己做个IDE,小题大做”
但是真正体验下来,可以说真的挺有感触的:
首先回答Cursor为什么要自己做IDE,其主要原因就和我开篇提到的一样,原因就在于:
其已然将代码辅助功能从片段级、文件级转向着眼于项目级的代码辅助这里主要阐述我目前发现最有价值的几点:
项目级全面CodeBase理解:一旦你的项目文件夹在Cursor加载成功,你基本无需再向上述的插件级工具那样通过单个选入文件及片段来让AI辅助你进行代码修改。打开聊天框,输入你的描述并点击CodeBase其就会全面的解析你的代码并给你你想要的结果。 相较于Github Copilot更好的语言定制:其在安装时允许用户进行中文返回消息的定制,甚至是小语种 项目级代码编辑:当你还在根据大语言模型的回复逐个复制并逐个插入代码的时候,Cursor已经支持你通过其提供的Composer功能来理解你的Prompt并进行不同项目文件的代码修改及插入。 更好的多模态理解能力:Cursor类似Continue插件,也支持使用各大闭源大模型API进行远程调用(但不需要进行逐个单独配置,单个订阅全套可用,从gemini claude甚至到openai o1均可用)。所以其充分发挥这一点允许用户不仅上传文件还可以上传图片,其甚至可以根据你提供的关于页面的期望样式图来比照着生成代码。 VScode原始用户的无缝衔接:其在安装时,对于VScode的原始用户允许其进行插件及各配置文件的同步,无论是IDE界面风格还是用户熟悉的插件,Cursor都能让VScode的老用户基本无缝上手。但不得不提一嘴的是,由于其针对项目文件的全盘理解及联网使用,由于涉及方较多,小项目无可厚非,但中大型企业级项目或创业项目一旦接入,基本疑似“裸奔”,不过有看到Business订阅会提供相应的隐私保护。
Conclusion:
既然所有大模型回复都爱跟个Conclusion,咱也就一样小结一下吧。
从价格来看Cursor的订阅基本是Github Copilot的两倍,但由于其无需用户再单独配置各方主流闭源大模型的API而是直接使用,所以价格也还算说得过去。对于个人独立开发者以及起步级项目来说,其提供的功能和效果可以说是空前且颠覆性的。但如果你目前还是学生,处于初学者阶段或对于安全性有一定要求,那Github Copilot再配合Continue插件也是不错的选择。
AI已来,随着o1的发布和Cursor这样产品级的AI工具出现,AI已然开始向各行各业进行渗透并深度融合,同时也向着理解和解决大型复杂问题的方向进发。虽然IDE只是开发工具,但AI前进的步伐永远不会停下。AGI时代终会到来,届时我们又该以何种身份自居,我也想听听大家的思考……
总结
### 文章总结**主题**:探讨基于大语言模型的代码辅助工具,包括Github Copilot、Cursor、Continue Extension及通义灵码等特点与比较。
#### 主要内容:
1. **前言**:
- 介绍了当前基于大语言模型的代码辅助助手层出不穷的现象,并提问谁是最强王者。作者通过个人体验分享了几个主力工具的初步认识。
2. **工具介绍及对比**:
- **Cursor**:
- 定义:不是简单插件,而是与VSCode平级的融合AI技术的IDE。
- 优势:项目级CodeBase理解、更好的语言定制、Composer功能实现多面代码编辑、多模态理解能力(支持文件、图片输入)、VScode用户无缝衔接。
- 潜在问题:涉及多方隐私保护需注意。
- **Github Copilot**:
- 定义:早期进入市场的插件级代码辅助工具。
- 优势:基于Github优质代码数据集训练,有较高的代码理解和项目架构竞争力。
- 缺点:中文理解能力弱、无法自主CodeBase、对生成代码风格和效果的理解有限。
- **Continue Extension**:
- 定义:支持用户使用多种本地/闭源大模型进行代码辅助的插件。
- 特色:支持脱网使用、CodeBase及File上传、可选模型代码编辑和Debug。
- 优势:完全安全与灵活,功能全面。
- **通义灵码**:
- 简述:较新的插件级产品,对中文理解能力有所提升,但暂未发现其他明显优势,不支持File上传理解。
#### 结论:
- **选择建议**:
- 对于个人独立开发者和起步级项目,Cursor提供的功能和效果是空前的,尽管价格较高但性价比尚可。
- 对于初学者或对安全性有要求的学生用户,Github Copilot搭配Continue插件是不错的选择。
- **AI发展的展望**:
- 随着AI技术的发展和产品的出现,AI正逐步向各行各业渗透并深入解决大型复杂问题。IDE只是开发工具,但AI将在未来不断前进和变革,引发对自我角色的新思考。
#### 思考启发:
- 文章最后提出的疑问——在AGI时代,我们将如何定位自己,鼓励读者深入思考AI技术带来的深远影响和变化。