news 2026/9/26 4:55:34

在 AI 面前,表单设计器与流程设计器还有用吗?——从驰骋 BPM 的两个设计器说起

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
在 AI 面前,表单设计器与流程设计器还有用吗?——从驰骋 BPM 的两个设计器说起

在 AI 面前,表单设计器与流程设计器还有用吗?——从驰骋 BPM 的两个设计器说起

依据代码:Vue3/src/WF/Admin/FoolFormDesigner/(表单设计器)、Vue3/src/WF/Admin/FlowDesignerV2/(流程设计器)、WF_Admin_AIFrm.cs、WF_Admin_AIFlow*.cs文档版本:2026-09写作口径:只讨论仓库里能对得上的机制。不预设「AI 取代设计器」或「设计器不可替代」的立场,而是看两者各自在管什么。


一、把问题拆开

「AI 能不能替代设计器」这个问题问得太粗,因为「设计器」在两个层面同时存在:

层面作用AI 能否生成
产物层面生成字段、节点、连线这些内容能,且已经实现
机制层面定义这些内容如何存储、如何生效、如何被校验不能,也不该由 AI 决定

驰骋的 AI 向导(GPN_AIFrm、GPN_AIFlowNew)已经在做第一层——用提示词出字段、出节点。但从代码看,AI 生成的东西最后全都要「回到设计器」:生成完跳到/WF/Designer/Form?FrmID=xxx,或GloComm.UrlFlowD(flowNo)打开流程设计器。这个「跳回」不是没做完,而是设计。

为什么?下面分两个设计器说。


二、表单设计器在管什么

FoolFormDesigner/main.vue顶部有三个模式页签:可视化设计 / 预览 / 数据建模。这三个页签恰好对应了 AI 不碰的三件事。

2.1 结构:字段不只是字段

AI 生成字段时,AITools.Frm_Words让它按No / Name / 数据类型 / 逻辑类型 / 长度 / 分组 / ExtInfo / Tip输出。这是一份压缩过的字段描述。但设计器里一个字段的真实状态远不止这些,从props/database/FormInfo.ts、MapAttr与各*Widget.ts看,至少还要管:

  • 控件类型:文本、数字、金额、日期、日期时间、枚举、外键、单选、复选、富文本、附件、图片、手写签批、评分、进度…
  • 分组归属:字段属于哪个GroupField,分组本身还有顺序与折叠行为
  • 校验与联动:MapExt里的扩展配置(计算公式、级联、自动填充、正则)
  • 数据存储:数据类型+长度决定物理列,逻辑类型决定存的是值还是外键

AI 一次生成的是一份「字段清单」,设计器管的是这些字段在一个表单模型里的完整状态。这份状态不是文本能穷举的——它是元数据表Sys_MapAttr、Sys_GroupField、Sys_MapExt的联合。

2.2 落库:数据建模页的「同步」

FoolFormDesigner/components/datamodel/DataModelPage.vue有一棵「主表 / 从表」的树,每个表节点上有个状态点:已同步 / 未同步(tree-sync-dot)。DbAttrsTab.vue里明确写着:

新增字段先保存元数据;删除字段先标记,执行"同步数据库"时清理元数据及关联配置。

也就是说,字段在设计器里改完,元数据和物理表结构是两件事,中间隔着一个显式的「同步」动作,且同步前会二次确认。

AI 直接生成 SQL 改表结构并不难,但谁来保证元数据与物理表一致、谁来处理「删字段时关联配置怎么办」?这类一致性维护必须有一个带状态的界面,让操作者看得见「哪张表还没同步」。这是设计器的职责,不是模型的。

2.3 关联:一流程多表单、节点换表单

表单不是孤立对象。节点可以绑定不同表单方案(NodeFormType),一个流程可能挂多张表。所以表单设计器保存的不只是一张表单,而是它在流程里的挂接关系。AI 生成的表单要进入这个关系网,必须经过设计器的绑定流程。


三、流程设计器在管什么

FlowDesignerV2基于@vue-flow/core,组件目录里有CustomNode.vue、EditableEdge.vue、NodeContextMenu.vue、EdgePortModal.vue、FlowToolbarV2.vue等。它不是「画图工具」,而是流程元数据的编辑器。

3.1 节点属性:AI 最难补齐的部分

AI 生成流程时(WF_Admin_AIFlow.cs的提示词),只能让模型填Name / X,Y / DeliveryWay / CondModel / FWCSta这几个字段。但一个节点的真实配置远不止这些。FlowDesignerV2/utils/nodeQuickSettings.logic.ts里的「快速设置」本身就暴露了一批:

