大家好,我是星河。
在上一篇文章《2小时,完全不懂编程的妻子用Cursor搞定了女儿的算数学习》中,星河教妻子用Cursor开发了一个算术射击游戏,用来辅助女儿进行算术学习。最近女儿玩这个小游戏玩得很开心,算术能力也有了不少的进步,总算是没有辜负妻子辛苦的学习和制作。
随着星河AI编程专栏的持续更新,最近也有不少朋友加了星河的微信,进行了相关交流。其中一位朋友对星河说,他想做一个简单的广告行业的媒体播放器,结果Cursor的免费额度用完了还没完成。正好星河在寻找一些更实际的例子来测试Cursor的功能极限,于是便询问了这个播放器的需求,尝试着去完成这样一个小软件的开发。
从功能需求上来看,软件并不算太复杂。星河花费了大约半天的时间,利用Cursor来对这个软件进行开发调试,形成了初步版本。目前软件可以编排节目播放列表,可以播放图片和视频,可以指定每个素材的播放时长和频次,可以启用包屏设置,调节播放亮度,显示天气预报,基本算是满足了功能需求。
但即使是这么简单的一个小软件,星河也花费了将近60次的对话额度才完成初版。虽说星河在之前的文章里介绍过如何白嫖Cursor试用额度的方法,但是据大家反映,那个方法时灵时不灵,而且说不准哪天官方就彻底封掉了我们的免费使用方法。因此Cursor的额度还是要省着点用。星河今天就结合自己的开发经历,分享一些实用的能节省Cursor额度的方法,希望大家都能用最少的额度,做出自己满意的软件。
1. 使用Agent+Thinking模式
使用Agent模式时,Cursor会将我们的要求当成任务去执行,并设法验证任务执行结果。如果发现任务执行失败,它会继续尝试其他各种方法,甚至会去网络上搜索相关资料来解决问题。Thinking模式有助于Cursor理清楚解决问题的思路和步骤,提高问题解决成功率。Agent执行任务时步骤最多可以达到几十步,而这自动执行的一切,只消耗一次对话额度!
下面是星河在打包时遇到的一个问题。可以看到,在一次对话中,Cursor完成了对问题的思考、对整个工程文件的分析,并修改相关文件,调用相关命令,自动补全相关依赖,再次打包后启动程序进行验证等一系列的动作,然后成功解决了问题。
最后还有一个小提示:在提完需求以后,可以加上一句“请自动修改相关代码,执行相关指令”。不知道为什么,即使已经使用了Agent模式,Cursor有时候还是只会给出解决方案和建议,并不自动执行Agent流程。而加上上面那句话,可以确保Cursor会自动帮我们去处理一切问题!
2. 重视原型设计
在正式开发之前,先把功能要求丢给Cursor,让它帮你分析并生成设计文档和界面原型,这样有助于Cursor在整个开发过程中进行参考,以生成更符合要求的代码。另外,Cursor生成的设计文档和界面原型一定要认真阅读,按需调整修改,尽量保证描述准确。这样后面会节省很多调整所需的对话额度!星河这次就没有好好看Cursor设计的界面原型,结果后面光删除冗余的界面控件,就多花费了四、五次的对话额度,如果不是能白嫖使用额度,这就相当于浪费了1块5毛钱!
3. 一次对话,多个问题
软件进入测试阶段后,星河的建议是每次Cursor修改完代码后,都多测试一会儿,尽可能发现总结更多的问题,然后一次性丢给Cursor,让它一并解决。这样能有效减少对话次数,降低使用额度。
但根据星河测试,如果问题太多或者太分散,Cursor有时候并不会每个问题都进行处理;而且多个问题之间的修改可能会相互影响。这个度还需要在使用中自行把握,目前星河感觉一次给它两三个问题,解决效果还是比较好的。
4. 准确全面的描述问题
Cursor解决问题的效果,很多时候取决于我们对问题描述的准确程度。为了能更清晰准确地描述问题,我们可以:
(1)添加截图对问题效果进行说明;
(2)添加控制台的输出信息和错误信息对问题进行辅助说明;
(3)添加程序产生的日志文件对问题进行辅助说明;
(4)联系上下文,程序前后发生的变化对问题进行补充说明。
总之就是要细致,感觉有用的信息都丢给Cursor,信息越丰富,越有助于Cursor分析并解决问题。
5. 切换免费模型,寻找思路
在编程领域的王者模型,毫无疑问是Claude-Sonnet-3.7了。但由于大模型生成代码的一些固有原因,即便是Claude,有时也会陷入死胡同。比如这次星河在将工程打包成exe的时候,Claude单次Agent运行调用步骤已经超过了25步,依然没能解决问题,肉眼可见的在几个错误的方案里反复尝试。这个时候我们就可以切换到免费模型,比如gpt-4o-mini上,先简单的聊一聊遇到的问题,试一试它给的方法,如果解决了最好,如果解决不了,反正也不消耗额度嘛。而且我们还可以将我们所做过的尝试进一步提供给Claude,它也会去读取历史信息以获得更多的前置信息,帮我们解决问题。星河这次就是通过这样的方法,顺利解决了这个打包的问题。
6. 学点编程基础
额……不是说好的不懂编程也能用Cursor来开发软件吗,怎么到头来还是需要学点编程?这是因为星河发现Cursor在写大块的逻辑的时候表现还不错,但是在做一些细微的调整的时候,经常调整很多次都不能达到预期效果。比如在上一篇文章中,星河妻子最后调整几个图像的相对位置时,整整用了将近10轮对话才调整出满意的效果,相当于3块钱啊!但是如果稍微有一点编程基础的话,就知道这个其实只需要在文件里找到图像的坐标位置,然后修改两个数值就可以了。所以简单了解一下编程的基础概念,比如变量、常量、函数调用、模块化等,了解简单的编程语法和逻辑,能够对源文件进行少量修改,在这种情况下能极大地减少对话轮次,节省Cursor的使用额度。
下面是这次做的媒体轮播软件的演示视频:
3月30日