低代码是什么?理解无代码、配置、扩展与测试

作者:Ai Flowi · 发布于

低代码是什么?它是一种通过可视化配置和可复用组件,减少应用或工作流所需手写代码的开发方式。无代码则指在受支持的任务范围内,通过配置完成工作、无需编写代码的方式。两者都仍需确定输入、权限、失败处理,以及什么样的结果才算正确。

两者的边界取决于任务。选择现有组件可以只是配置工作;编写转换表达式或自定义组件,则会增加需要有人维护的代码。可视化画布不会免除这项责任。

什么是低代码与无代码?

图形化构建工具提供预定义操作、配置字段和连接方式,让人无需重写实现就能使用现有操作。低代码工作可能将这些操作与表达式或扩展结合。无代码工作则限于特定任务可用的配置功能,不扩展平台行为。

这些名称并不是质量指标。偶尔进行一次审核,简短的手工步骤可能已经足够;规则稳定且需要重复执行的工作,则可能适合配置工作流。应先确定需要做什么。围绕尚未确定的规则构建工作流,只会让这条未定规则反复运行。

相关内容:RPA 和 AI 区别:职责、示例与任务边界。

用所提供的 CSV 检查说明边界

考虑一份包含 request_id、category 和 requested_units 的虚构 CSV。给定规则要求标识符为非空文本,category 等于 standard 或 exception,单位数量为一到五之间的整数。重复标识符必须暂缓处理,交由审核。这些限制是为教学示例设定的,并非产品限制。

所需输出是一份通过验收的记录列表,以及一份包含来源行引用和拒绝原因的异常列表。不需要向外部系统写入。如果通过验收的列表丢失了标识符、合并了两条记录,或把空值转换成零,那么输出行数看起来正确也不够。

同一示例 CSV 检查的三种方法:在窄屏上,将焦点移到表格区域后横向滚动。

同一示例 CSV 检查的三种方法
方法执行的工作仍需承担的责任
手工处理审核人员按照书面规则逐条检查所提供的记录,并记录异常。一致地应用同一规则,并保留来源标识。
图形化配置加载记录,使用构建工具实际提供的配置操作完成检查。验证解析结果、允许的类型、拒绝路径及不受支持的规则。
代码表达式或扩展现有设置无法表达要求时,实现缺失的验证或重复记录规则。维护逻辑、错误处理行为、运行时兼容性和回归检查。

表格比较的是同一任务的处理方法,并非产品比较,也不宣称速度。如果原生功能已经覆盖规则,就应复用。任务只做一次且人工检查可行时,手工检查的维护负担可能小于自动化流水线。未满足的要求才是采用扩展的理由,而不是工具里有一个代码编辑器。

配置仍需要数据约定

应定义解析器如何表示空单元格、看似数字的标识符,以及意外出现的列。除非书面的标识规则另有规定,否则“001A”和“1A”应保持不同。整数要求需要明确解释;接受任意数字文本,可能让下游操作收到它原本无法处理的值。

在任何会产生实际后果的操作之前验证输入。应检查真正解析出来的行,不能假设输入文件的外观决定了运行时类型。如果缺少必需的列标题,应停止并记录数据模式不匹配。遇到空字段仍默默继续,可能让看似成功的运行产生无法使用的输出。

参见工作流基础参考文档,其中说明了带类型的连接和配置细节。端口已连接,只表示声明的类型兼容,不能证明 CSV 规则成功执行。无论工作流仅使用配置,还是包含表达式,这一区别都适用。

示例中有文档说明的组件

参见 Load CSV、JSON Operations 和 Verification Router 的参考文档以了解各自接口;本 CSV 检查方案的状态为: 目录已有文档说明;Ai Flowi 尚未进行生产环境测试。

示例配置,并非有记录的测试:通过 Load CSV 的 csv_file 提供获准使用的虚构文件,然后使用 JSON Operations,将 operations 设为名称完全一致的选项 JQ Expression,并在 query 中填写审核后的验证表达式。向 Verification Router 的 verification_result 提供结果前,先检查返回的决策。你需要工作区和文件读取权限;此方案不使用模型或外部服务提供商。预期的通过验收列表与异常列表尚未实际运行生成。

判断哪些要求可以只用配置完成

对于给定的类别检查,先确认有文档说明的操作能否无需额外代码就比较两个允许值。对于重复标识符规则,要检查现有配置能否比较整个文件中的记录,而不只是检查单行。行级空值检查与文件级唯一性检查的范围不同。通过前者,不能证明也通过了后者。

如果审核后的表达式补上了缺失的文件级比较,这项实现就属于低代码:现在需要有人维护可执行逻辑。应将表达式版本与规则版本一起记录。如果之后允许的单位数量范围变了,应更新逻辑,并在接受新文件前重新运行边界案例。可视化连接可能完全不变,但验证含义已经改变。

一次性的特殊修正不应写进可复用检查器,除非它成为获批规则。例如,审核人员可能依据来源引用,手工补全某一获授权记录缺失的标识符。如果把这项修正写进所有后续运行,就会悄悄把缺失的标识变成推断值。应将异常退回审核,而不是添加改变约定的特殊处理。

扩展会改变功能维护的责任归属

参见自定义组件参考文档,其中说明了如何用 Python 实现现有组件无法覆盖的要求。状态:该扩展机制已有文档说明,本页不宣称执行过 CSV 扩展测试。自定义组件是需要你维护的实现,即使它与内置节点一起放在画布上也是如此。

扩展前,先明确缺少的具体规则。重复标识符检查可能只需一个小表达式,不必新增组件。如果确实需要扩展,应明确维护人员,并保留一个规则失效时会失败的小型可运行检查。确定如何表示错误,以及下一个组件接受什么;如果将异常隐藏为一个空的通过验收列表,就可能掩盖丢失的工作。

测试应依据规则,而非画布

针对给定约定,应检查有效行、空标识符、重复标识符、未知类别、非整数的单位数量和超出范围的数量。还应加入包含分隔符、用引号包围的 CSV 字段,以检查解析。应验证通过验收的标识符和异常原因,而不只是检查流程是否产生了输出。

试验期间不要改动来源记录,以便检查失败时仍可回退。如果后续版本要写入服务提供商系统,就需要相应获授权的账号或 API 凭据,并安排服务提供商计费;第三方 API 和模型使用费用不包含在内。新增的边界需要单独检查写入及失败处理。

常见错误与相关术语

代码更少,并不意味着验收要求更少。不要在阅读目录前就添加扩展,不要将带类型的连接当作测试,也不要让维护责任无人承担。评估清单说明了更广泛的任务适用性证据。工作流编排讨论阶段依赖关系与恢复,反向 ETL 则解释向业务系统写入时新增的决策要求。