硕鼠的博客站

范路的博客主站,时而会发些东西。

最新的AI智能编程工具Cursor又震惊了世界。这回程序员是不是真的要失业了?大家好,这里是老范讲故事的YouTube频道。最近,一个新的AI IDE,也就是集成开发环境,再一次出圈了。这个新的AI IDE的名字叫Cursor。为什么这一次出圈了呢?因为有两个8岁,或者肯定小于10岁的孩子,独自使用Cursor,在不需要进行大量的编程培训和教育之前,就可以写出一些相当复杂的应用出来了。甚至他们有些人可以自己写出ChatGPT的这种客户端,或者是一些3D的小游戏。

我们一般管这样的案例叫做“wow案例”。什么叫“wow案例”?我以前也是专门做IDE的这种推介的,我们经常会设计一些演示,观众会发出“wow”这样的声音。现在有没有经过学习的8岁小女孩,她就可以直接使用这样的工具,使用英语提示词,做出非常复杂的应用,而且是可以独立运行的应用。这确实是让人可以惊叹一下的。

放心,今天咱们尽量不讲编程技术,尽量去讲新的IDE会对整个行业带来什么样的改变。真正有趣的地方是什么?第一个大模型呢,其实不是它自己做的,它主要用的是Cloud 3.5、Sonic,以及GPT-4、GPT-4 Mini这样的模型。它自己也有一个模型,Cursor Small,但好像很少有人用这个模型。你可以选,但我基本上没有看到谁在选这个模型使用。绝大部分人使用的都是Cloud 3.5 Sonic。

至于GPT-4 O呢,你可以配置自己的API的TOKEN上去,就是使用自己的额度,当然也可以不配。他可以给你免费的14天,这个时候你可以使用Cursor的额度。另外,它还支持Gemini,但Gemini我配置了半天没有成功过。你只要把Gemini的这个API填进去以后,它就没有反应了,不知道为什么。至于其他的模型是不是可以使用,我现在还没有太搞明白。

有一些人号称国内的或者一些开源的这种代码生成模型也是可以工作的。我等回头学习明白了再跟大家讲。像这样的一个项目,主要模型不是自己的,那么它到底是怎么工作的呢?Cursor整个的IDE是在VS Code这样的开源IDE的基础上去修改出来的。我们去稍微看一下它的架构。

现在大部分的IDE,也就是集中开发环境,实际上是一种VS Code,微软家的。还有一种叫IntelliJ,这是另外一个系统,它应该不算开源。想要在这个上面去实现AI辅助编程,一般是两种状态:第一种是在VS Code或者IntelliJ上去加上插件,另外一种就是自己独立开发IDE。Cursor它是属于拿着VS Code的开源代码,在这个上面自己改了一个独立的IDE出来,等于在这个上面做了一个分支。

它是通过这种方式来实现的。Cursor里面应该是有一些提示词工程,所有的AI辅助编程实际上内部都是有提示词工程的。就是我们写到AI辅助编程工具里面的这些提示词,实际上都是要经过它这些系统内部的一些提示词模板,套完了以后再去工作的,而不是说这些工具直接把我们的提示词扔给大模型就可以干活了。

那么在这个过程中,它还需要做一些什么样的事情?第一个,它需要把我们的代码进行一定的处理,一起扔给大模型去进行回答。第二个,大模型拿回来的这个答案以后,它需要直接去修改代码,而不是说给我们一个建议,给我们一个聊天结果就完事儿了。这一块是AI辅助编程工具都要去做的。

那这里,Cursor肯定要比别人做得更好一些。Cursor其实是一个交互设计的胜利,并不是说一个基础大模型或者技术有什么样的大的提升,它只是把交互的过程设计得相对人性化一些。那么大家久旱逢甘露,说终于有一个好使了。你其实使用Cloud 3.5、Sonic或者使用GPT-4,你去问相应的问题,它们都是会给你可以使用的解答的。

但是在这个过程中,总是觉得不那么顺畅。你比如说,我在Cloud 3.5上,或者是在GPT-4O上提了问,得到了一大堆的答案以后,我需要再对照着自己的代码拷贝粘贴,再在里面找到需要修改的部分去修改。现在,Cursor等于一次搞定了,它把你的代码一起提上去,说明这些代码是这样的,你现在遇到了什么问题,应该怎么去修改。返回的结果是一大堆的修改建议,你可以一项一项地确认。你只要确认确认确认,它就直接把所有的文件都改掉。这些修改可能在不同的文件里,甚至有可能会给你创造一些新的文件。

当然,比较偷懒的方式,或者说8岁女孩的方式是什么呢?就是同意所有,一次把所有需要创建的文件、需要修改的代码一把全都过去就完事了。那么它跟传统的,或者说从去年开始就有的这些各种各样的AI辅助编程工具到底有什么差异呢?就是多个代码文件可以同时进行阅读和修改。

