简介

本文讲述了在WebX老项目中使用Cursor AI工具,利用大模型高效生成符合项目规范的代码框架,提升开发效率。通过实际案例展示了Cursor的AI聊天区、Composer和Bug Finder等功能,以及如何使用Notepad和Rules引入项目上下文约束AI生成的内容。文章还演示了如何创建新功能、优化代码,并介绍了与MCP结合实现基础设施自动化的可能性。


本文通过在WebX老项目中实践,验证了Cursor利用AI大模型可高效生成符合老旧项目规范的代码框架,显著提升开发效率与体验。

前言

人工智能在快速发展,目前AI辅助编程也已经从简单的补全代码发展到能大规模生成代码提升开发效率的阶段,为验证这些提效方案对于各类老项目(比如基于webx开发的项目)是否同样有效,使用Cursor在老项目中开发了一个项目的模块,效果非常好,简单对话就能快速生成符合老项目规范的代码框架,对开发效率和体验的提升非常有帮助,因此总结一篇文章分享和展示Cursor相关能力。

目录

AI辅助编程思想

普通用法

很多时候,特别是刚开始接触AI辅助编程时,开发认为要实现极致的提效需要给出最完整的提示词,大部分精力都花在思考提示词方面,如下图:

这种方法开发负担重,而且没有发挥出Cursor的强大能力。

一直在更新,更多的大模型学习和面试资料已经上传带到CSDN的官方了,有需要的朋友可以扫描下方二维码免费领取【保证100%免费】👇👇
在这里插入图片描述

高效用法

我们可以尝试将编程的主要工作和角色交给AI,而我们主要作为方案的Reviewer对方案进行把关,其过程如下:

  • 让LLM生成技术方案、开发步骤

直接提供PRD或者相关资料给LLM,让LLM根据需要自己生成技术方案、开发步骤,这个过程也可以限制使用的技术框架等。

  • 使用LLM给出的方案逐步生成代码

使用LLM给出的方案逐步完成各个子模块。

  • 多轮对话

在生成技术方案或者根据子方案逐步生成代码时,可以进行多轮对话不断调整,直到LLM返回满意的答案和代码。

示例:让Cursor给出开发方案和步骤

Cursor产品介绍

基本信息

Cusor主页面

大致分为几个区域:

  • 文件浏览区:最左侧面板,可以浏览项目文件,该区域还可以通过顶上的按钮切换到代码管理、插件管理等区域;
  • 主编辑区:中间区域的面板,这里就是写代码编辑文档的地方;
  • AI聊天区:和Cursor对话,使用其核心智能辅助编程功能的主要入口;

Cusor的AI聊天区

在IDE的右侧,老版本的Cursor中共分三个区域(新版本合并到了一起,为了方便了解其能力,还是按照老版本的讲解):

CHAT区域

提供人机对话的能力,类似和gpt等对话的窗口,可以询问问题、沟通方案,这个区域唯一缺少的就是直接生成可执行代码的能力,即使生成了代码,也需要自己copy到对应位置。

  • 自然语言对话: 用中文多轮交流,理解你的意图,给出精准建议或操作。
  • 读懂代码: 解释函数/模块逻辑,梳理调用关系与数据流,指出风险与边界情况。
  • 项目上下文感知: 结合当前工作区、已打开文件、编辑历史与项目规则进行更贴合的回答与修改。
  • 文档与图: 生成或完善README/变更说明;支持 Mermaid 流程/架构图。

COMPOSER

主要提供执行方案生成可执行代码的能力,在这个区域的对话能够生成可直接执行的代码,这些代码窗口提供接收、拒绝等按钮,如果用户接受方案,则会自动的在对应位置创建、插入显示的代码。

  • 改动代码: 发起“编辑”来新增/重构/修复代码,保持原有缩进与风格,不引入 Lint 错误。
  • 运行任务: 可在本机非交互地执行命令(如构建、测试、脚本),必要时后台运行并回传结果。

BUG FINDER

用于排查问题,可以上传错误图片、粘贴异常信息,Cursor会直接给出解决方案,功能非常强大。

  • 调试与排错: 结合报错信息与日志,定位根因并给出最小代价修复方案。

引用上下文

为了让AI更准确的回答我们的问题,生成我们需要的代码,需要引入上下文信息对AI生成的内容做约束,约束有很多,包括:项目上下文、代码规约、技术架构限制等。

cursor支持多种方式引入上下文信息,主要包括:

Notepad

Cursor的Notepad可以方便的记录各种开发步骤、通用问题解决方案等,并且在AI对话区域方便的引用。

Rules

