用cursor后,我两周上线两个浏览器插件
两周前我根本不懂浏览器插件开发,一周前我上架了第一个玩具插件,今天我的第二个全功能的插件已经提审了(图1、2)。
cursor能让你像推土机一样工作。接下来分享几点思考。
1 AI辅助,是帮你快进掉浪费时间的细节的
===
图3是我昨天的部分有效代码量,除了一个两三百行的shadcn/ui组件之外,达到了8-900行。而我本人并没有很累。
它就像快进键一样,能让你直接跳到困难的问题。就像游戏里的传送,让你不用赶路。
需要注意的就是,你思路不清晰的话,就算靠传送传到了你想要的地方,也很可能会被他带跑。
我本职是后端,如果让它写go,我可以打包票不会出错,因为看一眼也就明白了;但是写前端的话,偶尔还是会出问题,因为我并没有自信到能检查所有事。
它可以很容易帮你在任何领域达到80分,小无相功,不过对于专业人士想要达到的质量而言,还是有提升空间的。
2 驾驭AI工具的两个窍门
===
我认为目前来看,以下两点是对所有AI工具都成立的。
(省流:写在了图4的便签上)
===
第一,描述结果,然后再去指示具体的事情—除非你很自信,你的方案就是最优的,你是专业人士。
在开发浏览器插件上,我是一个外行,前端我也是半个外行。所以我脑子里的方案有时候不是最优,有时候甚至很滑稽可笑。
所以先描述结果,让AI帮你在可能的解空间里搜一遍,就可以有效避免我瞎指挥的问题。
道理和那个经典的代理人管理问题一样:AI可能有更多的知识,但他不知道我要做什么;我没有知识,却要指示他做我想做的事。
要做一个AI的好领导,那就不要瞎指挥而是设定好结果,到这个结果中间的路,都是可以商量的。
===
第二,总会有你和AI都单独解决不了的问题,尤其是当工程大起来,复杂度高起来。
这个时候最好就另外开一个白的仓库,把你要验证的东西放进去,写出来,确认能运行。这就是一个受控环境中的实验。
我在开发这个插件的时候遇到一个存储问题,在这个插件内部debug一直很难解决—在动的东西太多了。
但实际上是因为我思路不清楚,没有想到更简洁的方法—我理解不了的代码,其实AI也是理解不了的。
所以这种时候就不要死磕,而是去回归原点。找个小仓库做受控实验,认真把思路想清楚,代码弄对,很快就结束了。