让程序员体验成为甲方爸爸的乐趣
最近刷屏的 "cursor" 程序员们都用了吗?
有人说,cursor 和 copilot 的最大区别在于,copilot 是专为程序员设计的,而 cursor 则是为产品经理准备的工具。然而,我要说的是,用 cursor 的程序员也能成为甲方爸爸。我们程序员不应排斥这么好用的工具!😊
安装与使用
cursor 安装过程相对简单,只需访问官网下载并进行安装即可。
因为 cursor 是 fork 了 VS Code 的代码做的修改,所以它支持了 VS Code 所有的功能。在安装时,会询问你是否复制 VS Code 的配置项,选择“是”后即可完成迁移设置、插件等功能。
如果你之前没有使用过 VS Code,可以在插件市场下载 “Chinese …” 语言包,安装后重启界面即可变为中文。遗憾的是,还有很多地方还未翻译成中文。不过这并不影响你用中文给 cursor 提需求。
cursor 是一个优秀的编程工具,我们程序员不应该排斥它!
插件布局与VS Code有所不同,部分功能需要通过下拉菜单来展示,这可能带来一些不便。
安装完成后,会有一个Welcome的任务。按照说明进行操作一次,就可以立即体验它的AI功能了。
Cursor插件拥有许多实用的功能,比如自动填充内容、与AI进行对话以及通过代码仓库完成需求。其中,最独特的是它的Composer功能,它就像一个“甲方爸爸”,让你能够直接在代码库上进行操作。
要使用Composer功能,请按照以下步骤操作:
1. 选中需要修改的代码段落;
2. 按Ctrl + K键;
3. 如果没有反应,请在Cursor设置项中开启Composer功能。
选择模型时,推荐使用Claude 3.5-Sonnet,目前来看在国内也没有问题。
一切准备就绪后,你可以穿上正装并打领带,享受做甲方爸爸的感觉了。
假设你现在想要建立一个“浪码科技”公司的网站,并作为甲方爸爸,你一点思路都没有。这时,你就可以说,“不要写代码,先给我一些想法。”
它便开始为你整理思路。这些思路确实非常完整且实用性很高。不过,在夸它之前,也得适当提醒:“虽然很好,但我们需要再沟通一下,有什么问题我们再解决。”
它默默无闻地工作,将代码完整地呈现在你面前。与其他编程助手相比,cursor不仅能够创建文件和文件夹,还能在开始执行之前为你构建项目架构,并按照此架构实现所需功能。
我把代码写好了,作为甲方爸爸的我,在不知道任何细节的情况下,你直接让我运行起来。cursor 就像是我的小助手,一步一步引导着我进行依赖包的安装、检查和执行命令的操作。真是非常细心的设计啊。
甚至,你懒得多次 npm init/npm install ,也可以让它把依赖包 package.json 写好,自己再操作都行。(就差它自己操作命令行了~)
就跟现实生活一样,项目肯定不可能一次性生成好。所以,多轮对话功能真的很重要,Cursor 的多轮对话体验真的太好了。
Cursor 写完代码后,整个项目极有可能第一次运行不起来。程序员看代码的习惯就要来了。但是,稍等,你现在是甲方爸爸,直接跟它说“请修复”。
它就会给你道歉/道谢,然后开始排查问题,排查问题之后,再将代码修改。全过程不需要你动一次手。
将代码提交到 Git 时,我们能清楚地看到前后差异。这样你就可以在我的代码上进行审查,就像甲方爸爸一样享受着当架构师的乐趣。
确认可以接受或全部接受的选项,但发现生成的结果有问题。在这种情况下,你可以选择拒绝它。
当然,我们是甲方爸爸。如果不需要动用架构师,可以随意接受所有请求。出现问题再告诉他们也很好。甚至可以直接在控制台中解决问题。
最后发现公司的 logo 没设计完成,一时半会找不到人来帮忙,怎么办?作为甲方爸爸,应该主动提出困难,并积极寻找解决方案。这时候,让代码仔为我们画出logo就是好办法。
对不起,我不具备编写代码的能力。如果您需要公司介绍内容,我建议您使用专业的写作工具或服务来完成这项任务。例如,可以借助Microsoft Word、Google Docs等办公软件,或者聘请专业文案人员进行创作。
请稍等片刻。我将调整鼠标光标的样式,并替换为来自其他AI源的背景图片。
完成调整后,我们再来看看最终的效果。
真的很不错哦!
从此,世界上又多了一位和蔼可亲的甲方爸爸,少了一个备受折磨的代码仔。功能测试
甲方爸爸做完,是不是很爽?但是这几天的深度使用下来,还是有不太好的地方。以下是我个人做的不太正规、不太客观的一些测试及评分。
新建简单静态站点 🌟🌟🌟🌟🌟
因为现代框架 React、Vue等,都有组件化、模块化的思想,代码要做拆分;但是拆分之后,对 AI 来说,就要做跨文件来阅读了。所以在不使用框架的情况下,得到的代码一般都很好。
新建项目 demo 🌟🌟🌟🌟
同样,在使用了现代框架 React、Vue 的情况下,一开始整体项目的开发体验还是不错的。但随着 cursor composer 中引用的内容越多,复杂度越高,相应的得到的结果成功率就会低很多。
新建复杂项目 🌟🌟🌟
demo 做完之后,再基于这个 demo 做复杂项目,出现的问题就多了。比如,我需要将 tab 页从页面上方移到下方,样式需要做调整。对于普通程序员来说,这是一个很简单的效果,结果跟 AI 对话了三次才正确做出来。
还有就是有一些逻辑,死活调试不正常。多次提问也没有很正确的回答。另外,使用第三方插件,代码不一定准确。即使我提供了网址,最后也可能需要多次问答才能有较正确的回答。而且,还有可能本来好好的,改坏了,在一些不应该修改的地方做了修改。换而言之,即是说 AI 提供的答案依然不稳定。
老项目改造 🌟🌟
我尝试将老项目使用原生 JS 写的内容,替换成一个插件,结果出错。出错之后,多次对话,仍未解决。最后不得不放弃了。所以这一块分数较低。
打包工具改造 🌟🌟🌟🌟
我尝试将一个 gulp 的打包项目更新为 vite 打包,三句话就搞定了,还是很顺畅的。所以给四颗星。不过这个项目比较简单,也许后续可以使用更复杂的项目做尝试。
总结
经过这番操作,说说我理解的 cursor composer 原理:
composer 应该是一个智能体(AI Agent),其实由一个主 AI 和 多个子 AI 来进行开发:
主 AI 负责需求理解、分配任务,相当于产品经理、架构师;
子 AI 负责写代码,就是我们一个个具体的开发人员了。
Cursor 这个交互方式让大家都感到非常兴奋,但在处理复杂的项目时,它仍然有些鸡肋。一旦涉及到跨多个组件的问题,就可能会遇到一些问题。而且,在项目的后期阶段,可能很难得到想要的代码。
总的来说,还有不少进步空间,期待 Cursor 的下一次大更新。