设置项底层字段含义
谁执行WhoExeIt0~4 多种执行方式
待办模式TodolistModel抢办 / 协作 / 队列 / 共享 / 协作组长
撤销模式CancelRole+CancelDisWhenRead三个值映射到两个字段
无人接收WhenNoWorker+IsOpenSelecter报错 / 选人 / 跳过

注意最后两行的写法:用户看到的是一个下拉,背后是两个字段的组合。deriveRevokeMode/buildNodeQuickSettingsPatch专门做「界面上的一档 ↔ 底层的字段组合」双向映射。

这正说明设计器的价值:它把分散在多个字段、有隐含约束的组合配置,收敛成操作者能理解的选项。AI 生成的 JSON 里如果只写了CancelRole=1没写CancelDisWhenRead,语义就不完整——设计器的映射层正是为了防止这种「半套配置」。

3.2 接收人规则:50+ 种,且有前置条件

nodeQuickSettings.logic.ts里DELIVERY_WAY_LABELS是一张接收人规则的中文对照表,从「按角色智能计算」到「按 WebAPI 计算」到「自定义组合规则」,编号一直排到 90。

这还只是快速设置里露出的部分。完整的DeliveryWay有 50 多种,且很多规则带参数与前置条件——比如「按绑定角色计算」要先选角色,「按明细表拆分子线程」要先有从表。

上一篇文章提到过,WF_Admin_AI.AiNode_DeliveryWaysSave有一条白名单AiSafeDeliveryWays:只放行「与上一节点处理人相同 / 与发起人相同 / 部门负责人 / 直属领导 / 分管领导」这五种不需要额外绑定的客观型规则,其余一律返回提示让用户手工配。原因写得很直白:

为避免节点缺失配置导致发送失败,AI 暂不作为"全自动落库"。

这说明连驰骋自己都认为:接收人这种「选错就发不出去」的配置,不适合让 AI 直接定案。设计器(接收人规则页GPE_AccepterRole)在这里的角色不是「落后的手工工具」,而是「带前置条件的配置守门人」。

3.3 连线与条件:图 ↔ 模型的互转

EditableEdge.vue、EdgeLabelModal.vue、EdgePortModal.vue处理的是连线。而在后端,连线对应Dir(方向)与Cond(方向条件)两组数据。设计器要做的是:

  • 把用户拖出的线,翻译成NDFrom / NDTo / Des与条件记录;
  • 把条件记录里的FK_Attr / FK_Operator(如ND101_QingJiaTianShu > 10)翻译回线上看得懂的标签;
  • 保证「从 A 到 B 只有一条线」「条件字段必须属于本流程的表单」这类约束。

AI 生成流程时输出的Cond记录,字段名必须与表单实际字段严格对应(提示词里反复强调「用真实 NodeID,勿臆造」)。生成容易,保证引用有效很难——这是设计器与流程检查要接住的。

3.4 流程检查:设计器自带的质量闸门

GL_FlowCheckInfo.ts是设计器里的「流程检查」面板,数据来自后端Flow.DoCheck。它把问题分三级:

级别颜色处理建议
信息绿记录节点检测信息,不影响运转
警告黄较严重,建议注意,不一定要立即改
错误红必须立即修改,否则可能影响运转

帮助里还写明两条关键信息:检测有局限性,无法 100% 保证无问题;以及系统具备自动更正与数据表结构修复能力。

这个面板的存在,回答了一个很实际的问题:AI 生成流程很快,但生成完谁来验收?答案是设计器里的检查器——它把「流程能不能跑」这件事变成了可枚举的红黄绿清单,而不是靠人肉看画布。


四、AI 与设计器的真实分工

把上面的观察收拢成一张表:

维度AI 向导设计器
输入自然语言 / 截图结构化的点击配置
产出内容草稿(字段、节点、连线)完整元数据 + 生效状态
落点生成后跳回设计器元数据表 / 物理表同步
正确性概率输出,需清洗带约束、可校验
兜底靠白名单 + 人工确认流程检查、同步确认、自动更正
强项从 0 到 0.7 很快从 0.7 到 1 且稳定

一句话:AI 负责把空白页填出个七八成,设计器负责让这七八成真正变成能跑的系统。两者不是替代关系,而是「输入法」和「编译器」的关系——这个比喻在上一篇里用过,这里可以再补一句:设计器不只是编译器,它还兼任规格检查器和一致性维护器。


五、回应的三个常见说法

说法一:「拖拽太慢了,AI 一句话就能出表。」出表快是真的。但EnsureMergedSelectionSource那套「先勾选、再落库」的交互说明,连驰骋自己都没让 AI 直接落库——生成的是候选,选择权在人。快不等于可以直接用。

