共计 2960 个字符,预计需要花费 8 分钟才能阅读完成。
其实我早在去年就计划撰写这篇文章,但因为懒惰的缘故一直拖延到现在。
目前,Cursor已成为我一个得力的“小助手”,想不到我也成了老板。而且,Cursor最近也接入了Deepsek-R1模型。(在下一篇文章中,我可能会分享关于Deepseek-R1的实际使用体验)。
Cursor0.45.1已支持所有默认模型列表
然而,对于像我这样的穷程序员而言,Cursor的价格还是显得有些高。而且,我发现Claude3.5sonnet的依从性似乎突然下降,只有Claude3.5sonnet-20241022版本在依从性上表现得更强,适合稍微复杂一点的项目架构。
不过,有个好消息:我们有平替。
这个替代品叫做windsurf。windsurf是由一家美国初创公司推出的,被誉为下一代编程工具,其亮点功能包括代码搜索、自然语言修改代码片段、联网操作读取网页和文档,以及自动生成记忆管理流程。官方宣传称,它可以作为智能代理使用,也可以作为类似copilot的助手。
官方双模式解释图
这是它的地址:https://codeium.com/cascade。与Cursor相比,windsurf支持的模型数量较少。
windsurf官方说明支持的模型
对于专业开发者而言,代码搜索功能可能会显得特别有用。当你编写的代码数量庞大时,这一功能能够帮助你快速检索所有相关文件。自然语言修改代码片段的功能意味着,你可以圈定某段代码,并使用类似AI编程指令的自然语言进行自动修改,之后再决定是否启用修改。
例如,选择特定代码段后,点击“编辑”,便会弹出窗口,接着选择模型,便可开始自然语言的修改。
关于网页搜索和阅读功能的官方说明,经过机器翻译。
自动生成记忆管理功能可以看作是Cursor规则的升级版。简单来说,你能够在对话的上下文中随时创建自动生成的记忆,它具备自动学习和储存的能力,随时可供调取。根据官方信息,它支持Markdown语法及其他原始文本,然而我发现figma的文件仍然无法被识别。
在简单介绍完几个亮点功能之后,不得不提的是关于依从性的问题。
在Cursor0.44版本中,我注意到Claude3.5的依从性显著下降。例如,我将一份接近3000字的需求文档输入给它,详细拆解了每个页面及其组件,但Claude3.5在经过短暂的一两轮对话后便开始遗忘自己要执行的任务,无视我多次提到的需要阅读README.md文档或项目进度记录,导致一个已完成80%的项目迅速混乱,最终只能重构。因此,我在使用Cursor时,通常会切换到Claude3.5-20241022的版本,原因无他,因为它“更乖”。尽管它偶尔也会忘记我说的话,但时不时能回顾,且能够在进度记录中坚持记录项目的进展。
如大家所见,windsurf所支持的模型最高也仅限于Claude3.5-sonnet,但将同样的需求文档输入给它时,它却能够将项目中较为复杂的UI设计呈现出来。
简单介绍一下这个项目的UI设计:这是一个方形的钟面,我希望在其上标注时间刻度,类似于一种异形的传统时钟样式。
无论我如何切换模型、反复强调,或者提供原型图/UI成品图,Cursor始终无法理解钟面是方形的,固执地将其解读为“圆形时钟”。于是,我向开发的小伙伴询问:当遇到异形UI设计时,你们通常怎么处理?
小伙伴回答:切图,然后在上面加文字。
这我明白了。不过,这引发了另一个辛酸故事:为了我的练手项目,我不得不连续熬了几个大通宵来制作UI图(是简单的那种,我本身并非UI设计师,许多专业技能都是速成的)——但这就偏题了。
在我忙于制作UI的同时,也在尝试windsurf是否能成功实现我的设计。令我惊讶的是,windsurf内置的Claude3.5居然能轻松呈现出我想要的效果。在整个调整过程中,并未出现Cursor中频繁遇到的20241022版本问题:修改A组件时不会影响B组件。
那一刻,我几乎泪流满面:为了这个简单的UI效果,我已经拼搏了好几天,几乎不吃不喝,windsurf在某种程度上给了我希望。
此外,在后续的使用中,我发现它在许多方面比Cursor更为稳定:首先是命令行的自动启动功能。在开启YOLO模式后,Cursor时常会出现无法自启动命令行的问题。其次,Cursor的界面偶尔会失去图片上传的入口(不过即使入口消失,也不用担心,直接将图片拖入对话框中即可,点“+”其实没有太大意义)。
如图所示,Cursor界面可能会失去图片上传的选项
其次,windsurf的单次调用时间明显长于Cursor。Cursor在进行25次工具调用(例如编写代码)后会自动结束,而windsurf的调用次数大约在40到50次之间。我记得那天使用windsurf重建所有原型的时间大约为一个小时,尽管生成了100多次对话,Cursor可能需要的调用次数是其两倍甚至更多。
但是,我认为目前各类AI编程工具都进行了各自的微调,否则同一个模型在不同平台上的生成效果不可能差异如此之大。
windsurf也同样是收费的,其Pro计划每月收费15美元,相较于Cursor更为实惠。
windsurf的定价信息,机翻
其付费账户的使用规则比Cursor更加复杂。Cursor的Pro计划提供500次快速请求和无限次慢速请求——经过测试,慢速请求的响应时间并没有明显慢于快速请求,一般在1到2分钟内。快速请求可以使用Claude3.5和4o等,而慢速请求官方说明仅限于无限次利用gpt-4o-mini或cursor-small——实际上,Claude系列模型偶尔也可以使用,但效果不稳定……
windsurf则将积分系统划分为流程积分和行动积分(如上图所示),若选择高级模型发送消息则消耗1个流程积分;使用工具调用(如查看文件、搜索、写入、命令行启动)则消耗1个行动积分。换句话说,使用高级模型进行AI项目操作,每次至少消耗2个积分。若上述积分用完该如何处理?官方提供了Cascade Base模型,该模型不消耗以上两种积分(实际上与Cursor的慢速请求类似,使用上没有限制……)。不过在模型的使用上仍有区分,详见下图:
windsurf的积分消耗示意图
总体来看,个人认为windsurf在多方面的使用体验优于Cursor。Cursor界面存在许多小bug(我已经发了两次邮件反馈,实在不愿再提bug……),且在迭代后并没有得到解决;而其价格稍贵,依从性也有所下降。加之我亲身经历的较为“复杂”的UI设计问题,windsurf在短时间内获得了解决——因此我建议如果你想使用Cursor,不妨先试试windsurf。当然,windsurf的界面与vscode颇为相似,上手难度较低。
哦,或许有人会问:我为何在整个过程中没有提到4o等?原因很简单,真实使用后感觉效果不佳,甚至让我觉得没有必要提及(当然也可能是我的使用方式不当)。
