流程自动化:无代码工具还是定制开发?

位于匈牙利布达佩斯的软件开发公司 Mesterséges Intelligencia Központ Kft. 认为,对于可用现成连接器完成的简单流程,无代码工具就已足够;逻辑复杂、数据量大或数据处理要求严格时,则需要定制开发。

要点:问题不在于“无代码还是写代码”,而在于流程有多复杂、有多少数据经过它、出错时会发生什么,以及数据可能流向哪里。两者可以很好地结合:无代码流程也可以调用定制服务。无论选择哪一种,每个自动化流程都必须有负责人、文档和错误监控。

什么是无代码和低代码自动化?

在无代码(no-code)自动化工具中,无需编程,就可以在可视化编辑器里搭建流程:在某个触发事件(例如新订单、收到的邮件或提交的表单)发生后,一系列步骤依次运行,读取数据、转换数据,并把数据写入另一个系统。各系统通过现成的连接器(connector)接入,连接器在后台调用这些系统的 API,即编程接口。低代码(low-code)工具提供同样的功能,但在现成步骤不够用的地方,还可以在其中编写代码。

一个常见的概念是 Webhook:一个系统在某个事件发生时自动发送给另一个系统的通知,这样自动化流程就不必反复询问是否发生了什么。

四种常见工具简介

n8n 的自托管与许可

根据 n8n 的文档,没有许可证密钥的自托管版本以社区版(Community edition)运行;某些功能,例如基于 Git 的版本控制、单点登录(SSO)、独立的环境和外部密钥管理,需要付费套餐。同一份文档还指出,自行部署需要技术专业知识,维护由运营方负责(n8n: Choose how to use n8n)。

许可是一个重要细节:n8n 的源代码是公开的,但受其自有许可“Sustainable Use License”的约束。根据该许可,这款软件只能为自身内部业务目的,或为非商业、个人目的而使用和修改,并且只能以免费、非商业的方式提供给他人;文件名中带有“.ee”标记的文件适用单独的企业许可(n8n: LICENSE.md)。从许可文本来看,企业将自身流程自动化属于内部业务目的的范畴;但如果要向客户提供基于 n8n 构建的服务,最好事先请律师审阅许可条款。

无代码工具适合做什么?

它们的局限在哪里?

复杂逻辑

分支、循环、例外情况、从多个系统合并而来的数据:这些也可以用可视化方式画出来,但超过一定规模后,流程图会比用组织良好的代码实现的同一逻辑更难阅读和修改。如果一个流程中已经有很多代码步骤,这是一个信号,表明这项任务已经超出了该工具的能力范围。

数据量与按用量计费

云端无代码工具的费用通常取决于用量:Zapier 统计成功执行的操作,Make 统计积分。在流量较小时,这是一个优势,因为只需为实际使用付费;但在数据量大、步骤多或运行循环的流程中,每条记录的每一个步骤都会计入,因此成本会随流量一起增长。值得事先估算每月预计会有多少次运行、多少个步骤,并与所选套餐的额度进行对比。

错误处理与重试

自动化流程的价值取决于某个系统暂时没有响应时会发生什么。如今这些工具都为此提供了解决方案,但深度各不相同:

在定制开发中,这意味着有意识的设计:消息队列、等待时间逐步递增的重试、可重复执行的(幂等)操作,这样一次重试就不会把同一张发票创建两次;还有一个专门存放最终失败条目的存储区。

版本控制与测试

如果无法回退到上一个版本,也没有测试环境,那么修改正在运行的流程就有风险。Zapier 只在部分套餐中提供回退到早期版本的功能(Zapier: version rollback);在 n8n 中,基于 Git 的版本控制是付费功能;在 Power Automate 中,组织到解决方案(solution)中的流程可以在开发、测试和生产环境之间迁移(Microsoft Learn: Solution-aware flows)。对于定制代码,版本控制、代码审查和自动化测试都是标准配置。

访问凭据

每个连接器背后都有一个登录账户。据 Microsoft 介绍,在 Power Platform 中,连接代表已保存的凭据,存储在托管该应用或流程的环境中(Microsoft Learn: Data policies)。如果某个流程使用员工的个人账户运行,那么这名员工离职时,流程也会停止;或者更糟的是,继续用一个已经无人监管的账户运行。因此,流程需要单独的服务账户,并采用尽可能小的权限。