我们使用GitHub Copilot的时候,每次只改一个文件,它不可能说我把整个系统里头一大堆文件一起都给你改了。现在,Cursor就可以把这事搞定。而且,它在开发的时候很好地考虑到了程序员的使用习惯。什么是程序员的使用习惯?当你去修改一整段代码的时候,可能说我先把第3行改了,改下边应该改第5行,第4行其实没什么可变的。当你改完第3行以后,按一个Tab键,它就自动跳到第5行应该去修改的地方,你接着改就完了。它把很多程序员使用的习惯都给你串起来了。这就是交互设计的一个革命,或者是胜利吧。

再跟大家讲一个wow的瞬间。你可以直接往里贴图片,甭管是GPT-4O还是Cloud 3.5 Sonic,都是可以进行图片识别的。所以它允许我们直接在对话窗口里,把一个设计师设计好的图片,这个界面应该长什么样,直接扔进去。扔进去以后,它就识别这个图片,然后把我们的代码改成这个图片上长的样子,这个非常厉害。像以前我们经常讲叫像素级拷贝。

我们看别人的哪个APP做得很好,别人的哪个网页做得很漂亮,直接把那个图片切下来扔进去,这边就直接给你做好了。以后再做像素级拷贝这种事情,就不需要人了,完全可以靠AI搞定了。那么,Cursor是不是真的会让程序员失业呢?

我们其实从AIGC出来,从最早的AIGC工具,实际上最早的是什么?就是GitHub Copilot。从这个工具出来的时候,就在开始喊程序员要失业了,到现在已经喊了快两年了,因为这个产品是在2022年的年中出来的,现在已经是2024年的秋天了。那么程序员依然没有失业。

那么Cursor出来以后,是不是可以让8岁的小姑娘不需要经过训练就可以做出应用来了?那你说要程序员干嘛使?我自己测试了三天,这真的是把它装上来,把以前的一些代码拿回来,改了三天。聊一聊感受,这言出法随,哈哈,上帝说有光,于是就有了光。这件事情到底是不是实现了,还是有一些距离的。

大家要注意,前面8岁小姑娘虽然做出了应用,但她也是做了40多分钟,她也是要反复去提,说我要一个什么,哪个地方不对了,哪出现问题了,哪去给我修改一下,哪个地方我不满意了,要反复去提这件事情。第二个,他们所能够做出来的应用,虽然是一个独立的应用,但那是一个相对简单的应用,里头有很多的细节还是比较粗糙的。你希望有一个真正的产品化的应用出来,还是需要进行很多很细致的学习,并不是说任何一个8岁小孩坐在这,拿到工具就可以干活了。

那么演示过程中的这种wow案例都是怎么来的?我以前做了这么多年的Evangelist,也就是IDE的布道师,我可以告诉大家,绝大部分的wow案例都是故意编排的。还有一些wow案例是偶然所得,但经过大规模的筛选出来的,就是很多人都去试了,绝大部分人没有试出来,只有几个人试出来了。这样的案例你把它筛选出来以后,再去给别人展示,那么它也会成为一个wow案例。

其实我们看到很多的机器人演示的这种视频,甭管是擎天柱还是 FIGER01、FIGER02,包括国内的一些机器人的这种演示视频,基本上他们的那种 wow 瞬间都是这么做出来的。要不然就是故意编排剪辑,要不然就是反复重试多少次,然后最后给你看成功的一次。

那么 cursor 距离彻底的研出法到底差在哪呢?其实是很多的细节没有学过编程的人还是不太容易搞定的。我举一个案例吧。我这几天去测试的时候,让 cursor 给我写一个 Flutter 应用。Flutter 是谷歌做的一种跨平台的开发技术,它可以同时开发 Windows、Linux、macOS、Web、安卓、iOS 应用。你等于写一套代码,它就可以直接开发出这么多种应用来。

我等于用 Flutter 去做了一个应用,然后让这个 Flutter 应用去连接我本地的 Dify 的这种 API 端口去做一些数据的访问。到这儿呢,就直接报错了,说这个事儿不对,我连不通这个东西。然后我再把这些错误去询问 cursor 的时候,cursor 就开始恢复大模型本色了。因为你问的还是 GPT-4O 或者是 Cloud 3.5 Sonic,他给你回复是什么呢?他说:“哎呀,有三种可能,第一种可能是什么,第二种可能是什么,第三种可能是什么。”其实这几种可能里头没有任何一个是正确答案。你再去反复的问他,各种的修改都是错的。

那如果没有学过编程的话,可能就会比较费劲了。我个人呢,还是前面学了一些 Flutter 到底怎么编成的,然后我就去问他:“这个东西是不是有一些配置文件需要改?”他说:“对,是有配置文件需要改。”你如果提不出这个正确的问题来,他可能就永远在一些概率比较高的问题上绕来绕去,一些概率比较低的问题就直接被他忽略掉了。

