作者:jarvis
项目演示
使用 Cursor 实现的基于 MyOA 的 license 审批流系统
背景
由于团队大伙的努力,客户项目使用、装机试用越来越多,授权工作也就越来越频繁,加之工业场景客户几乎是 7*24 小时的,非工作时间我们的产品小伙伴都要带着电脑,随时随地去操作和生成 license 文件,所以就提出了这个工具的需求。但我们研发小伙伴近期版本开发已经太忙碌了,前端同学更是只有一位,所以听到这个需求的时候,我就想着得让 AI 小伙伴来支援了。
其实业界已经叫做 AI 程序员了,尤其是 12 月开放的 devin(),更是将开发能力提高到一个新的台阶,已经不止之前一些 copilot 补全代码,重写代码“辅助驾驶”功能,差不多集开发、调试、提PR、联调、部署的“自动驾驶”模式了。不过,当前 devin 500 刀/月太贵了,我也没体验过,目前还是Cursor和Windsurf比较划算。尤其近期Cursor越来越火,一些没接触开发的人也用它成功实现了一些浏览器小插件、小程序和上架一些简单的应用。
Tips:由于是外部 AI 工具,涉及公司内部仓库和内部代码不推荐使用,公司内部开发还是用工蜂 Copilot。
该项目大概流程图
项目效果演示
涉及功能&技术栈
功能
系统界面 - 现代化用户界面、响应式布局等。
用户管理 - 两种角色、基于 JWT 的用户认证、登录和退出、具备不同操作权限等。
授权申请 - 授权申请列表、搜索、分页、申请、撤回、审批状态跟踪、上传指纹、导出 Excel等。
审批流程 - 管理员审批功能、审批意见、审批通过后自动生成授权文件等。
前端:Vue 3、TypeScript、Element Plus UI、Vite 构建工具
后端:Go、Gin 框架、MySQL 数据库、JWT 认证、压缩解压、Excel 操作
以上,人类工程师工作量:前端 N 人天 + 后端 N 人天,AI工程师工作量:小于 1 人天
Tips:考虑敏感问题,即无法给它接口文档的情况下,怎么让它调用 myoa 接口?直接给它贴个http json请求示例,只要把必填参数准备好给它就行了,跟人一样虽然不用理解,但给它输入输出格式就完全能够实现。这里一方面是考虑敏感问题,一方面也是当前 “AI 程序员”没办法很好替代人工的点,后面会讲到。
{
"work_items": [{
"category": "4EA94BBA64024F2BA647177007A321A5",
"process_name": "Testflow",
"process_inst_id": "Testflow-20210629-001",
"handler":"zhangsan"
......
}]
}
Cursor 简单介绍
cursor()已经有大多文章、视频、教程介绍它了,所以就简单讲讲和分享一下用法和体验效果。
首先,Cursor是基于VSCode开发出来的,VSCode 是代码 IDE,可能没接触过编程的人都没听过 IDE,其实就是代码编辑器,相比文本文档,提供了各种编写代码所需要的工具集而已,学习它与学习剪视频的编辑软件本质是一样的。
工作模式
前面说 devin 是“自动驾驶”,而 cursor 近期 0.44 版本新增了 yolo 模式后,我感觉离 “准自动驾驶”又跟进一步。
1)先说是什么是“自动驾驶”,就类似一个真实ai程序员,你给了它一个完整需求任务后,它就去干,需要安装什么环境、依赖、数据库或者编译、运行起来打开浏览器自己点击测试,它会一步步完成。
2)使用 cursor 的工作模式,它写完代码后,会给出一些需要运行的命令时;如果开启没有 yolo 模式,你需要每一步都点击 Run 或 Accept ,如下图;而开启 yolo 模式后,会结合 agent 能力,无需确认代码和自动执行命令,更加无脑。(不过 agent 当前最多 25 工具来完成复杂任务,如果完成不了也会报错,需要再对话框让它继续找方法尝试)
因此,使用 cursor 的工作模式大概是这样子:
你大概率会持续不断帮它执行验证,然后告诉它报错需要改或开发新需求。
“纯小白”如何快速上手
0)官网下载最新版本的软件,近期 0.44 版本迭代了个 yolo 的功能。打开软件后,通过菜单“Cursor Setting” -> Feature -> 把 Enable yolo mode 打开。
1)打开一个空白文件夹
2)command + i (mac系统快捷键)调出ai功能区【CHAT】【COMPOSER】,此处可以选择模型,以及使用 “agent” 模式。
3)在 compose 编辑框里面,输入你要它实现的东西,submit剩下交给它吧。如果你提的需求比较简单或者从参考网上足够详细的提示词,运气足够好的话,可能一步到位,它就帮你完成了,跑起来给你体验了。
4)如果前面描述到位,运气也够好,一步完成需求开发。那接下来就是“图 4”的交互 ,根据下面对话框,继续加需求,不断的跟它一起完成产品的开发工作。注意,这里的输入开始支持传图片的。
5)如果运气不好,启动运行就报错了的话,在yolo 模式下,它会根据错误自己继续修改代码,直到它认为自己改好了或者已经帮你运行起来了。但是,如果是需要打开浏览器,点击操作才会报错的那种,那只能靠你执行后告诉它了。
所以,这里也有一些报错必备技巧:
5.1)命令行报错,鼠标移动过去,点击“Add to Composer”就会自动添加到composer 对话框。
5.2)页面报错,直接截图丢到composer 对话框:
5.3)当网页打不开,你可以口述告诉它,出现 40X、50X的报错码;也可以通过,浏览器 F12 把控制台的报错或输出截图给它。
6)添加文档链接,让它学习怎么使用一些开源软件或第三方平台的接口功能,用于实现对接第三方平台的能力。
以上,基本就是上手起来的一些介绍了,更多的用法,可以搜索公众号文章、B 站视频学习,也可以找我交流。
Cursor 一些用法分享
1、搭建 MVP 工程或开发小项目
开发个人网站、提效的管理系统(例如我的演示项目),开发小程序,开发小应用。
2、尝试新技术栈
比如做为一个前、后端开发同学可能比较少接触过深度学习的算法训练,传统模式去了解学习概念、搭建环境、写代码,可能都要一两周过去了,但是现在基于 cursor 可能不用 1 小时就跑起来了。
3、通过多模态交互快速实现一些小工具
因为支持多模态,如果需求方直接提供流程图给你,或者网上直接找到流程图,或者其他产品界面截图(尊重版权),也可以快速实现一些小工具。当然,还是那句话,顺利一步到位,不顺利,慢慢跟它一起调试。
4、理解和学习开源代码库
这个只是顺带提提,方便提效学习,大部分 Copilot 也都可以达到这个效果。
Cursor 一些实践思考
1、“纯编程小白”能不能用 cursor开发一个应用?可以的。但这个过程中不代表什么你都不用学,比如你起码要支持网站分前端页面和后台服务、app 也是、小程序则要了解微信平台;并且知道把程序跑起来是需要依赖运行环境的,所以 cursor 可能会安装一些东西或提示你安装。反正都交给cursor了,不懂就实时问它就好了。
2、能不能替代程序员?cursor 目前基本做不到,devin 也只是有点盼头,但也得企业全套基础设施跟得上,否则也很困难。如果企业内部各种项目、基础组件缺少文档、老业务口口相传、复杂的接入、审批流程、还时不时搞点迁移啥的,搞过的都懂,别说 AI 了,程序员来了都得摇头。所以,只依赖外部开源组件可能AI信手拈来,但让它实现跟企业内现有别的模块、系统交互,就有点困难了,一方面是信息安全,另一方面,需要足够完善的文档、流程和设施。
3、关于生产,如果"自动驾驶",你完全信任它吗?所以,基于AI生成代码肯定也不能直接用于生产,而如果一次性靠它写了大量代码,code review 可能工作量都不小。另外,它的代码是能解决问题,但代码复用啊,抽象模块这些不一定做得好,如果用于企业生产项目,可能review完你还得大改。所以,“自动”写写小模块还行,中大型项目还差得远。
4、关于效率,它总体上肯定可以提高效率,并且也明显有助于提升能力边界,比如标题的全栈。但是模型生成代码也有运气,有时候一把过,有时候反复改反复错,而这个过程如何你不懂代码或不想花时间看代码,那就是一直在帮它调试:发报错信息->它重新实现->帮他验证,循环N次。
5、关于调试,可以通过 prompt 告诉它,也可以通过.cursorrule设置好,让它生成的代码有一定规范、有注释、有日志打印。不然默认生成的代码,不一定有调试日志,遇到有报错信息的还好;遇到没报错,只是纯粹逻辑不对的,它根本感知不到,需要你描述给它。而如果打印日志,它是根据 terminal 的输出知道有问题的。网上也有些人分享他们的.cursorrule。
6、AI 程序员最容易替代的,一定是最容易感知和可调试的环节,比如前端?转玉伯年前发的一段话:
总结
历史车轮滚滚向前,AI进化速度也绝对超乎想象,它即使干不掉程序员,提效也是杠杠的。未来,编程可能就像剪视频、开车一样,人人都会,只是未必都是专职的剪辑师或司机而已。所以,拥抱新生产力吧。
推荐站内搜索:最好用的开发软件、免费开源系统、渗透测试工具云盘下载、最新渗透测试资料、最新黑客工具下载……
还没有评论,来说两句吧...