本篇文章主要分享我是如何接单,如何报价,如何通过 Cursor 完成项目的开发,如何顺利收到项目尾款的完整过程。特别是会详细讲解每个 AI 编程的操作步骤,让没有 AI 编程经验的小白也能看懂并上手实操。

一、接到编程单子评估报价

端午节时,一个客户通过公众号加到我微信,她上来就直接发给我需求文档,问我能不能实现, 需要多少钱。我拿到需求文档之后,初步评估一下,感觉并不算复杂,主要就是通过 SpringBoot 框架实现一个电子签章系统,该系统需要有电子签章、签章验证、签章图片管理这些功能。

然后按照每天 1000 元的报价报了 2000 元,然后,客户告诉我他是学生党预算不够最多只能给到 1500 元,我考虑了下也就答应了。 对于这种意向很强的客户,我们的报价不要太低,可以往高一点报,这样也能跟客户讨价还价。

价格谈妥之后,我就给客户报了项目开发周期,我说的是一周内交付。他给我说能不能早一点,因为他 6 月 13 号就要进行答辩了。考虑了下客户的实际情况,我给客户承诺我会尽快交付。真的是时间紧,任务重呀。 一周之内要搞定一个完整的电子签章系统,对于一个后端开发而言挑战还是蛮大的。

二、Cursor 如何助我开发

我在收到客户的定金之后,就立马投入到开发中了,要是按老办法,人工分析需求-->手搓代码-->手动部署项目,没个把月下不来。我已经给客户承诺一周内交付,所以,按照老办法的肯定交付不了,这个单子就要黄了。这种情况下,我就只能求助于 AI 编程工具 Cursor 了, 让 Cursor 帮我生成代码,我只做最后的检查与审核工作。

PS: 本文需要的工具与环境说明

工具介绍 工具说明
IDEA Java 项目的集成开发环境
Cursor AI 编程工具

开发过程中我大部分情况下都是使用的 claude-4-sonnet 大模型, 少数情况下使用的是 gemini-2.5-pro 大模型。

** 一) 设置 Cursor 的规则**

** 1、为什么要设置 Cursor 的规则**

设置规则主要是为了约束 Cursor 生成的代码风格,给 Cursor 指定技术栈以及软件版本啥的,这里客户要求使用 Java + SpringBoot,我们就需要告诉 Cursor 。有了明确规则,Cursor 生成的代码更符合我们的预期, 就不会每次都天马行空的思考了。

Cursor 里有两种规则,一种是 User Rules 规则,这种规则可以用来定义用户的使用习惯,如:Cursor 的输出语言,代码生成时默认添加的代码注释等,这个规则在切换代码之后依然有效。

我这里设置的User Rules 有两个:

一个是:要每次都用审视的目光,仔细看我的输入的潜在的问题,你要犀利的提出我的问题。并给出明显在我思考框架之外的建议。你要觉得我说的太离谱了,你就骂回来,帮助我瞬间清醒。

另外一个是:Always respond in 中文

另外一种规则是 Project Rules 规则,这个规则用来定义在当前项目中需要遵循的规则,这个规则只针对当前项目有效。

2、如何设置Cursor规则呢

第一步:获取官方推荐的编程规则

客户的需求文档里明确要求使用 Java 技术栈,使用 SpringBoot 框架。我需要找到针对这个技术栈的最佳实践规则。

  1. 打开 <https://cursor.directory/rules> 网站(这是 Cursor 官方推荐的规则库)
  2. 在搜索框中输入 "Spring" 进行搜索
  3. 找到官方推荐的 Java SpringBoot 开发规则
  4. 点击复制按钮,将整个规则文本复制下来

第二步:在 Cursor 中配置规则

  1. 打开 Cursor 编辑器
  2. 按快捷键 Ctrl + ,(Windows)或 Cmd + ,(Mac)打开设置
  3. 在左侧菜单中找到 "Rules" 选项
  4. 点击 "Add Rule" 按钮
  5. 这时会自动创建一个 。cursor/rules/cursorrules.mdc 文件

第三步:粘贴规则内容

将第一步复制的规则提示词完整地粘贴到 cursorrules.mdc 文件中。这个文件的作用是告诉 Cursor:

  • 使用 Java 8+ 语法
  • 遵循 SpringBoot 最佳实践
  • 使用标准的项目结构(Controller-Service-Repository 分层)
  • 遵循 RESTful API 设计规范
  • 使用合适的注解和依赖注入

二)需求拆解

1、什么是"需求拆解"?

需求拆解就是把客户给的大而模糊的需求,分解成一个个具体的、可执行的小任务。这就像把"建一栋房子"拆解成"打地基"、"砌墙"、"装门窗"等具体步骤。

将需求拆解成小而具体的任务之后,大模型就更容易理解并正确执行,同时大模型也可以一个功能一个功能地开发,从而降低了开发的复杂度。