那为什么始终他没有找到正确答案呢?因为绝大部分人使用 Flutter 的时候,都是在开发 iOS 或者是安卓应用,可能绝大部分人在开发安卓应用。

而我写的是一个 macOS 应用。我就跟他说,我现在是 macOS 应用,遇到这样的一个问题:需要修改哪一个具体的配置文件,才能给我的 Flutter 应用打开网络接口。他哦,明白了,你到哪个哪个目录下找到哪个文件,然后在里头加两行,就搞定了。

像这种跨平台的开发工具里边,每一个平台的权限其实是需要单独写配置文件的。虽然 Flutter 可以跨平台,但你要给 iOS 应用打开网络接口,需要到里头去找配置文件去改;你要给安卓应用打开网络接口,也要到安卓那一块的配置文件里去改;macOS 也是一样。如果提不到正确的问题,就永远做不对,可能会出现这样的情况。

所以在这个过程中,程序员的知识还是起到了一定的作用。如果没有应对这种跨平台开发工具的经验,就不知道该提什么问题。为什么这些东西都是分开的?因为不同的软件平台、不同的操作系统,对于权限和整个底层的代码库的差异是很大的。

像 Flutter 这样的跨平台开发工具,为了让你的逻辑代码尽可能地和平台底层的这些代码完全隔离,等于写一次就可以四处运行。因此,它一定会把各个平台的配置信息拆到外边,单独让你写去。你的所有逻辑代码按了什么出什么,哪个地方画红的、绿的、蓝的,这些都让你写在一个地方。

如果没有这样的知识,就没法使用这样的程序。那你说我有了这样的知识,Cursor 在里边干嘛呢?当我有了这样的知识,提出了正确的问题以后,Cursor 就可以快速告诉我,这个文件在什么地方,你应该往里加哪几句话。然后你只要告诉他说我同意的修改,他就自动给你加上。加完了以后,这个程序就可以跑了,所有的错误就过去了。

这就是 Cursor 比较强的地方。所以,两边结合起来才是真正的答案。这一次程序员又没有失业,我们又在危险的边缘晃了一圈,转回来了。

咱们再讲一下古代骑士从失业到再就业到底是一个什么样的过程。很多人很焦虑,问我是不是要失业,希望这个故事能够安慰你。

骑士是怎么失业的呢?步枪发明了以后,骑士就失业了。为什么呢?以前要想成为一个骑士,你需要训练一辈子,从小开始训练。而有了步枪之后,任何一个健壮的农夫或工人,经过三个月的训练就可以上战场了。训练了三个月的农夫与训练一辈子的骑士,他们在战场上的杀伤力和存活率其实差不太多。

在这样的情况下,骑士就没有存在的必要了。这跟我们现在的情况其实很像。想想一个8岁的小姑娘可以去写应用,那么是不是依然需要一个孩子从大一开始上四年大学,再上两年研究生,出来成为程序员呢?这跟骑士的状态是不是非常像?

那骑士在被淘汰以后,怎么再去就业呢?在骑士被步枪手淘汰之后,战争的规模发生了变化。原来骑士打仗时,一场战争也就几十个人或几百个人,能够上万人的战争就很少了。然而到了步枪兵的战争,参与人数变成了几百万人。在这个过程中,我们需要更多的人去进行指挥和后勤协调,甚至需要很多人去培训这些步兵。

这个过程又是一个需要培训一辈子的过程,或者需要一些职业军人去担任相关岗位。这就是骑士再次就业的过程。以前的骑士要练习武艺,同时也要练习指挥,现在可能更多的人要去学习指挥。你说我没有指挥天赋,我武艺特别好,有一把力气,这事行不行?也还有一些专业军士长或者特种兵的位置在等着大家。

军官团、职业军士,包括一些专业军士的总数量,其实要比旧时代的骑士数量大得多。这就是骑士从失业到再就业后,变成一个数量更加庞大的团体的过程。程序员其实也是如此。我们会有一些焦虑,有很多未经训练或只经过少许训练的人也可以成为程序员,去干事情。再去学四到六年的编程,这件事情显得很傻。

但是后面我们要去培训这些人,要去组织这些人,要去写一些真正底层的模块,比较难的模块。那么在这一块,需要比现在更多的程序员。这就是骑士跟程序员在被替代、重新就业之间的异同之处。

那么,cursor到底应该怎么用?咱们前面没有讲编程的部分,后边我们稍微讲一点点。首先去cursor.com的网站上去下载,下载了以后呢,会自动合并VS CODE上面的各种配置,因为它是从VS CODE里边分支出来的嘛。你比如你在VS CODE里头装什么插件,写了什么配置,它会自动给你拉回来。