Cusor的Rules用途很广,可以用来定义开发规范、代码风格、部署方式等,目前支持用户级别和项目级别的Rules,可以在setting面板中配置。

官方网站提供各种Rules

https://cursor.directory/

实战演示

下面通过使用Cursor在老项目中实现新模块功能和重构优化代码两个场景来展示Cursor是如何给开发提效的 。相同的思路应用在完全新建的项目中更容易,提升幅度更大,本文章不做扩展。

使用D2C在现有项目中构建新功能

接下来展示通过Cursor在老项目中创建SQL&Mapper、相关Bean(DO、Dao、DBService、ManageService)、Controller、HSF服务的高效过程。

原材料:项目设计文档

为了快速开始,我们从近期一个项目的后端设计项目开始,该文档包括整体架构图、表设计、模块设计等,通过钉钉文档编写,最后导出为PDF上传给Cursor,为避免项目信息外泻,下面仅列出目录。

让Cursor生成开发方案和步骤

无需过多考虑,直接上传设计文档让Cursor给出开发方案和步骤,可以看到,Cursor给出了一系列的方案和步骤,这里可以多轮对话不断调整细节。

一些通用方案(比如要求使用springboot、mysql等)还可以沉淀到Notepad或者Rules中,这样Cursor以后生成的方案中就会默认包含该部分规则。

创建SQL与MAPPER

接下来开始生成具体代码,可以按照Cursor给出的步骤逐步生成,也可以按照自己的开发习惯生成,上面对话除了生成步骤外,也主要为了给Cusor引入上下文。

本文为了更清晰直接的演示Cursor各个层面的生成能力,拆解出了多个细节任务执行,实际使用时在完善了Notepad、Rules(如需要)后可以直接使用Cursor给出的步骤进行生成,使用方法很简单,将Cursor生成的每一步内容copy进聊天框让它执行即可。

提示词识别表和生成建表SQL

简单给出提示词,要求Cursor生成相关表和Mapper。

(注:Cursor理解PDF过程中可能会要求执行一些命令,判断无风险可放行)

Cursor给出表及建表语句

这里Cursor根据识别到的信息生成表及其Create脚本,共计25个文件,篇幅原因这里只展示其中一个表的生成代码。

给出模版让Cursor生成Mapper

Cursor生成Mapper文件

可以看到Cursor生成的代码有以下几个特征和模版文件一致。

  • 生成的Mapper结构与模版一致,包括在文件顶上配置resultMap定义、提供load查询方法等;

  • 开头使用DO定义别名;

  • 用一个SQL模版包含所有字段;

  • 相关查询中引用模版SQL;

发现缺失模版中的一些特性

缺失了commonCondition部分内容

模版mapper里定义了各个字段在where查询里的通用模版,第一次生成时Cursor没有生成出来。

要求Cusor调整

Cusor给出了修改内容

不仅生成了通用模版,还自动加到了查询的where条件里。

要求进行更多调整

补充set、pageConditions、reset需求

模版Mapper中还包括set、reset、pageConditions等通用sql,要求Cursor一一添加。

Cusor进行相关调整

Cursor参考模版内容进行了添加,并自动追加了where查询和update语句里。

让Cursor参考项目模版生成骨架

这个项目的规范里每个领域对象都包含了ManageService(业务逻辑层)、DBService(数据逻辑层)、Dao(数据服务层)、DO,要求Cursor参考现有项目风格生成代码。

@codebase 命令使用后Cursor会自动参考项目结构生成相关代码。

Cursor参考项目生成DO

从DO开始,Cursor生成的Bean里自动继承了项目里所有领域实体对象DO的父类、属性具备驼峰规则、同时提供了get/set方法,这些都符合项目要求和开发规范。

Cursor参考项目生成Dao

同样,生成的Dao也继承了所有Dao的父类,并且泛化类型匹配正确。

Cursor参考项目生成DBService

生成的DBService同样继承了所有DBService的父类、泛化类型符合要求,同时还和其他DBService实现类一样复写了getKey、setKey、getCondition几个关键方法,这些都是项目独有的结构,生成的非常好。

Cursor参考项目生成ManageService

最后是ManageService,这一层唯一的特殊点就是项目中每个ManageService基本都会引用自己的DBService,Cursor也能正确识别并参考这个风格生成代码。

Cursor参考项目生成Spring配置

接下来是生成spring等相关配置文件。

提示词

使用@codebase 简单描述我们的需求,Cursor就能够生成符合项目风格的配置文件。