2、如何让Cursor进行需求拆解呢?

第一步:准备需求文档

我先把客户给的 Word 或 PDF 格式的需求文档转换成 Markdown 格式,因为 Cursor 对 Markdown 的理解能力更强。

第二步:让 AI 进行需求分析

在 Cursor 的对话框中输入以下提示词:

这份提示词,就是把大需求拆成一个个具体任务和功能模块。

仅仅用了几分钟,Cursor 给我生成了完整的签章系统开发提示词,这份开发提示词,给出了系统技术栈要求,核心功能模块以及关键的技术要点。我都不需要做啥修改。

最后附上完整的实现提示词:

Cursor 对需求的提炼能力确实可以,不仅抓住了核心功能,还补充了些我可能忽略的细节。这份 AI 生成的"开发任务清单",成了我后续开发的路线图。

三) 如何从 0 到 1 的快速搭建系统

有了开发提示词之后,编码就利索多了。以往都是人工创建项目结构、写骨架代码,尤其是那些 Controller、Service,DAO 层的 CRUD 工作费时费力。最最最重要的是一个完整的项目还需要写前端页面,而这个活对于我这个后端开发而言完全是抓瞎呀。

第一步:投喂开发提示词

我将前面 Cursor 生成的详细开发提示词完整地复制到对话框中,然后在最后加上一句:

第二步:AI 自动生成项目骨架

Cursor 只花了几分钟就将整个项目的架构都搭建好了:

  • pom.xml:包含所有必要的依赖(Spring Boot、iText、BouncyCastle 等)

  • application.properties:数据库连接配置

  • 项目目录结构:标准的 Maven 项目结构

  • 基础类文件:Controller、Service、Entity 等空白类

选中 PdfSignatureApplication 主类,点击运行按钮,项目可以正常启动。真的不得不佩服 Cursor 的编码能力,这要是搁以前最少得花个半天的时间。

第三步:逐步完善功能实现

虽然项目能启动,但是 Controller 层、Service 层里的类都是空的。没关系,我们继续让 Cursor 去实现。

关键技巧:使用 @ 符号引用文件

Cursor 有个很强大的功能,就是可以用 @ 符号来引用项目中的文件或文件夹。这样 Cursor 就能看到具体的代码内容,生成的代码更准确。

我直接告诉 Cursor:"请继续完成 @controller 里的配置。" 这里的 @controller 就是引用 controller 文件夹,让 Cursor 知道我要完善哪些文件。

第四步:AI 快速生成业务代码

结果,Cursor 刷刷刷,没多久,接口框架代码就写好了:

  • SignatureController.java:处理 PDF 签章相关的 HTTP 请求
  • VerificationController.java:处理签章验证相关的请求
  • ImageController.java:处理签章图片管理的请求
  • 对应的 Service 类:业务逻辑处理
  • HTML 模板文件:前端页面

这效率,真不是盖的!以前我吭哧半天的活儿,Cursor 可能一杯茶的工夫就搞定了。感觉就像从手动挡换到自动挡,我主要把握方向,偶尔介入关键点,验证功能点,有问题就发给它。

第五步:验证初步成果

等 Cursor 生成完之后,我再次点击运行按钮,访问 http://localhost:8080,发现首页雏形已现,麻雀虽小五脏俱全,主要的功能点都有了:电子签章、签章验证、签章管理模块,基础的交互都有了。

四) 功能迭代

功能迭代就是在项目开发过程中,根据实际需要逐步添加、完善功能模块。这就像盖房子,先搭好主体框架,再一间一间地装修房间。

1、Cursor 如何迭代功能呢

第一步:发现缺失功能

前面我们运行项目发现少了一个"签章图片管理"的功能。这是通过实际测试发现的问题:

  1. 打开浏览器访问 http://localhost:8080
  2. 点击各个导航菜单,测试功能是否完整
  3. 发现"签章图片管理"页面是空白的,功能没有实现

第二步:编写具体的功能需求

不能简单地说"加个签章管理功能",而要把需求拆解得很具体。我在对话框中输入如下提示词:

第三步:AI 快速实现功能

不一会的功夫,Cursor 就添加好了签章图片管理功能,也在首页增加了导航栏,具体包括:

  • 后端接口:图片上传、删除、列表查询的 Controller 和 Service

  • 前端页面:图片管理界面,支持拖拽上传

  • 数据库表:存储签章图片信息的表结构

  • 导航菜单:在首页增加了对应的导航链接

五) 查漏补缺与文档生成

查漏补缺就是让 AI 自动检查项目中可能遗漏或不完整的部分,然后补充完善。这就像工程验收一样,要逐项检查是否达标。

1、为什么需要查漏补缺?

  1. AI 上下文限制:Cursor 一次性生成太多代码时,可能会出现上下文丢失

  2. 避免遗漏:复杂项目容易漏掉某些文件或功能

  3. 提高效率:让 AI 自检比人工逐个检查更快更全面

  4. 保证质量:确保每个模块都有完整的实现