说法二:「设计器生成的东西也一堆坑,AI 至少省事。」设计器的坑大多来自「配置项太多」。但nodeQuickSettings.logic.ts那种「一个下拉映射两个字段」的设计,恰恰是在减少坑。AI 不会自动帮你处理字段组合的完整性,反而更容易产出半套配置。

说法三:「以后 AI 直接把配置写库,设计器就没了。」技术上可行,工程上危险。AiSafeDeliveryWays白名单已经给出驰骋的判断:会导致运行时失败的配置,不能交给概率。设计器提供的「显式确认 + 校验 + 检查报告」,是让 AI 产物可上生产的前提。


六、结论

不是「AI 来了设计器就没用」,而是要分清两件事:

  1. AI 让设计器的「起点」变高——不用再从空白画布开始,而是从一句描述开始。
  2. 设计器让 AI 的「终点」可信——把草稿固化成有约束、可校验、能同步、能检查的元数据。

如果非要给一个判断:AI 越强,设计器越需要「厚」。因为 AI 生成得越快,对「谁来保证正确」的要求就越高。驰骋把流程检查、数据同步、接收人白名单这些都做进设计器和后端校验里,方向是对的;对选型者来说,评估一个低代码平台时,与其看它「AI 能不能生成」,不如看它「AI 生成完之后,有没有一套机制接得住」。


附录:本文涉及的代码索引

主题路径
表单设计器主入口Vue3/src/WF/Admin/FoolFormDesigner/main.vue
表单数据建模(元数据 ↔ 物理表)FoolFormDesigner/components/datamodel/DataModelPage.vue、tabs/DbAttrsTab.vue
表单控件与属性FoolFormDesigner/components/widgets/、props/widgets/、props/database/FormInfo.ts
流程设计器Vue3/src/WF/Admin/FlowDesignerV2/index.vue
节点/连线交互FlowDesignerV2/components/CustomNode.vue、EditableEdge.vue、NodeContextMenu.vue、EdgePortModal.vue
节点快速设置映射FlowDesignerV2/utils/nodeQuickSettings.logic.ts
流程检查面板FlowDesignerV2/models/GL_FlowCheckInfo.ts
AI 接收人白名单CCFlow/Components/BP.WF/HttpHandler/WF_Admin_AI.cs
AI 流程/表单生成WF_Admin_AIFlow.cs、WF_Admin_AIFrm.cs、AITools.cs

本文基于当前仓库源码静态分析撰写,功能具体行为以你部署的版本为准。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/9/26 4:54:48

算法市场模型性能优化六大技巧:从延迟画像到自动回滚

我们部门在搭建企业算法市场那段时间,最头疼的还真不是模型效果不达标,而是"模型明明本地跑得好好的,一上市场就卡成狗"。业务方陆续来投诉:有的说接口超时,有的说结果出来了但等了半天,还有的说…

作者头像 李华
网站建设 2026/9/26 4:54:43

PE文件自动查壳与脱壳完整指南:原理、实操与避坑

简介:自动查壳脱壳工具(exeinfope)是一款面向开发人员与逆向分析者的PE分析实用工具,可快速查看编译器信息、入口点、输入表/输出表等结构,判断是否加壳并给出脱壳引导;还能提取图片、EXE、压缩包、MSI、SW…

作者头像 李华
网站建设 2026/9/26 4:54:26

PCM数字音频原理与Python实操:从采样量化到WAV字节解析

1. 从CD到语音通话:为什么PCM是数字音频的地基先抛一个反直觉的事实:你手机里那些几十MB的WAV录音、微信语音消息、CD唱片上的音轨,虽然听感一个比一个"精细",但底层用的都是同一种技术——脉冲编码调制,也就…

作者头像 李华
网站建设 2026/9/26 4:54:06

压缩包隐写与取证分析:从ZIP结构到CTF实战

1. 压缩包不只是“打包”:从文件结构看隐写空间很多人对压缩包的理解停留在“把一堆文件压成一个小包,方便传输”这个层面。但如果你接触过CTF里的Misc方向,或者做过电子数据取证相关的工作,就会知道压缩包本身就是一个天然的隐写…

作者头像 李华
网站建设 2026/9/26 4:54:03

用Spring Boot搭建校园网络运维工单与设备监控系统

我们学校原来那个网络报修的流程,说出来同行都得摇头——学生宿舍断网了,先打电话给信息中心,信息中心登记完再转给对应的运维师傅,师傅修完了再回来填个Excel表。遇到设备离线、交换机端口异常这些问题,基本靠巡检时肉…

作者头像 李华