AI编程在BOSS项目的实践经验分享

article/2025/8/28 3:49:36

前言

在人工智能技术革新浪潮的推动下,智能编程助手正以前所未有的速度重塑开发领域。这些基于AI的代码辅助工具通过智能提示生成、实时错误检测和自动化重构等功能,显著提升了软件工程的全流程效率。无论是初入行业的开发者还是资深程序员,都能借助这些工具快速突破技术瓶颈——新手可借此规避基础语法错误并学习最佳实践,而资深工程师则能通过智能优化建议将重复性编码工作转化为创造性技术探索,有效缩短从构思到实现的开发周期。

一、AI编程的主流方式和选型

IDE开发工具可分为插件式和AI原生两类:插件式工具(如GitHub Copilot、阿里通义灵码)通过集成到现有IDE提供智能补全和代码生成,兼顾开发习惯与效率提升;AI原生IDE(如字节Trae、Cursor、Windsurf)深度整合大模型能力,支持全流程智能化开发。

Cursor的核心优势在于开箱即用的AI能力:原生集成AI功能,无需安装插件即可直接使用。它能准确理解代码上下文,提升代码维护与生成效率;支持实时生成/重构代码,加速功能开发;提供智能错误诊断,快速定位问题并给出修复建议。其搭载的Claude 3.7模型具备优秀代码生成、问题解决和架构设计能力,能精准解析完整代码库,特别适用于工程项目。通过Codebase Indexing索引全量代码文件,清晰解析复杂调用关系;既能结合全局上下文解释特定代码段,也能快速定位目标代码解决问题,在工程场景中表现尤为突出。

在确定AI编程工具选型后,工程化落地需要建立与AI协作的标准化环境。基于Cursor的代码库索引能力,我们设计了具有自解释特征的初始化工程模板。通过标准化工程结构与预置架构规范,使AI能精准对齐项目技术语境;借助模板工程的隔离特性,在保证主代码库稳定性的同时,为智能编码工具构建可理解、可验证的沙箱环境。

二、项目工程中的初始化配置

构建模板项目工程

1、模板工程作为独立开发环境

采用模板项目工程作为AI编程的开发项目,做到了隔离的作用。该模板项目通过建立标准化示例工程,提供可验证的代码安全范式——包含功能实现参考样例、技术架构说明文档。开发者可基于此模板工程,借助AI编码工具进行隔离式开发,既确保新功能符合安全规范,又能通过标准化结构降低理解成本。

2、基础数据表结构说明

SQL脚本内置常用基础数据表结构,主要包含高频使用的关联查询表。脚本中明确标注各表之间的关联关系及核心字段说明,便于AI快速理解数据结构。

3、公共组件使用指引

针对项目外部公共依赖库,提供模块化使用指南。按功能模块划分说明:工具类集合清单、Redis操作方法、用户信息获取方法等通用功能的调用方式和规范。

如何编写高效的项目规则

清晰明确: 规则要清晰、明确、易于理解,避免使用模糊或模棱两可的描述。

具体可执行: 规则要具体、可执行,能够指导 AI 生成符合要求的代码。

定期更新: 随着项目的发展和需求的变化,定期更新你的 Cursor Rules。

在Project Rules里设置项目级别的专属规则

项目规则的四大关键,提升生成代码的质量          
1、项目背景规范

项目概述:阐明系统核心业务目标与轻量级微服务架构定位

技术架构:采用SpringBoot+MyBatisPlus + Vue2 + Elementplus技术体系,集成Lombok、Hutool、Lodash、Moment工具链

开发环境:JDK1.8运行环境,Maven构建工具,Node18 + Pnpm9构建环境

2、项目架构规范