2、如何让 Cursor 进行查缺补漏呢:

第一步:了解 AI 的局限性

在开发过程中,我发现 Cursor 由于上下文窗口的限制,一次性生成太多代码时可能会出现以下问题:

  • 空文件问题:某些 Service 或 Controller 类只有类名,方法体是空的

  • 依赖缺失:某些 import 语句没有添加

  • 配置不全:数据库表结构或配置文件不完整

第二步:编写自检提示词

我使用了一个很实用的技巧,让 AI 进行"自我检查"。在对话框中输入:

这个提示词的巧妙之处:

  • @项目总结.md:使用@符号让 Cursor 能看到项目的整体结构

  • 检查缺失部分:让 AI 主动发现问题,而不是被动等待

  • 生成文档:顺便让 AI 输出使用手册,一举两得

第三步:AI 自动发现并修复问题

Cursor 会按照要求检查核心的代码,这里它就检查出了几个关键问题:

  1. Service 层文件都是空的:只有类定义,没有具体的业务逻辑实现
  2. 数据库表结构缺失:没有创建对应的 SQL 脚本
  3. 配置文件不完整:缺少文件上传路径等配置
  4. 前端交互不完善:某些按钮点击事件没有绑定

然后 Cursor 会挨个进行实现和修复。

六)问题的处理与修复

当然 AI 编程也不是完全傻瓜式的操作,在这个软件的开发过程中我也碰到了不少问题,遇到问题我们不要慌,因为大部分问题都能通过 AI 来解决。有的问题可能是我们期望的功能没有实现,有的可能是功能报错。这里我就分别举两个例子进行说明。

电子签章功能中,印章图片没有应用到 PDF 上,这属于功能未实现,签章验证接口报 500 的错误,这属于功能出错。这时候就可以向下面这样将问题描述清楚发给 Cursor。

如果我们想优化功能样式的话,同样可以用大白话的方式告诉 Cursor。这里我给他说了 下载的印章只需要保留印章主体内容,不需要有多余的背景。Cursor 也能很好的帮我们解决。

小白实操要点

  1. 不要害怕出问题:问题是正常的,关键是如何解决
  2. 描述要具体:"不行"、"有问题"这种描述 AI 无法理解
  3. 一次处理一个问题:不要把所有问题混在一起说,不要期望 Cursor 一次就把所有问题解决好
  4. 保持耐心:有时需要多轮对话才能完全解决问题,如果一个问题经过 5 轮以上还没有解决好,那么可以从头再来,让 Cursor 重新来实现。
  5. 学会看日志:浏览器控制台和服务器日志是排查问题的重要工具

经过一天的编码调试,我就用 Cursor 将项目开发好了。这里有个小 tips,我在开发的过程中不断地跟客户保持联系,将做好的页面效果发给客户看,给客户信心,为后期的交付铺平道路。

三、项目交付收回尾款

前面我只收了一半的定金,还剩一半的尾款没有收取,这里可以把做好的软件录屏好发给客户。客户确认没问题的之后就可以收取尾款了。

以上就是我一个完整的 AI 编程商单交付的过程,最后说几点我的感悟吧!

四、几点感悟

通过本次的 AI 编程实践,我意识到 AI 编程必将改变传统的开发模式。

如果将以前人工编码比喻成小作坊的话,那么使用 AI 编程工具的开发则是体系化的流水线。它直接带来效率飞跃,原来几周甚至几个月的工作量,AI 编程辅助下,周期大大缩短,能更快响应市场,交付产品。

在 AI 编程时代,纯 Code,纯执行的程序员将可能会被快速取代。我们程序员再也不能拘泥于只会敲代码,我们要站在更高的角度上去思考架构设计,梳理复杂的业务,提升自身的元能力。

AI 编程大大降低了编码门槛,普通人也能通过自然语言对话的方式实现简单的小项目,专业的程序员也能通过 AI 编程一个人搞定一个复杂的项目。

在 AI 编程过程中我们需要学会如何精准"指挥"AI,并高效"审查"和"优化"其成果,这是开发者新的核心技能。精准控制 AI 无外乎两点:

第一点是 选择更强大的大模型,大模型能力的强弱直接决定了生成代码质量的高低。

第二点是:要学会编写高质量的提示词 ,高质量的提示词让大模型能更好地生成代码,如果提示词不会写的话,那么可以让大模型先生成一个初版的提示词,你稍作修改即可。

我这次 AI 辅助接单的经历,让我确信一个全新的编程时代已经来临。AI 编程,如同当年从汇编到高级语言的跨越,将彻底改变我们的工作方式,并带来前所未有的发展机遇。

们,AI 编程的市场空间巨大,掌握它,收益巨大。行动起来,让 AI 成为你代码世界的"神兵利器"!未来已来,一起抓住它!