Cursor参考项目生成相关Spring配置文件

  • Dao的配置和项目中其他Dao的配置一样,继承了通用的baseDao;
  • 新增Bean的spring配置自动生成并能追加到配置文件中;
  • 参考项目结构在sql文件中自动追加了mapper的配置文件;

创建Controller

由于采用微服务架构,通用代码在一个工程里,部署的web应用、HSF服务等在另外一个应用里,如果在Cursor中打开新工程是无法自动传递聊天记录的,这里需要用到一些技巧。

  • 通过chat的导出功能从上面工程中导出之前的对话内容;
  • 在web应用中新建notepad保存这个对话内容,命名为“shareProjectChatNote”;
  • 在后续对话中引用这个notepad;

使用notepad传递对话内容

让Cursor参考项目需求生成相关Controller

引用notepad在这个新工程中延续我们之前的对话内容,并描述生成Controller的需求。

Cursor生成了基于SpringMVC的Controller

由于没有指定技术框架和其他限制,Cursor根据常用的SpringMVC框架生成了Controller的内容,如下:

让Cursor按照webx风格生成相关Controller

我们是webx的工程,因此使用@CodeBase 指令让Cursor参考现有项目结构和风格生成代码。

Cursor生成了基于webx的Controller

Cursor在不理解webx完全内容的情况下,参考现有工程的编码风格,生成了符合webx和项目使用规范的代码:

  • 使用webx专用的注解 @WebResource @ResourceMapping开放服务;
  • 接收参数的对象也使用了webx的专用注解 @RequestParams;
  • 除此之外,Cursor还识别到了项目中经常使用@NoneResultDecrator这个注解,该注解是项目自定义的,用来告诉webx不要在返回结果外部再套一层json对象,直接返回方法返回的内容;

创建HSF服务

HSF并不是这个项目的开发内容,但是为了测试Cursor对项目相关功能的支持程度,因此也做了一下实践,效果非常的好。

创建HSF编码规范RULE

为了让Cursor生成符合我们要求的代码,我们创建一个项目级的Rule,将项目的编码规范加入其中,为了验证Cursor是否真的按约定的规范生成代码,这里我们留意以下几点:

  • 服务需要实现读写分离,读服务都放在xxxReadService里,写服务都放在xxxWriteService里;

  • 分页和不分页的接口参数对象、返回结果需要继承不同的对象;

让Cursor构建HSF服务

通过@Rules 选择刚才的编码规范rule后,告诉Cursor生成我们需要的服务。

Cursor生成读写分离的接口定义

Cursor生成的代码如下,可以看到虽然有一些瑕疵,但整体还是符合我们的规范的,包括:

  • 实现了读写分离

这里有一些瑕疵,规范里是要求使用xxxReadService,这里使用了QueryService,可能是下面的命名规范有冲突,可以调整规范或者将采纳策略补充到Rules或者Notepad中进一步说明,避免以后再犯。

  • 接口参数以Request结尾、返回对象以Result结尾。

请求、结果对象符合编码规范

非分页接口参数对象继承了AbstractAclAppTenantRequest对象,结果对象继承了AbstractBaseResult对象,泛化对象与期望的相符。

实现类里也能正常调用项目方法

实现类里包含了对项目中各个API的正确使用。

十二轮对话生成项目主要内容

总结一下,除了生成HSF外,我们通过大约十二轮简单的对话就生成了这个项目的主要代码内容或者框架,可以继续对话优化细节,或者是将遇到的问题及其解决办法存放到notepad中,避免以后的代码生成时再犯。

代码优化与重构

接下来展示Cursor对代码重构和优化的帮助。

一个有很多ifelse的代码段

让Cursor进行优化

编辑器中使用command+k唤起AI对话框,输入我们希望Cursor做的工作。

Cursor抽象了逻辑行为、封装了重复调用、

优化了方法主流程

小帖士

切换到Agent模式

如果想让cursor生成代码,直接给出解决方案,需要在对话框中切换到agent模式,普通聊天模式不能完成该任务。

快速调出对话框生成代码

在编辑窗口可以使用command+k(mac)的方式唤起AI对话框,输入需求生成代码。

生成内容都可以接受、拒绝

Cusor生成的所有内容都附带了接受、接受全部、拒绝、拒绝全部的按钮,可以根据需要自由选择。

配置各类模型

Cursor内置了很多模型,也可以自己配置其他模型,但是自己配置的模型有可能不支持代码的自动创建。

结尾语

Cursor用下来感觉是个非常强大的工具,以上案例并没有展示它的所有能力,需要在项目中持续实践,不断积累问题和解决方案,添加到上下文Nodepad、rules中才能使Cursor生成的代码不断接近我们期望的样子。

MCP+Cursor = 王炸