工程结构:分层架构细化(controller/service/mapper/entity/MVVM

模块划分:按业务维度分包(如user/order/payment),含API模块与核心模块分离

公共组件:BaseController、PageUtils、ResultWrapperDynamicForm、UploadFiles等可复用工具

3、编码实施规范

代码风格:使用Lombok简化代码,异常处理try...catch,使用Stream API

命名规则:类名大驼峰(UserService),字段小驼峰(userName),常量全大写(MAX_COUNT)

注释标准:所有函数必须有功能性注释说明及作用

4、数据库设计规范

基础字段:必含id(雪花算法)、create_by、create_time、update_time、is_deleted(逻辑删除)

字段命名:表字段与Java属性严格遵循下划线/驼峰自动映射(user_name→userName)

索引优化:单表索引不超过5个,联合索引遵循最左前缀原则

后端(JAVA)项目规则

前端(VUE)项目规则

三、从需求分析到代码生成

需求背景

指产权属于房产公司的物业,合同/协议约定其物业服务费给予优惠收取。

需求描述

1、查询列表:支持按区域、项目、有效期范围、空置收费比例、备案状态等核心字段,并提供查看与终止操作,备案编号按FCKZ+年月日+4位随机数生成,状态涵盖未生效/已生效/已失效。

2、新增备案:

基本信息:申请项目、优惠类型(房屋/车位)、优惠范围、合同信息(名称、签订日期)、备注及附件(10文件/10MB内)、优惠信息。

3、终止功能:需填写终止原因(合约调整/其他)、生效日期(仅当日或未来)、备注及附件,终止后备案状态变更为已失效。

全流程需确保数据联动性、字段校验及状态流转逻辑严谨。

结构化需求拆解与渐进式人机协作

清晰的需求描述是项目成功的基石,需通过结构化表达(如Markdown)整合“人设+任务+上下文+案例+方案”等核心要素,为AI提供完整背景与逻辑框架,使其能精准协助完善功能描述、技术细节及动态优化,最终构建人机协作的高效闭环,确保需求分析与落地执行的一致性。             

开发复杂功能时,一次性生成太多代码生成易出现偏差,需采用分步引导策略:首先将大功能拆解为模块化任务链(如架构设计→核心逻辑→异常处理),分阶段向AI递进描述需求;接着通过“生成基础框架→填充关键代码→补充健壮性要素”的渐进式协作,结合代码解释与问题修正的循环验证,在降低认知负荷的同时,确保代码质量与开发方向的可控性。

建议将复杂需求分解为可执行的任务清单,采用分步推进、边修改边验证的迭代模式。此外,可引导AI运用思维链技术进行系统性任务规划,确保执行路径的科学性。

后端接口开发

以下后端接口开发的需求描述:

使用Cursor的Agent模式,以需求文档作为上下文,和Cursor对话,让其完成后端开发,最后完成了包括API接口、功能实现和数据库设计:

接着让其继续生成Markown格式的接口文档:

按要求生成了标准的接口文档:

AI完成接口的功能测试

添加控制器到上下文,输入指令,让AI生成功能性测试的代码。

创建了集成测试类,使用MockMvc测试各个接口的功能。        

前端页面开发

以下前端开发的需求描述:

把相关的文件拖进去,可以令大模型更加精准的回答:

生成之后,运行项目报错了;直接把报错截图粘贴到输入框即可添加到上下文,随后会根据报错信息解决问题, 说明这个错误是由于Vue模板中的条件渲染指令使用不正确导致的。

增加一个弹窗组件

在生成的业务模块中,让Cursor新增一个弹窗组件,包含以下内容:项目名称输入框,备注文本域,确认和取消按钮,加载状态管理,且同时调用接口服务,Cursor会扫描整个项目代码,自动创建api文件和弹窗组件,同步实现了表单验证和错误处理,实现一个完整的业务模块

完成项目路由文件优化

项目中的路由文件比较庞大,且采用的是单文件方式,我们可以要求Cursor按照路由文件按照业务模块拆分成多个独立单元,这样可以提高代码的可维护性和可读性。

实现的一个效果:1个文件26个路由拆分成6个文件,其中包括1个主路由以及5个业务路由文件。且路由文件由Cursor自动创建以及填入路由信息。

最后实现的效果

    通过使用 AI 工具自动生成代码,我们成功实现了多个关键需求。AI根据给定的提示词,快速生成了4个基础页面,5个接口实现,以及6个基础组件依赖,大大节省了开发时间和工作量。同时,针对特定业务需求,还新增了2个业务组件,进一步丰富了系统功能。整个开发过程更加高效、精准,为后续的功能扩展和维护打下了坚实的基础。

功能验证

1、列表查询功能确认字段映射准确对应,查询条件与需求文档定义一致,分页逻辑运行正常。

2、动态查询条件可实现数据精准筛选,结果集匹配符合预期。

3、详情查看功能各字段显示内容与数据源保持正确关联。

4、新增功能字段配置完整无误,数据存储流程执行正常。

5、终止操作提交时触发参数校验异常,原因为接口定义的日期格式与前端传输的时间格式不一致。

初步版本已实现需求文档基本功能,针对接口报错问题,根据报错日志快速定位并修复了接口参数日期格式问题。

实践小结

本次需求开发实践中,首先对产品文档进行结构化拆解,明确功能边界与状态流转规则,梳理形成包含12个核心字段的数据库模型。完成后端Spring Boot业务逻辑(基础增删改查与数据库交互)和前端界面以及数据交互逻辑(含数据校验与双向绑定)。

开发周期中需求分析阶段耗时占比最高,采用"功能模块闭环验证"策略:每个功能点完成接口自测、前后端联调、业务规则核验检查,针对出现的异常(如日期格式冲突)进行定向优化。实践证明,结合AI代码生成工具时,开发者更需聚焦于需求结构化表达与核心业务逻辑的精准把控,通过"小步快跑、持续验证"的迭代模式实现工程质量的稳步提升。

四、项目经历分享

1、快速上手项目有妙招

使用Agent模式给你整理出项目的架构图,输出Mermaid语法的文本;粘贴到看图文本工具: https://mermaid.live/ ,快速了解项目。

要使用agent模式,通过查看项目的结构整理出来架构图: 

复制Mermaid代码到在线看图工具可以看到以下效果图;另外,也可以添加项目架构图让AI智能分析,可快速理解其设计思路与组件关系。

2、AI在调试接口返回结构时多次出错

首次错误是请求类已封装返回data结构体,但代码仍调用result.data.records

第一次就可以定位到问题,但是没有正确的解决问题;第二次被告知正确路径应为result.records,却错误地在外围添加多余的空值判断,未修正核心路径引用问题。这表明 AI 陷入了“死胡同”,无法跳出思维链。

此时,可以通过优化project rules增加接口返回数据的示例说明来令AI知道接口数据的返回格式。

或者通过提问时候的提示词来解决

3、借助MCP MySQL Server生成接口指定信息的入参示例

添加一个MCP Servers,替换正确的数据库配置信息

{
  "mcpServers": {
    "mysql": {
      "command": "npx",
      "args": ["-y", "@f4ww4z/mcp-mysql-server"],
      "env": {
        "MYSQL_HOST": "your_host",
        "MYSQL_USER": "your_user",
        "MYSQL_PASSWORD": "your_password",
        "MYSQL_DATABASE": "your_database"
      }
    }
  }
}

新建一个终端启动MCP Servers,随即开启并刷新一下,就看到小绿色点,说明MCP Servers已经启动成功了。

npx -y @f4ww4z/mcp-mysql-server

给新增接口创建一些示例数据,要指定的项目数据:

可以看到会先调用MCP tool查询到指定的两个项目信息,然后拿到项目ID作为入参生成了完整的接口入参示例。

4、生成前端单元测试

使用 AI 生成前端单元测试是一大优势,它可以直接结合你已有的函数或组件逻辑,自动生成 Jest、Vitest、Testing Library 等测试代码,大大节省你手写测试的时间。

原函数

export function sum(a: number, b: number): number {
  return a + b;
}

AI 自动生成

// utils.test.ts
import { sum } from './utils';
describe('sum', () => {
  it('should return correct sum of two numbers', () => {
    expect(sum(1, 2)).toBe(3);
    expect(sum(-1, -1)).toBe(-2);
    expect(sum(0, 0)).toBe(0);
  });
});

5、设计图生成前端代码

AI 可以通过分析设计图并生成响应式布局代码,减少开发者的工作量。下面是一个通过 AI 实现设计图生成代码的示例流程和生成的代码示例。

  1. 设计图:上传或插入设计图(例如,Figma、Sketch 或 PNG 图片)。
  2. AI 识别:AI 会分析设计图的结构,识别出表单、按钮、文本框等元素。
  3. 输出代码:AI 根据设计图内容生成 HTML、CSS 或框架代码(如 Vue、React)。
  4. 优化与反馈:开发者可以根据项目需求调整生成的代码,进一步优化样式或功能。

6、上下文优化策略

适当添加相关文件至对话上下文可显著提升AI任务完成质量,但需注意控制文件数量,仅提供核心文件即可。过量文件输入反而可能干扰AI的重点识别能力。

五、结语

在应用Cursor等智能工具时,建议采用"指挥官-执行者"协作范式而非放任自治。开发者需构建完整的系统认知框架,明确功能模块划分标准与交互协议,将AI定位为精准的代码实施单元。软件工程本质是架构设计与代码实现的复合体,应引导AI承担后者而非前者。建议建立结构化需求文档作为"数字契约",确保AI的每次迭代都遵循既定设计规范。对话交互宜聚焦文档索引与规范调用,避免在开放式会话中定义核心需求。

本文作者:

蔡冠怡:碧桂园服务后端开发高级工程师

邓涛:碧桂园服务前端开发专家

指导人:

余俭:碧桂园服务技术总监

简洪胜:碧桂园服务技术专家


http://www.hkcw.cn/article/xbHXXFSGOa.shtml

相关文章

菜鸟之路Day36一一Web开发综合案例(部门管理)

菜鸟之路Day36一一Web开发综合案例(部门管理) 作者:blue 时间:2025.5.28 文章目录 菜鸟之路Day36一一Web开发综合案例(部门管理)一.环境搭建二.开发规范三.部门管理3.1查询3.2删除3.3新增3.3修改根据id来…

一周学会Pandas2之Python数据处理与分析-Pandas2数据合并与对比-df.compare():差异高亮

锋哥原创的Pandas2 Python数据处理与分析 视频教程: 2025版 Pandas2 Python数据处理与分析 视频教程(无废话版) 玩命更新中~_哔哩哔哩_bilibili df.compare():差异高亮 df.compare() 是 pandas 中用于 高效比较两个 DataFrame 差异 的方法&#xff0…

uniapp安卓App自定义相机(身份证相机)

效果图: 实现思路: 本人也是第一次做app的自定义相机功能,找了相关文章后,发现uniapp自带的相机组件是不能实现在app中自定义相机的功能,因为不支持。按照前辈们的思路,是使用uniapp中的live-pusher直播组…

【软件安装】非华为手机安装华为电脑管家(14.0.5.8 C233)(附带安装包下载地址)

前言 华为电脑管家是一款专为华为电脑用户设计的综合管理软件,提供了多种实用功能,旨在优化电脑性能并提升用户体验。其拥有以下特色功能: 互传功能: 快速传输:华为电脑管家支持与华为手机之间的快速文件传输。用户可…

明基RD280U编程显示器深度测评:码农的「第二块键盘」竟然会发光?

文章目录 前言一、开箱篇:当理工男遇到「俄罗斯套娃式包装」二、外观篇:深空灰的「代码容器」1. 桌面变形记2. 保护肩颈的人体工学设计 三、显示篇:给代码做「光子嫩肤」1. 28寸超大大屏 3:2屏比 4K超清2.专业编程模式,让代码一…

一次电脑感染Synaptics Pointing Device Driver病毒的经历,分享下经验

没想到作为使用电脑多年的老司机也会电脑中病毒,周末玩电脑的时候突然电脑很卡,然后自动重启,奇怪,之前没出现这个情况。 重启后电脑开机等了几十秒,打开任务管理器查看开机进程,果然发现有个Synaptics Po…

给出一个基于 ESP32(Espressif ESP-IDF)来连接并向蓝牙耳机发送音频的方案示例。该方案的核心思路是让 ESP32 充当「A2DP Source」(与手机类似)

下面给出一个基于 ESP32(Espressif ESP-IDF)来连接并向蓝牙耳机发送音频的方案示例。该方案的核心思路是让 ESP32 充当「A2DP Source」(与手机类似),而蓝牙耳机则是「A2DP Sink」。这样,ESP32 能够像手机一…

2025真正可行的手机安装Kali Linux方法!

很久前,我出了一期termux安装kali linux视频,有很多问题,这次加以记录和整理,总体来说,大多是国际网络问题和linux命令错误,就算实现了国际网络,但你的安装程序不一定通过国际网络进行&#xff…

程序员编程利器一明基RD280U显示器

目录 ​编辑 一、引言 二、开箱验货 三、丝滑极致深度体验 独特屏比,让代码阅读如鱼得水 超大巨幕,释放监控细节 专业编程模式,打造舒适视觉环境 强大护眼功能,呵护眼睛健康 丰富扩展功能,提升工作便捷性 智…

程序员六一八干什么?种草很久的专业编程显示器终于能入了

文章目录 引言一、 显示器热门活动1.1 明基RD系列编程显示器:程序员的护眼利器1.2 限时优惠来袭,程序员换机好时机 二、极致编程体验2.1 3:2屏幕比和超4K分辨率2.2 专业编程色彩模式2.3 护眼技术和功能2.3.1 硬件滤蓝光2.3.2 抗反射面板2.3.3 MoonHalo舒…

C盘爆满?一键清理恢复极速体验!“小番茄C盘清理”彻底解放你的电脑

目录 前言 C盘变红?!那么你的电脑将会出现下面糟糕的情况: 一、小番茄C盘清理介绍——拯救你的C盘爆红! 二、安装登录小番茄C盘清理 2.1 安装小番茄C盘清理 2.2 登录—拥有专属自己电脑的小番茄C盘清理 三、手把手教你深度…

联想电脑麦克风阵列问题及解决办法!!!

前两天即将面试时候进入到腾讯会议出现了这样问题:检测到麦克风阵列异常。如果你也遇到麦克风问题,可以参考我的总结: 时间紧急,我首先是怀疑自己之前跟着网上买的工具做电脑清灰打开后盖碰到了麦克风模块什么的影响到了系统检查不…

oracle goldengate实现远程抽取postgresql 到 postgresql的实时同步【绝对无坑版,亲测流程验证】

oracle goldengate实现postgresql 到 postgresql的实时同步 源端:postgresql1 -> postgresql2 流复制主备同步 目标端:postgresql 数据库版本:postgresql 12.14 ogg版本:21.3 架构图: 数据库安装以及流复制主备…

服务器带宽基础知识

服务器带宽基础知识详解 一、带宽的定义与基本概念 服务器带宽(Bandwidth)是指服务器与互联网之间在单位时间内传输数据的能力,通常以 Mbps(兆比特每秒) 或 Gbps(吉比特每秒) 为单位衡量。它决…

如何在本地部署小智服务器:从源码到全模块运行的详细步骤

小智聊天机器人本地后台服务器源码全模块部署 作者:林甲酸 -不是小女子也不是女汉子 是大女子 更新日期:2025年4月29日 🎯 前言:为什么要写这篇教程? 上周按照虾哥小智服务器的教程去部署本地后台,我用的是…

【Linux实践系列】:进程间通信:万字详解命名管道实现通信

🔥 本文专栏:Linux Linux实践项目 🌸作者主页:努力努力再努力wz 💪 今日博客励志语录: 与其等待完美的风,不如学会在逆风中调整帆的角度——所有伟大航程都始于此刻出发的勇气 ★★★ 本文前置知…

nginx配置反向代理服务器,实现在https网站中请求http资源

文章目录 一、前言二、Nginx反向代理的工作原理三、Nginx反向代理的主要功能‌四、Nginx反向代理的配置和使用场景五、实战配置5.1 首先,修改宝塔面板配置5.2 接着配置代理服务器5.3 完成上面所有配置后5.4最后还要在原来的index.html文件里添加5.5 或者可以操作服务…

鲲鹏服务器+昇腾卡(Atlas 300I pro)搭建DeepSeek-R1-Distill-Qwen-7B(自己存档详细版)

参考文章:https://modelers.cn/models?namedeepseek&page1&size16 https://www.hiascend.com/software/modelzoo/models/detail/11aa2a48479d4d229a9830b8e41fc011 当前服务器配置为:2 * 鲲鹏920 2 * Atlas 300I pro 系统:open Eul…

Tongweb7049M4有关SSL/TLS 服务器瞬时 Diffie-Hellman 公共密钥过弱的处理方案(by lqw)

前提条件:Tongweb7049M4已在http通道里配置了https(如何配置https可以参考这个帖子:东方通TongWEB添加Https证书,开启SSL) 遇到客户在配置了https后,扫描漏洞提示: 有关SSL/TLS 服务器瞬时 Dif…

[原因和较为完美的解决方法]远程主机可能不符合 glibc 和 libstdc++ Vs code 服务器的先决条件

省流:把vscode降低到1.98版本并关闭自动更新 今天打开vscode,突然发现连接不了本地的虚拟主机ubuntu了,并且报了本文标题所示的错误。 vscode的具体报错如下: 原因是:(从别人的文章摘过来的) 通…