AI 原生代码不是“让大模型写 CRUD”:企业管理系统的 4 层协作方法论

发布时间:2026/6/1 12:19:38

AI 原生代码不是“让大模型写 CRUD”:企业管理系统的 4 层协作方法论 AI 原生代码不是“让大模型写 CRUD”企业管理系统的 4 层协作方法论文档地址http://ruoyioffice.com | 源码1https://gitcode.com/zhouzhongyan/ruoyi-office-vben.git | 源码2https://gitcode.com/zhouzhongyan/ruoyi-office.git | 源码3https://github.com/yuqing2026/ruoyi-office.git | 微信17156169080备注「RuoYi Office」AI 编程真正有价值的地方不是生成一个看起来能跑的 CRUD而是把企业系统里的重复工程劳动交给 AI把业务判断、架构边界、权限安全、流程一致性和验收标准留给人。企业系统越复杂越不能把 AI 当“许愿机”而要把它放进一套可审查、可复用、可回滚的工程方法论里。▲ AI 原生代码交付不是跳过工程而是把需求拆解、源码生成、流程编排、多端验收和运营反馈放进同一个闭环引言为什么很多 AI 生成系统只能停在 Demo过去一年很多团队已经试过让 AI 写代码。最初的体验通常很好输入“帮我做一个客户管理页面”几分钟后就有表格、搜索框、新增弹窗和接口调用。再输入“帮我加导出”AI 也能补上按钮和 API。但到了企业系统问题会很快出现数据库字段和业务术语对不上后端接口缺权限校验前端表单只管提交不管流程状态移动端无法复用 PC 端体验审批通过后没有业务回调AI 改了一个文件却漏掉另外 5 个相关文件Demo 能跑但无法进入长期维护这不是 AI 不行而是方法错了。企业系统不是“页面集合”而是“业务闭环集合”。如果没有明确的工程约束AI 只会帮你更快地生成技术债。一、AI 原生代码的第一原则先建模再生成企业管理系统的开发顺序不能是“先画页面”。应该先回答 6 个问题问题例子影响范围单据是什么用印申请、资产入库、合同审批数据表、编号、权限、流程状态有哪些草稿、审批中、已通过、已拒绝、已撤回前端按钮、后端校验、移动端展示谁能操作发起人、部门负责人、行政、财务RBAC、数据权限、节点权限流程怎么走会签、或签、退回、加签、归还节点Flowable、流程变量、任务按钮审批后做什么生成资产卡片、扣减库存、创建应收Service 回调、事务、幂等移动端要不要做待办、详情、审批、发起UniApp 页面、API 复用、路由映射AI 最适合在这些问题被明确后开始工作。如果直接让 AI “生成一个审批模块”它会按通用经验补齐 CRUD如果先告诉它业务对象、状态、流程、字段、权限和已有项目规范它就能沿着工程结构生成更接近生产级的代码。二、4 层协作方法论2.1 业务层人负责边界AI 负责展开业务层最忌讳“让 AI 猜”。比如“资产入库”听起来简单但真实系统至少要明确入库单是否走审批审批通过后是否生成资产卡片一条明细数量为 5 时是生成 1 张卡片还是 5 张卡片单价、原值、净值、折旧起始日期怎么处理资产来源、供应商、验收信息是否要记录已审批单据是否允许删除人要做的是把这些边界讲清楚。AI 要做的是把边界展开为数据表字段Java 实体和 VOMapper 查询Service 事务Controller 接口TypeScript 类型Vue 表格和表单UniApp 移动端页面这就是 AI 原生代码的第一个关键点人不再手工铺满所有重复文件但必须定义业务判断。2.2 工程层用项目规范约束 AI 输出没有规范的 AI 输出会像一群风格不同的外包同时改项目。RuoYi Office 这类项目必须给 AI 明确约束约束示例后端包名cn.iocoder.yudao接口前缀/admin-api/{module}/...前端 API 路径apps/web-antd/src/api/{module}/{feature}/index.ts前端页面路径apps/web-antd/src/views/{module}/{feature}/index.vue移动端 APIruoyi-office-uniapp/src/api/{module}/...流程标识使用processDefinitionKey显式绑定权限命名module:feature:action前端组件Page、useVbenVxeGrid、TableAction、useVbenModalAI 不是不能写企业代码而是不能在没有上下文的情况下写企业代码。一旦规范稳定AI 可以非常高效地完成“按模式复制并适配”的工作。2.3 流程层审批不是状态字段而是业务驱动器很多系统把流程做成一个status字段0 草稿、1 审批中、2 通过、3 拒绝。这只能解决展示问题解决不了业务闭环。企业审批真正要处理的是发起流程时构造流程变量流程实例与业务单据绑定审批状态实时回写审批通过触发业务动作审批拒绝后允许修改重提移动端能根据流程定义展示对应业务详情RuoYi Office 后端通过FlowBillService这类接口把流程状态和业务逻辑显式挂钩。StringprocessInstanceIdprocessInstanceApi.submitProcessInstance(startUserId,newBpmProcessInstanceCreateReqDTO().setProcessDefinitionKey(AssetBillTypeEnum.ASSET_RECEIVE.getProcessDefinitionKey()).setVariables(variables).setBusinessKey(String.valueOf(id))).getCheckedData();receive.setProcessInstanceId(processInstanceId);receiveMapper.updateById(receive);returnid;这段代码里有三个关键点processDefinitionKey明确绑定业务流程variables把业务字段传给流程条件和审批人计算businessKey把流程实例和业务单据绑定起来这比“配置一个审批按钮”更重但它能承载真实企业系统。2.4 验收层AI 输出必须经过多端闭环验证AI 生成代码后不能只看页面能不能打开。企业系统至少要做 5 类验收验收项检查内容后端接口权限、参数校验、事务、异常、分页、导出Web 页面列表、搜索、表单、详情、按钮权限、字典显示移动端待办、详情、发起、审批、返回刷新、弱网提示流程发起、审批、拒绝、撤回、回调、状态同步数据主子表一致性、幂等、历史数据、删除限制AI 可以帮忙写测试、生成检查清单、解释报错但最终验收标准必须由团队定义。三、RuoYi Office 的 AI 原生代码架构▲ RuoYi Office 的关键价值在于把 Web、移动端、业务模块、Flowable 流程、Spring AI 和工程基础设施放在一套源码体系内RuoYi Office 适合 AI 协作开发原因不是“用了 AI 模块”而是它的工程结构足够清晰。层级主要内容AI 协作价值体验层Vue3 Vben Admin、UniApp、工作台、审批中心AI 可按既有组件模式生成页面业务层OA、HRM、CRM、ERP、资产、合同、项目AI 可参考同类模块做增量开发流程层Flowable、BPMN、流程变量、业务回调AI 可定位流程与业务单据关系智能层Spring AI、多模型、知识库、AI 工作流、MCPAI 能力不是外挂而是业务模块之一工程层Spring Boot、Java 17、MyBatis、RBAC、多租户AI 输出受稳定架构约束这种架构对 AI 友好因为每个业务概念都有“源码落点”。低代码平台的问题在于很多业务语义只有运行时才知道RuoYi Office 这类原生工程则把语义尽量放在可读源码里。四、代码证据移动端流程入口如何绑定业务移动端不是把 PC 页面缩小而是重新组织审批场景。RuoYi Office 在 UniApp 里通过bpm-menu-config.ts把流程定义、权限、移动端创建页和移动端详情组件显式绑定。{key:oaSealApply,name:用章,icon:edit-outline,iconColor:#9333ea,permission:bpm:oa-seal-apply:create,processDefinitionKey:oa_seal_apply_bill,mobileCreatePath:/pages-oa/seal/create/index,mobileViewComponent:SealApplyDetail,forceDetailTaskNames:[申请人归还印章],},{key:oaMeetingRoom,name:会议室预定,icon:secured,iconColor:#16a34a,permission:bpm:oa-meeting-room-apply:create,processDefinitionKey:oa_meeting_room_apply,mobileCreatePath:/pages-oa/meeting-room/create/index,mobileViewComponent:MeetingRoomBookingDetail,}这段配置比普通菜单配置更重要。它解决了三个问题移动端知道某个流程应该打开哪个业务详情权限与流程入口一致不会出现“PC 能发起、APP 找不到”的断裂特殊节点可以强制展示业务详情比如“申请人归还印章”这就是原生代码的优势AI 可以读懂这个结构继续帮你扩展新业务流程。五、代码证据Web 与移动端共享同一套后端语义Web 端 API 以 TypeScript 类型描述业务对象。exportnamespaceAssetTransferApi{exportinterfaceTransferVO{id?:number;billCode?:string;transferDate?:string;transferReason?:string;fromDeptId?:number;fromDeptName?:string;toDeptId?:number;toDeptName?:string;processInstanceId?:string;processStatus?:number;fileUrls?:string[];items?:Item[];}}exportfunctionsubmitTransfer(data:AssetTransferApi.TransferVO){returnrequestClient.postnumber(/asset/transfer/submit,data);}移动端审批接口同样围绕流程实例和任务处理。exportfunctiongetTaskTodoPage(params:PageParam){returnhttp.getPageResultTask(/bpm/task/todo-page,params)}exportfunctionapproveTask(data:{id:stringreason:stringsignPicUrl?:stringnextAssignees?:Recordstring,number[]}){returnhttp.putboolean(/bpm/task/approve,data)}exportfunctionrejectTask(data:{id:string,reason:string}){returnhttp.putboolean(/bpm/task/reject,data)}这说明 RuoYi Office 的多端不是“各做各的”而是同一套业务对象、流程实例和任务接口在不同端呈现。AI 在这种代码库里工作会比在封闭低代码平台里舒服得多它可以读 API 类型、读页面调用、读后端实现然后跨端修改。六、真实界面AI 原生代码最终要落到业务体验▲ Web 端工作台不是简单首页而是把待办、已办、OA、HRM、CRM、ERP、项目、资产等能力聚合到一个办公入口▲ 移动端首页展示考勤打卡、公告、工资信息、企业云盘和任务入口说明三端统一必须从 API、权限、流程和页面体验一起设计AI 原生代码的最终目标不是“代码写得像人”而是“系统真的能服务业务”。比如上面的两个截图其实体现了几个底层能力统一登录认证统一用户、部门、岗位信息统一流程任务中心统一业务单据状态统一文件和云盘能力PC 与移动端共同承载企业办公这些能力在代码层面是分散的但在用户体验里必须是一体的。这也是为什么企业系统不能只靠页面生成器。七、AI 原生代码开发的推荐工作流实际开发中可以按 8 步走步骤产物AI 参与方式1. 业务访谈场景、角色、单据、流程帮忙整理问题清单2. 数据建模表结构、字段、索引、枚举生成 DDL 初稿3. 后端骨架DO、VO、Mapper、Service、Controller按项目模式生成4. 流程接入processDefinitionKey、流程变量、回调生成接入代码并解释风险5. Web 页面API、列表、表单、详情按 Vben 模式生成6. 移动端API、列表、详情、审批入口按 UniApp 模式生成7. 测试审查单元测试、接口测试、验收清单补测试和查边界8. 文档沉淀开发说明、运维说明、博客文章生成结构化说明这里有一个经验AI 最适合做“有样板的扩展”不适合替团队做“没有边界的判断”。RuoYi Office 已经有大量业务模块样板所以当新增资产、合同、项目、HRM 流程时AI 可以参考既有模式快速复制并适配。八、AI 原生代码团队要避免的 5 个坑8.1 不要让 AI 直接改大范围文件企业系统里跨模块依赖很多。应该让 AI 先读上下文、列出影响范围再分步骤修改。一次性“重构整个审批系统”很容易出事故。8.2 不要接受看起来很完整但无法解释的代码AI 生成代码后要让它解释为什么这样设计表结构为什么这个字段可空为什么这个方法需要事务为什么审批通过后要做幂等判断为什么移动端路由这样绑定解释不清楚的代码不要轻易合并。8.3 不要忽略权限和数据隔离企业系统最容易被 AI 漏掉的不是页面而是权限。每个接口至少要检查是否有PreAuthorize是否存在租户隔离是否需要部门数据权限是否有导出权限移动端是否复用同样权限8.4 不要把 AI 当测试替代品AI 可以生成测试但不能替代测试。尤其是流程系统要真实跑发起审批拒绝撤回加签移动端审批业务回调历史单据查看8.5 不要让低代码配置和原生代码割裂如果项目中同时使用动态表单或低代码能力必须明确边界。推荐原则核心业务逻辑放原生代码灵活字段和轻量表单可以配置化配置变更也要版本化AI 能读到的文档和导出结构要同步维护九、为什么 RuoYi Office 适合做 AI 原生代码底座RuoYi Office 的价值不只是模块多而是它给 AI 协作提供了“稳定地形”。能力对 AI 协作的意义Spring Boot 3.5 Java 17后端结构清晰AI 容易理解分层Vue3 TypeScript前端类型明确跨文件修改更稳UniApp 移动端可以把 PC 业务扩展到移动审批Flowable 7流程不是状态字段而是标准引擎多业务模块AI 可参考大量同类模块模式Spring AI企业 AI 能力能落在业务平台内部源码开放可审查、可二开、可迁移这类项目会越来越适合未来的 AI 开发方式。因为 AI 不怕代码多它怕语义混乱。代码多但结构清楚AI 能读配置少但语义隐藏AI 反而难帮忙。十、快速体验端地址推荐体验Web 端http://localhost:5800/工作台、流程中心、OA/HRM/CRM/ERP 模块入口移动端http://localhost:9000/首页、审批、待办、业务申请、云盘源码与文档类型地址文档http://ruoyioffice.comWeb 前端https://gitcode.com/zhouzhongyan/ruoyi-office-vben.gitJava 后端https://gitcode.com/zhouzhongyan/ruoyi-office.gitGitHubhttps://github.com/yuqing2026/ruoyi-office.git参考资料Stack Overflow 2025 Developer Survey开发者对 AI 工具的采用、信任和调试成本见 官方发布 与 AI 章节。GitHub Universe 2024AI-native developer experience、Copilot 多模型和组织采用见 GitHub 官方发布。McKinsey 2025 State of AI企业 AI 使用广泛但规模化仍需组织和流程支撑见 McKinsey 2025 State of AI。结语AI 原生代码不是让 AI 替你随便写一个系统而是让 AI 进入一套成熟工程流程按业务建模、按项目规范生成、按流程机制集成、按多端体验验收。低代码把“写代码”这件事藏起来AI 原生代码则把“重复写代码”这件事交给 AI同时保留源码透明、架构清晰和长期可维护。RuoYi Office 的方向正是如此用 Spring Boot、Vue3、UniApp、Flowable 和 Spring AI 搭出一个企业管理系统底座让 AI 帮团队更快扩展业务而不是把业务锁进看不见的配置黑箱。想要体验 RuoYi Office 的完整能力在线文档http://ruoyioffice.com源码仓库GitCode 前端 | GitCode 后端 | GitHub技术咨询添加微信17156169080备注「RuoYi Office」

相关新闻