Cursor还可以和MCP结合,实现更大范围的基础设施自动生成,比如自动创建项目需要的流程、账号、权限等。这部分还需要各类平台升级提供相关MCP能力后才能不断完善和发展,但是可以预见会带来非常可观的效率提升和开发体验提升。

OpenAI 重磅开源,10分钟快速部署

OpenAI 推出两款开源模型(gpt-oss-120b 和 gpt-oss-20b)。本地部署模型面临硬件短缺、运维复杂、性能调优难等问题,本方案提供多种部署方式,支持免费试用,最快10分钟完成部署。

.(img-nqquiYbs-1758163130303)]

结尾语

Cursor用下来感觉是个非常强大的工具,以上案例并没有展示它的所有能力,需要在项目中持续实践,不断积累问题和解决方案,添加到上下文Nodepad、rules中才能使Cursor生成的代码不断接近我们期望的样子。

MCP+Cursor = 王炸

Cursor还可以和MCP结合,实现更大范围的基础设施自动生成,比如自动创建项目需要的流程、账号、权限等。这部分还需要各类平台升级提供相关MCP能力后才能不断完善和发展,但是可以预见会带来非常可观的效率提升和开发体验提升。

OpenAI 重磅开源,10分钟快速部署

OpenAI 推出两款开源模型(gpt-oss-120b 和 gpt-oss-20b)。本地部署模型面临硬件短缺、运维复杂、性能调优难等问题,本方案提供多种部署方式,支持免费试用,最快10分钟完成部署。

AI大模型从0到精通全套学习大礼包

我在一线互联网企业工作十余年里,指导过不少同行后辈。帮助很多人得到了学习和成长。

只要你是真心想学AI大模型,我这份资料就可以无偿共享给你学习。大模型行业确实也需要更多的有志之士加入进来,我也真心希望帮助大家学好这门技术,如果日后有什么学习上的问题,欢迎找我交流,有技术上面的问题,我是很愿意去帮助大家的!

如果你也想通过学大模型技术去帮助就业和转行,可以扫描下方链接👇👇
大模型重磅福利:入门进阶全套104G学习资源包免费分享!
在这里插入图片描述

01.从入门到精通的全套视频教程

包含提示词工程、RAG、Agent等技术点
在这里插入图片描述

02.AI大模型学习路线图(还有视频解说)

全过程AI大模型学习路线

在这里插入图片描述
在这里插入图片描述

03.学习电子书籍和技术文档

市面上的大模型书籍确实太多了,这些是我精选出来的

在这里插入图片描述
在这里插入图片描述

04.大模型面试题目详解

在这里插入图片描述

在这里插入图片描述

05.这些资料真的有用吗?

这份资料由我和鲁为民博士共同整理,鲁为民博士先后获得了北京清华大学学士和美国加州理工学院博士学位,在包括IEEE Transactions等学术期刊和诸多国际会议上发表了超过50篇学术论文、取得了多项美国和中国发明专利,同时还斩获了吴文俊人工智能科学技术奖。目前我正在和鲁博士共同进行人工智能的研究。

所有的视频由智泊AI老师录制,且资料与智泊AI共享,相互补充。这份学习大礼包应该算是现在最全面的大模型学习资料了。

资料内容涵盖了从入门到进阶的各类视频教程和实战项目,无论你是小白还是有些技术基础的,这份资料都绝对能帮助你提升薪资待遇,转行大模型岗位。

在这里插入图片描述
在这里插入图片描述

智泊AI始终秉持着“让每个人平等享受到优质教育资源”的育人理念‌,通过动态追踪大模型开发、数据标注伦理等前沿技术趋势‌,构建起"前沿课程+智能实训+精准就业"的高效培养体系。

课堂上不光教理论,还带着学员做了十多个真实项目。学员要亲自上手搞数据清洗、模型调优这些硬核操作,把课本知识变成真本事‌!

在这里插入图片描述
如果说你是以下人群中的其中一类,都可以来智泊AI学习人工智能,找到高薪工作,一次小小的“投资”换来的是终身受益!

应届毕业生‌:无工作经验但想要系统学习AI大模型技术,期待通过实战项目掌握核心技术。

零基础转型‌:非技术背景但关注AI应用场景,计划通过低代码工具实现“AI+行业”跨界‌。

业务赋能 ‌突破瓶颈:传统开发者(Java/前端等)学习Transformer架构与LangChain框架,向AI全栈工程师转型‌。

👉获取方式:
😝有需要的小伙伴,可以保存图片到wx扫描二v码免费领取【保证100%免费】🆓

在这里插入图片描述

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