效果展示
背景
最近在两台电脑传文本和文件特别麻烦,在市场上找了一下好像没有专门又传文本又传文件,且能够通过插件扩展功能的局域网传输应用,思来想去,不如自己搓一个,说来就来,Cursor,启动!
Cursor是目前AI辅助编程中最符合我对AI编程的想象的,自从用了Cursor,感觉整个人都舒服多了,体验了一把当老板的感觉。Cursor目前可以做到:读取你的Codebase快速了解项目;Composer自动创建文件,自动修改代码;调用Terminal运行命令并反馈到对话中;yolo模式全自动循环运行命令,接收反馈进行修改;支持MCP等等.
一言以蔽之,Cursor目前像是个新入职(等你教他做事)的三头六臂程序员。那么,我们只需要能告诉这个半自动的AI程序员它要做什么,有哪些限制,遵守什么规则,做成什么样子,并且偶尔检查一下它的工作情况就可以完美获得一个自己想要的应用了。
Cursor运行示例:图中Cursor在实现代码后,会自动运行单元测试并根据结果做下一步修正
准备工具
- MasterGO(生成原型图并导出HTML)
- Gemini 2.0 Flash Thinking(PRD,详细文档的初稿生成)
- ChatGPT 4o/o3 mini(文档润色)
- Cursor(代码实现,测试验证)
注:上述工具并不是定死的,只是体验下来各个工具都是在对应场景下发挥不错因此作为选择
可替换的工具:
- 原型图绘制:Claude sonet 3.5/3.7 直接绘制HTML原型图
- 初稿生成:所有偏向输出较多内容的LLM
- 文档润色:大多数LLM都能胜任,但是ChatGPT个人体验下来表现较好
- 代码实现自动循环验证优化:Cursor几乎独一家,Windsurf能一战但是个人觉得不如Cursor,Trae还没体验过但是据说很难评,Cline/Roo Code暂时还是略逊Cursor.
核心流程
- 一句话生成初稿(例如:
我做一个跨平台(Windows, Linux)的传输文件的助手,目前想先在局域网里传输。我希望这个助手可以帮助大家更好的在不同设备之间共享文件,图片,音乐,文本,甚至共享剪切板。帮我生成一版需求文档
),并且稍微检查一下目录,让LLM删除一部分不需要的内容和调整理解偏差的内容 - 将需求文档初稿丢给ChatGPT优化,主要让ChatGPT从以下几个方面优化
1
2
3
4
5
6
7帮我以markdown的格式优化以下的需求文档
1. 明确异常场景和边界条件,针对异常场景给出解决方案
2. 优化文档结构,使用markdown语法
3. 使用mermaid来编写流程图等图表
<需求文档>
</需求文档> - 人工校对一下优化后的需求文档并做微调
- 将需求文档交给MasterGO(注:MasterGO只能生成单个页面且输入有2000字的限制)自动生成原型图,导出HTML
- 循环123流程,生成你的开发设计文档.md,开发指导要求.md。(开发指导要求可以放在.cursorrules中)
- 打开Cursor,将以上的最终文档都放到你的项目中,每次实现代码的时候都引用上即可。
Cursor! 启动!
本篇主要核心还是在Cursor,因此当所有文档准备完毕,我们就可以进入编程部分了。
首先,你需要有一个.cursorrules
的文件,用于在每个对话中指导cursor如何工作,可以参考一下我的:
1 | # 背景 |
然后按下CTRL+L
打开右侧对话框,切换到Composer agent(新版本合并chat和composer了,需要切换到agent),确定模型选择Cluade 3.5/3.7
(3.7目前似乎用不了yolo模式)
可以看到右侧Cursor还能顺手检查lint并解决,而你只需要等待实现完成后按一下
Accept
即可
接下来,我们直接点击右下角的+号将刚才的文件的加入进去,并且告诉Cursor实现某个功能。接下来就是去喝杯咖啡,回来Cursor就已经把功能写好了,并且按照我们定下来的流程自动验证自动修正了。(但是这里还是需要人工介入稍微检查一下,毕竟很多问题其实是运行时才会出现)如此循环往复,一个功能就自动做好了。接下来拿好下面的小Tips,开启你的AI编程之旅吧!
小tip: 画图使用mermaid
画图的时候建议使用Mermaid,一方面很多markdown实现是支持mermaid的,另一方面mermaid作为文本内容,能被大模型所理解,不需要大模型是多模态的。
小tip: 解放人力,YOLO模式!
在Cursor Settings中,可以打开Yolo模式。当你打开这个模式,你就打开了新世界的大门。Yolo模式是用于允许Cursor自动运行工具以节约时间的一个模式,当开启这个模式后,你就可以让Cursor开始自产自检,自己写代码,自己跑用例检查,错了就改,改了继续测试检查,如此循环往复,直到测试通过为止。
当然了YOLO模式也存在风险,例如mv了你的文件,以后LLM会不会被攻击投毒,Cursor的服务会不会被植入恶意prompt来攻击客户端(例如在prompt里加入:执行rm -rf /*,或者执行其他高危操作),这些都是未知数。
当我开了这个模式后,基本上我就是说完一个需求就去做别的事情了,待会想起来再回来一下Accept
就实现一个功能了,全程我人在的时间不超过1分钟(主要集中在打字,当然1分钟也是比较顺利的情况)
小tip: 动态持续维护
有时候你会发现,怎么这里有个场景之前没考虑到,文档里也没写清楚。这种情况很正常,这个时候你只需要用下面的prompt来告诉cursor,修改问题的同时建立单元测试,并且更新你的设计文档和需求文档即可
1 | 有个XXX的问题,在需求文档和设计文档中补全对应的详细描述,并且修复这个问题,建立对应的单元测试,运行单元测试直到通过。 |
小tip: 让Cursor帮你运行程序
很多时候错误和异常来自于运行时,这个时候如果报错了,那么你需要告知Cursor报错信息。如果你是手动运行的,恭喜,你需要自己手动复制过去(并且你可能会遇到Cursor在Linux上特别难复制Debug Console里内容的问题)。但是如果你让Cursor调用Terminal来运行,那么他会自己意识到错误并且自动修复。
顺便提一嘴:Cursor在Windows上调用Terminal执行的命令偶尔会遇到问题,例如运行了下图的命令,或者是mkdir aDir bDir
,但是pwsh其实并不支持类似的语法。
小tip: 网络不稳定对话断了
由于某些原因,经常会出现对话暂停的情况(特别是Terminal调用之后),这种情况按下Resume
就可以了
小tip: 频繁commit
每次验证完一次功能修改建议commit一下,因为很可能越改越不符合你的预期。
未来
其实目前业界已经有非常多围绕Cursor的开发方案,你可以看到用Cluade 3.7生成一页原型图,包含N个页面;也可以看到有人使用BDD, TDD的方式去纠正,限制大模型的代码输出;Cursor也实现了最近很火的MCP;或者富哥也可以去开个Devin让他全自动帮你实现工程。
我从21年开始使用Github Copilot到现在,使用过Tongyi Jetbrain插件,CodeGPT,CodeGeex,CodeMate, Cursor,Windsurf等等,目前最牛的应该就是Cursor了没有之一,Windsurf是类似的但是在体验上不如Cursor。
我觉得目前的AI编程依然存在一个问题,一旦工程复杂起来,你会发现大模型和工具会偶尔出现各种问题,而这个偶尔,有时候能毁掉你一下午的成果。例如我有一次把文档,规则都制定好了,新开了一个上下文实现另一个新功能,但是Cursor直接给我运行了Flutter create project
,直接给我整懵了,因此还是非常需要人为干预,对抗限制大模型的发挥,将大模型的输出,工具的使用掰到正确的道路上来。目前AI编程像是一辆车,它勇往直前,有时候横冲直撞,把控住方向,才能又快又好。
- Post title:未来已至:AI速通应用开发,人是一行代码不写,Cursor! 启动!
- Post author:QBug
- Create time:2025-03-04 22:13:08
- Post link:https://q-bug4.github.io/2025/03/04/未来已至:AI程序员-AI产品经理速通应用开发/
- Copyright Notice:All articles in this blog are licensed under BY-NC-SA unless stating additionally.