数据的存放位置

使用云端工具时,数据会经过服务商的基础设施。据 Zapier 介绍,它把数据存储在 Amazon Web Services 位于美国的基础设施上(Zapier: Security & compliance);在 Make 中,可以在创建组织时选择欧盟或美国的数据中心,之后不能更改(Make: Organizations);而在自有服务器上运行的 n8n,数据会保留在企业自己的环境中。这在法律上意味着什么,我们将在下文的数据保护部分说明。

RPA 还是 API 集成?

RPA(robotic process automation,机器人流程自动化)是一种软件机器人,它代替人在屏幕上点击、输入和读取。如果某个旧系统没有 API,数据又无法通过其他方式获取,RPA 就很有用。它的弱点也恰恰在此:它依赖于用户界面。Microsoft 的文档本身就提醒,在无人值守运行时,远程会话的屏幕分辨率可能与创建流程时所用的分辨率不同,这可能导致错误,甚至点击到错误的元素;此外,无人值守运行还需要一台所有用户都已注销的计算机(Microsoft Learn: Run unattended desktop flows)。

相比之下,API 集成通过系统之间像合同一样固定下来的接口工作:不会因为某个按钮换了位置就失效,还能处理多得多的数据。我们的经验法则是:有 API 的地方就用 API;只有在别无他法时才使用 RPA,而且即使那样,也要在严密监督下把它作为过渡方案。

定制集成:代码能带来什么?

在定制集成中,流程以程序代码的形式,在企业自己的环境或其选定的环境中运行。这使以下几点成为可能:

代价是前期开发投入更大,而且需要有人运行和维护代码,因为外部系统的接口会不时变化。

混合路线

选择并不是非此即彼。一种常见且行之有效的做法是:简单、经常变化的步骤保留在无代码工具中,而困难的部分(例如复杂的价格计算、大数据量的同步或旧系统的接入)由一个定制服务完成,无代码流程通过 API 或 Webhook 调用该服务。这样,业务部门仍然可以查看和修改流程中简单的部分,而关键逻辑则在经过测试的代码中运行。

自动化中的人工智能

基于规则的自动化在遇到自由文本时就会止步:一封邮件、一份合同、一件投诉。大语言模型,比如 OpenAI 的 ChatGPT、Anthropic 的 Claude 和 Google 的 Gemini,也能处理这些内容:对收到的邮件进行分类、提取发票中的数据、总结一篇长文。AI 步骤既可以放在无代码工具中,也可以放在定制集成中;例如,根据 Make 的文档,AI 模块的积分消耗还可能取决于令牌(token),也就是处理的文本量(Make: Credits)。凡是 AI 出错会造成经济损失的环节,都由模型提出建议、由人来批准。关于接入 AI 的模式,请见如何用人工智能连接企业系统?一文;关于这项服务,请见 AI 集成页面。

决策表

要素云端无代码工具(例如 Zapier、Make)自有服务器上运行的工具(例如 n8n)定制开发
启动最快,无需安装很快,但需要先安装并做好安全防护较长,需要设计和测试
逻辑简单和中等复杂度的流程中等复杂度,可以用代码步骤扩展任意复杂度
数据量小到中等,费用随流量增长取决于自有服务器的容量大数据量也可以,借助消息队列
错误处理内置,深度取决于套餐通过错误流程,需自行配置经过设计的重试和告警
版本控制与测试有限,取决于套餐付费套餐中提供基于 Git 的版本控制完整:版本控制、代码审查、自动化测试
数据位置服务商的云,按可选的区域企业自己的环境企业自己的环境
计费模式订阅费和按用量计费服务器和运行费用,付费功能需要许可一次性开发,之后是运行费用
运行由服务商负责企业自己或其委托的运营方企业自己或其委托的运营方

治理:流程归谁所有?

无代码工具的风险往往不是技术性的,而是组织层面的:如果任何人都可以随意拼搭任何东西,过一段时间后就没人知道有哪些流程在运行、用的是谁的账户、会写入哪些系统。以下几条规则可以预防这种情况:

应该首先自动化什么?

