【新手必读】如何学好Cursor?
一、代码:普通人新晋获得的财富杠杆
要想获得财富,就必须充分利用杠杆效应。商业杠杆来自资本、劳动力和复制边际成本为零的产品(代码和媒体)。
代码和媒体是不需要许可就能使用的杠杆。这两个杠杆是新富阶层背后的杠杆。你可以创建软件和媒体,让它们在你睡觉时为你工作。
——纳瓦尔(硅谷顶级投资人,投中过Uber、Twitter等公司)
纳瓦尔的这些话被硅谷许多创业者奉为圣经,他发的那些推特也被整理成《纳瓦尔宝典》在多个国家出版。事实上,圈友们不管是否听过这个人,听过这些话。但大家大抵都是对获取被动收入充满信念和欲望的,这种获取被动收入的方式可能是用真金白银(资本)去进行股市、币圈的投资,开公司利用劳动力资源,也可能是在YouTube、抖音、小红书、公众号等平台经营自媒体。
而就像纳瓦尔所说,资本和劳动力的使用是需要门槛的,你需要完成过一定的原始积累。而对没有充足资本的普通人而言,真正无门槛可调动的杠杆就是「自媒体」,所以我们需要去写文章、做视频、录播客等等。
在AI来之前,写代码是个有着巨大的专业门槛的事情,程序员也是在上一波互联网/移动互联网浪潮中获利最多最稳定的一群人。而现在,情况发生了变化,有了Cursor等AI编程工具的加持,我们这些不会写代码的普通人到了有机会利用「代码」这个杠杆的时刻。
二、为什么是Cursor,为什么是现在?
好了,前面的分析让我们得到了为什么该写代码、做产品的结论。但是为什么是学Cursor,而不是其他AI工具,为什么是现在学?
2.1 为什么是现在
首先,你需要理解的一件事是,目前层出不穷的AI编程工具底层基石是AI大模型的编程能力,他们一般不是新造轮子,而是用上了OpenAI的O1、GPT-4o,Anthropic的Claude 3.5 Sonnet等最强大的模型。Cursor这家公司的产品其实已经做了近两年,但是真正让他们出圈,让他们的工具能力得到巨大起飞的,则是Claude 3.5 Sonnet模型的发布,是这个模型的长上下文和超强代码理解、编写能力让AI编程的效率扩过了一个临界点。
在这个临界点之前,行业内讨论最多的AI编程产品是Github Copilot,而这基本是一个只有程序员才能上手的工具。这个临界点的跨越,让普通人有了快速使用AI编程工具去做产品的能力,这也是为什么我们认为现在普通人真正应该、且可以开始学习AI编程了。
2.2 为什么是Cursor?
我们选择Cursor,是因为Cursor现在是一个经过时间迭代,多方验证的「足够好」的选择。Cursor获得过OpenAI的融资,并且得到了前OpenAI创始成员之一Andrej Karpathy的推荐和背书。Cursor已经推出了两年时间,这两年的产品经验,也让Cursor在帮助初学者上手和资深用户深入做项目之前得到了相当好的平衡。而且你由此能看出他们不是顶着热点上线,玩票性质,随时可能跑路的产品。感兴趣的话,你也可以通过这篇文章深入了解这个团队对AI编程的思考:https://mp.weixin.qq.com/s/9kD3Po6Xb2ms0ppkPF2VuQ
2.3 你也可以试试别的
事实上,现在市场上还有相当多的AI编程工具你可以进行选择,其中有可以和Cursor组合使用,前端能力超强的v0.dev 、 bolt.new ,也有Cursor直接的竞争对手Github Copilot、Cline、Windsurf等,国内主流的大模型厂商也开始涉足AI编程工具这一赛道。这些你都可以尝试,尤其是最近Windsurf在我们社群内的口碑极佳。但是我对你唯一的建议是:成为AI编程爱好者,去创造产品;不要浅尝辄止,成了AI编程工具的爱好者。
三、没有编程基础能不能学?
这是我遇见的最常见的新手问题,口说无凭,所以我在自己的YouTube/B站频道(AI进化论-花生)和我们星球中都多次分享了自己在缺乏编程基础的情况下,做出了哪些产品,希望带给大家一些信心。
3.1 我的Cursor之旅
很多人会对「编程」对「代码」带有一种天然的恐惧,不知从何开始。我作为从0起步的过来人,完全能理解这件事。其中最大的难点就是:你不知道自己不知道什么。
但是你需要相信的是,你可以。在8月底开始使用Cursor之前,我唯一的编程经验是,去年3月GPT-4发布后,我非常兴奋地觉得普通人创造开发产品的时刻来了。那个时期的我也经历了一句话写出贪吃蛇、flappy bird等小游戏的兴奋。可...然后呢?
没有然后了,因为GPT-4的能力,加上对话式AI不适合多文件编程和测试的特性,对普通人来说,要开发任何一个超过一个代码文件的项目都是困难的事。我花了一周时间看《Python:从入门到精通》这本书,带着还挺自信的学习能力,我最后在做出了几个Chrome插件后就草草收场了。因为简单的Chrome插件一般由3-5个代码文件组成,差不多到了那个阶段无基础小白可理解且可编程的极限了。
所以,就是在这样的经验了,我从8月29号开始重新启用Cursor编程,我做出了不下10个Chrome插件,10+个网站,5个app,以及不计其数的帮自己更高效完成日常工作的自动化python脚本。
3.2 其他行业的案例
如果你还是没有信心的话,我在我们星球内和YouTube/b站还看到了一大堆小白从0开始编程的经历,比如:
- @aLfR*_IN 一个清华法学院学生 ,做出了能帮助校园内师生选购电瓶车,解答校园内电瓶车骑行规则问题的网站:https://t.zsxq.com/ntkA2
- @Samuel Cha* 一个新加坡行销企业的负责人,用Cursor帮大量客户做了官网和活动落地页,相信这能成为他相比同行的独特服务优势。
- 一个专利律师,做出了能帮助客户和同行查询专利文书的app。
还有,我觉得很神秘,又觉得离谱强的一位企业负责人,因为公司经济困难,被迫自己上手开发数万会员使用的管理系统:
四、怎么学AI编程?
4.1 心理准备
4.1.1 对困难有预期
现在0基础完成是可以开始学习AI编程的,你也能看到大量的一句话生成游戏,5分钟开发网站、1小时完成app设计的案例,这些都是真的,AI编程确实把写代码这件事变得如此快速和简单。
但你依然需要知道的现实是,当你要做出一件真正有价值的产品时,摆在你面前的依然有无数的困难。你会接触很多你不理解的代码语言(什么Python、React、Vue、Next.js等等),你将不得不在你电脑上一次次安装这个环境,那个docker,要将做出来的网站部署上线还要涉及到了解前端/后端服务器、备案等你可能从未接触过的概念。
甚至,在你入门之后,真正开始开发时,你将有80%以上的时间是在和AI一起解决bug,而不是做新功能和写代码。但是我想告诉你这很正常。
现在大厂内资深程序员的大多数时间也是在解bug,维护代码屎山,而非在写代码。但有了AI的加持,你面对这些困难时的处理能力、处理速度、上手开发任何一个产品的速度都将比3年前计算机专业的学生快很多。
我们没什么可抱怨的。
4.1.2 破除恐惧
许多人对编程的一部分恐惧是,你不知道自己不知道什么,你都不知道该从何发问,要面对的代码究竟是什么东西,自己究竟有哪些不知道的。
对此,我有三个你可以试试的破除恐惧的方式:
1. 找一本通用的代码语言的教材,比如《Python:从入门到实践》,你不需要真的完整学习理解怎么写这些代码,但你可以通过通读,浏览目录的方式,去对编程、对做一个产品需要了解什么行程基础认知;
2. 我特意做了一个包含很多编程语言的教程网站,你可以大致看看分别有哪些编程语言,他们适用于什么哪些项目,他们大致的构成是什么样的:https://www.coderwithai.top/
3. 到YouTube和B站看一些教学视频,你可以通过直观查看我,或者其他人是如何使用这个工具的去对Cursor,对代码形成一些基础的感觉。我们星球内的专属教学视频也会逐步增加。
4.2 你需要有基础的使用AI的能力
4.2.1 AI的能力特点
在学习AI编程时,相比编程基础,更多人需要担心的其实是自己使用AI的能力。虽然你完全可以使用自然语言编程了,但这种自然语言的交流,也是需要在你理解AI特点的情况下,才能让AI这个「实习生」为你所用。以下是几个我认为你在使用Cursor编程时,最需要理解的AI特点:
- __随机:__大型语言模型的本质是预测下一个token,并且在预测时带有一定的随机性,所以你在跟随我们的教程练习时,发现生成的结果和我们的示例不同这是很常见的情况,并且同一个目标,获得两个完全不同的解决方案也很正常。如果你想要减少随机性,那就通过更明确的要求去收敛它的预测。比如当你只是要求制作一个像ChatGPT的AI对话网站时,它可能给你使用HTML/CSS、React、Vue等各种不同类型的框架,但是新手更容易通过HTML/CSS上手,所以你可以要求它使用对应的代码语言。
- __平庸:__因为LLM是由大量互联网数据,通过训练预测下一个token而来,所以他LLM不想要成功,它只想从善如流为你提供和互联网训练预料一样的平均结果。但是,你可以要求成功。比如你对app设计不满意,你可以要求Cursor按苹果设计师的标准为你提供设计,你也可以提供任何你偏好的设计师或者网站风格,对他提出要求。
- __上下文限制:__Cursor目前接入的模型中,开启Long Context模式后,最长可以有200K上下文的长度,这对于平时的对话可能绰绰有余,但是一个项目动辄几十上百个代码文件,每个代码文件有几百上千行代码的,很容易超出AI上下文的限制,带来幻觉。所以你需要通过及时让Cursor将项目进展记录到特定文档中(如readme.md),在项目开始时 @codebase 等方式为Cursor带来你们在做什么项目的必要记忆。
- __系统一思考:__正常情况下,Cursor总会直接满足你的要求,你要它写代码它就写代码,要它改bug它就上手改bug。这也导致很多人会吐槽Cursor改bug非常困难,它总是按下葫芦起了瓢,常常同一个错误多次出现,而无法完成一个bug的修改。其实,这个时候你可以想想人类,想想资深程序员是如何工作的。他们并不是“嘿,这里有个bug,这里有段代码报错,那我把这里直接改写一下好了”。而是,他们会去理解更丰富的上下文,会去找关联代码,会去寻求不同的解决思路,然后选择一个更好的解决方案去执行,去做进一步的测试和验证。 AI也该如此,但bug反复出现,你知道那是一个没法简单凭系统一直觉解决的问题时,你该让AI停下来,用它的系统二去做思考:问题究竟是什么->有哪些解决思路->对比来看不同解决思路的优缺点为何->我该选择哪个解决方案。我多次实践下来,得到了一个不错的Prompt(“请一步步思考,仔细审查现在的报错提醒和相关代码,分析发生这个问题的原因是什么,并给我提供三个最solid地解决方案,不要急着改代码。”)通过这种让Cursor思考+提供多套解决方案的方式实现思维链,相比直接改代码,效果其实有了相当大的提升。
4.2.2 Prompt技巧资源推荐
在和ChatGPT等对话式AI交流时的Prompt技巧,在使用Cursor AI编程时其实也完全适用。OpenAI和Anthropic官方都为大家准备了Prompt Engineering的教程。
- OpenAI Cookbook:https://platform.openai.com/docs/guides/prompt-engineering
- Anthropic Prompt Engineering Overview:https://docs.anthropic.com/en/docs/build-with-claude/prompt-engineering/overview
- 我在B站也有一期超30万播放的关于ChatGPT使用技巧的教学:https://www.bilibili.com/video/BV1a8411Q73z/
4.3 随时发布,先完成,再完美。
先完成再完美这个理念我已经在星球内和我们的微信群都说过无数遍了。但这确实是学习AI编程最重要的事,我如何强调都不为过。
第一步,建议你先照猫画虎,完全跟着星球内的图文和视频教程,跟着一个个Chrome插件、网页开发的项目,尝试跑通流程。这个过程中你将开始熟悉Cursor,熟悉代码是怎么一回事,遇到问题的话也很容易在社群内找到有相似经历的圈友进行求助和了解;
第二步,你可以想想自己和身边同事/朋友有哪些未解决的困难,你实际的工作中有哪些部分是可以通过产品化的方式提效的。带着这些真实的小需求,去尝试做你的第一个产品;
最后,我想告诉各位的事,最近的「小猫补光灯」App的爆火让不少人认识了我,圈友们很多大概也看了我如何1小时用Cursor写出这个爆款app的帖子,甚至有不少圈友估计都是因为这个项目而加入我的星球的。
但很多人不知道的是,学习使用Cursor的两个月内,我已经做了不下30款工具产品。有段时间,我经常会一天发布一个产品,这个产品可能满是bug,但是没关系,做产品的过程我很快乐,发布后获得的正反馈也很愉悦。
我在10月31号时写下了下面这段话,然后,半个多月后,我这么个一行代码不会写的半吊子开发已经是拥有10万下载量的App「小猫补光灯」的开发者了,正是发布这些垃圾的过程让我前进和成长的。与君共勉。
如果说学Cursor,开始AI编程有什么真正的诀窍的话,那就是:
先做出来,发布出来再说,不要怕不完美。
现在有Claude和GPT加持的AI编程工具,让大多数第一次有机会去真正完成一个由自己构建的产品。毕竟,在此之前,不管你是程序员还是产品经理,绝大多数人在此之前都没有完整做过一个产品。
如果你是产品经理的话,你的工作可能是画画原型,写写PRD,界面设计和代码工作都不在你手上。甚至以我之前在美团和阿里接触到的产品经理来说,他甚至不做“产品”本身的工作,只负责一个功能模块的一小点的细节优化和设计。
而对于程序员,也是类似的道理,前端的只做前端,后端只做后端,数据库的只管数据库。而我之前接触的程序员也大多不了解业务逻辑,不知道自己参与的产品用户群体是谁,其他模块的实现逻辑是什么样的,只是去用自己的能力忠实的实现产品的需求。
在AI的加持下,只要别有害怕、恐惧的情绪,你将第一次获得真真正正的去实现自己的想法的权利。
你需要产品经理,Claude和ChatGPT可以是产品经理。
你需要设计师,Claude、ChatGPT、Ideogram、Midjourney、Flux.1、v0.dev都可以是设计师。
你需要程序员,那更不用说了,Claude、ChatGPT精通所有编程语言。
你唯一需要担心的只是,你是否真的有想法,你是否真的想清楚了你想要去创造什么。
也许你没有想清楚,那也没问题,你可以边做边思考。前几天Paul Graham发了篇文章,认为有了AI之后,人的写作能力会进一步退化,因为写作是需要清晰的思考的,你想不清楚,你就没办法把东西写清楚。很多人会恐惧在写作过程中发现自己大脑中一团浆糊的状态,因此对此心生恐惧。而有了AI之后,大多数人确实是更不需要写作了。
但问题是,不写作的话,你怎么思考呢?
写作不是对思考的记录,而是思考本身。
同样的,去创造去完成一个产品的过程,也是你思考的过程。你没办法完全想清楚了才行动。你需要行动你才有机会想清楚。
而且,在做完之后一定要快速发布。只要完成了发布,你就等于让一个东西从你的大脑中解放了。很多人会想着先把东西做得更好更完美再发布,我想告诉你,千万不要!
完美是完成最大的敌人。世界上没有发布之后就不需要迭代的产品。
许多人之所以不愿意早早发布,其实是有些恐惧心理在其中的,担心其他人觉得不够好,担心这是否会让人觉得自己的水平不行。我真的建议你跟自己脑中的这些恶魔做些斗争。
举个例子,我发布的第一期关于Cursor的教学视频是做一个很简单在网页中生成二维码的Chrome插件,有不少人在底下评论,就做个这?
对的,那时候的我,只能做个那东西。但是我现在做了多个网站、上架了app,我相信评论我的那个人肯定没做到。而且我在做这些东西的过程中感受到了太多的心流和快乐,这个过程本身就是巨大的奖赏了。
而且我非常认同一个关于什么时候该发布自己的产品的观点,那就是如果你发布的产品的第一个版本不让你感到尴尬的话,那就说明你发布得太晚了。
所以,那个会让你尴尬的产品,你打算什么时候发布?