再往后呢,就是要去使用大模型了。你可以自己设,说我的这个API TOKEN是什么样的,你也可以不设。不设就是使用cursor的额度,免费的,一天有多少次。付费了以后就会取消限制,你就可以直接使用。它的免费是14天,你说我14天用完了怎么办?换个邮箱还可以再用14天。在这块判定的是比较宽松的。免费的用完了以后,20美金一个月。

我明年3月份GitHub copilot的到期了,我是一次买了一年的,所以等到期了以后,我要考虑一下,是不是该换这个cursor的订阅了。我现在订阅的AI工具notion AI已经被我退订了,mid journey我觉得还是需要的,GPT一个月20美金,我现在也还在犹豫,是不是以后要把它退订掉。目前为止我觉得还是比较好用的。

有了cursor之后,编程的行业会变成什么样?这可能是大家所关心的。那么一定是更多的人可以进行编程了。对于这些人来说,他们也还是需要一些短期的培训,就像步枪兵,你也是需要经过三个月的培训的。8岁小姑娘这个事呢,我们作为一个故事听就完了,不要太信以为真。

因为我也是碰到很多的朋友说,我要去使用这些AI agent,使用AI工具了,也看了一堆课程,不行,搞不定这件事。可能也是我前面的课程讲的,要稍微的困难了一点。那么这一块我也在思考,看看怎么能够提炼出一些。

真正可以去使用的课程,让这些完全没有计算机基础的人真正可以跑起来。因为我录了这么多课程,毕竟我自己还是个老程序员,有很多东西我自己想当然了,就直接做了这件事情。我去看看是不是可以找一些愿意学习、没有任何编程基础的人,我们一起来合作做一些课程,也许是一个解决方案。

那么未来的程序可能也会发生一些变化。现在的程序基本上是三个部分:第一个部分是我们编写的代码,第二个部分是注释,第三个部分是各种配置文件。未来的程序可能会加上所有的提示词历史。否则,你给我一个代码,我不知道这个代码是怎么变成这样的。所以如果有提示词历史和所有跟AI工具聊天的这种历史,可能更容易让下一个人去理解这个程序到底是怎么回事。因为写程序不是一个人的事,是需要大家协作的。你没有聊天历史,这事没法协作,这可能是一个变化。

未来一定会出现更多的只会开车、不修车的司机。巨大量的个人应用也会涌现出来,像8岁小姑娘写的这种应用,你说它有用吗?有用,或至少能用。但这种应用,如果把它作为一个商品交付给其他人用,这事是不行的。因为你光要跟别人沟通,哪个地方有一个小的机关,哪个地方有一个小小的隐藏开关,这个事你就交代不明白。所以这种东西就是自己开发自己用,应该是可以使用的,不要传播,不要推广。

所以很多现在的人在讲什么AI agent或者各种的AI工具,像Excel。很多人其实是可以使用Excel,在里边套各种公式,算各种复杂的数据,再让它画图表,功能极强,他们也不会编程。那么有了AI agent,有了AI工具以后,等于你就有了一大套的Excel,Excel的技能就提升了。现在你可以处理的问题,比原来Excel能够处理的问题要多多了。然后再有了AI编程,AI agent有了AI的一系列工具之后,每一个人的能力就上升了。未来更多的AI IDE一定会涌现。

现在,Cursor已经给大家指明了方向。来,照这个方向做。技术上并没有那么难。上产品经理,上交互设计师,咱们把整个编程的过程交互设计好就可以了。而且,如何依靠交互设计,在AI大模型的帮助下做好产品的路径,其实也已经被指明了。

到底应该如何去工作?我记得前两天还看到另外一些工具,比如说如何做一些科学研究。这些工具也是根据大家正常的思路,根据正常的科学阅读、研究者的这种流程,给你设计得很好。你先去提出问题,四处搜索。搜索完了以后得到结论,结论完了以后,允许你在这个结论里的选择,说我希望在哪些分支里边继续深入去思考,再去搜索,再得到相应的信息,再把这个结果进行某些方式的总结归纳,再做出比如说适合阅读的脑图,或者其他的一些可以让工作者快速接受的方法。

现在,这些工具也在逐渐涌现。我觉得AI APP,或者整个AI应用的大爆发,已经要到来了。Cursor已经为这些AI应用的大爆发拉开了序幕。好,这就是我们今天介绍的Cursor,希望你甭管会不会编程,都可以下来试一试。好,这个故事跟大家讲到这里,感谢大家收听,请帮忙点赞,点小铃铛,参加Discord讨论群,也欢迎有兴趣、有能力的朋友加入我们的付费频道。再见。

 

Both comments and pings are currently closed.

Comments are closed.

Close Bitnami banner
Bitnami