那些经常重复、可以用规则描述、运行量大、而且目前需要手工复制粘贴的流程,例如把订单转入开票软件、录入收到的发票,或者编制月度报表。如果大多数错误都源于输入错误或遗漏步骤,这就是一个好信号。选择的步骤如下:

  1. 列出清单:收集哪些工作在重复进行、由谁来做,以及数据在哪些系统之间流动。
  2. 排定优先级:依据频率、投入的工作量和出错风险。
  3. 检查访问途径:数据能否通过 API、Webhook、数据库或文件导出获取。
  4. 试点流程:选一个界定清晰的流程,设定可度量的目标,并做好日志记录。
  5. 扩展:如果试点成功,再按照同样的治理规则推进下一个流程。

不宜首先自动化的流程:很少发生的、需要大量判断的,或者正处于调整之中的流程。这类流程要先理顺,然后才能实现自动化。

数据保护:GDPR 与数据处理者

如果某个自动化流程移动个人数据(客户、员工或合作伙伴的数据),那么自动化服务通常是以数据处理者的身份代表企业处理这些数据。根据 GDPR 第 28 条,在这种情况下只能使用提供充分保证的数据处理者,数据处理必须由合同加以规范,而且只有在获得数据控制者事先书面授权的情况下才能聘用其他数据处理者(EUR-Lex:条例 (EU) 2016/679)。如果数据被传输到欧盟以外,还必须满足该条例第五章规定的条件;根据第 46 条,在没有充分性决定的情况下,数据传输需要适当的保障措施,例如欧盟委员会通过的标准数据保护条款。据 Zapier 介绍,其合同附有数据处理协议,国际数据传输则采用标准数据保护条款(SCC)(Zapier: Security & compliance)。

在实践中:为所使用的每一款自动化工具签订数据处理协议,把这些流程纳入数据处理活动记录,并且只移动实现目的所严格必需的个人数据。以上内容仅供参考,不构成法律意见。

成本取决于什么?

使用无代码工具时,成本取决于订阅套餐、运行次数和步骤数、付费连接器,以及搭建和维护流程所投入的工作。对于定制集成,我们以 COSMIC 功能点(ISO/IEC 19761)度量开发的功能规模,并据此编制报价和进度安排。除了规模之外,还要看需要连接多少个系统、通过什么样的接口,这些接口的文档是否完善,需要多少错误处理和监控,以及运行包括哪些内容。具体方法见定价方式页面。

常见问题

应该首先自动化什么?

经常重复、可以用规则描述、而且目前需要手工复制粘贴的流程,例如把订单转入开票软件,或者编制月度报表。在免费的首次咨询中,我们会帮助您找出收益最大的环节。

n8n、Make 还是 Power Automate?

三者都是好工具,适用于不同的情况。如果数据必须保留在企业自己的环境中,并且有人负责运行自托管的部署,n8n 就很有优势;它的许可条款值得了解。Make 是云服务,可以选择欧盟数据中心。如果企业在 Microsoft 环境中工作,或者需要将桌面应用程序自动化,Power Automate 是顺理成章的选择。最终决定取决于流程的复杂程度、预期的数据量以及数据处理方面的要求。

什么时候需要定制开发?

当逻辑复杂、数据量大、某个系统没有现成的连接器、需要可靠的重试和测试,或者数据不得离开企业自己的环境时。混合路线往往就已足够:困难的部分做成定制服务,由无代码流程来调用。

自动化流程出故障了会怎样?

在构建良好的自动化流程中,会有人立即收到出错通知,失败的条目不会丢失,而是可以重试,而且可以从日志中查到发生了什么。因此,我们在每一个集成中都内置日志记录和错误告警,并可应要求在交付后负责其运行与维护,因为外部系统的接口会不时变化。

自动化中可以使用人工智能吗?

可以。大语言模型可以对收到的邮件进行分类,提取发票和订单中的数据,或者总结一篇长文。凡是出错会造成经济损失的环节,都由 AI 提出建议、由人来批准。

我们如何提供帮助?

我们把企业的各个系统连接起来,将重复性工作自动化,并借助人工智能处理文档,方式可以是定制集成、在现有无代码流程背后构建的服务,或者两者结合。这项服务的介绍见流程自动化页面;如果各个流程要汇集到一套自有的 ERP 或 CRM 系统中,请见企业软件页面。

首次咨询免费,可应要求签署保密协议(NDA),交付后我们还承担运行与维护工作。源代码和使用权由合同约定。如果您能用几句话描述哪个流程最耗费时间,欢迎与我们联系。

参考来源