简介:本文讲解如何把审批、申报等页面操作整理成带参数、风险等级和成功判据的命名业务能力,并部署为可审计、可回滚的执行底座。读者可以看到能力字段定义、三种方案的对比、权限与审计边界、灰度上线步骤和常见故障排查方法,据此判断这套方案是否适合自己的流程。
本文面向研发和运维人员,说明如何把页面上的审批、申报、账户变更操作封装成业务能力。封装之后,Agent、员工手动操作、固定编排流程和外部系统共用同一个执行入口。
完成部署后,你会得到下面三类结果。
account.change_bank_card。流程定义只引用能力ID,不引用按钮位置或控件路径,页面改版后流程定义不需要修改。这套方案有明确前提。目标系统的后端接口或页面事件处理必须能被调用,并且后端有可核验的权限模型。如果页面只能靠模拟点击完成操作,后端又没有对应校验,那么”经过后端授权”这一条不成立。这时应先补接口,或者暂不把该操作纳入自动执行范围。
模拟点击也无法覆盖强验证码、短信二次确认和高度动态渲染的页面。遇到这些环节,流程应转人工接管。
每个业务能力至少定义下列字段。
| 字段 | 说明 | 示例 |
|---|---|---|
| 能力ID | 全局唯一,使用”域.动作”命名 | account.change_bank_card |
| 业务语义 | 一句话说明做什么、不做什么 | 提交银行卡变更申请,不含审核通过 |
| 参数Schema | 每个参数的名称、类型、是否必填、取值范围 | card_no: string,必填,16至19位数字 |
| 风险等级 | 低、中、高三档,决定审批层级 | 高 |
| 前置条件 | 执行前必须满足的业务状态 | 申请人已完成实名认证 |
| 成功判据 | 能被机器核对的结果 | 返回业务单号,且状态查询接口返回”待审核” |
| 权限要求 | 调用方身份和所需角色 | 员工角色 finance_staff,Agent 以委托身份运行 |
| 审计字段 | 每次调用必须写入的内容 | 调用方、能力ID、参数摘要、时间、结果、审批人 |
| 回滚策略 | 可逆、需人工、不可逆三类之一,并写明步骤 | 可逆:调用撤回接口,撤回窗口为30分钟 |
| 幂等键 | 防止重复提交 | 申请人加业务单号 |
风险等级的参考定义如下。
能力定义要和代码一起纳入版本管理。能力版本号变化时,引用该能力的流程需要重新确认。
失败处理需要在定义阶段写明。失败重试只对幂等能力开放。非幂等能力超时后,先查询业务状态,确认未落库后再重试。同一能力连续失败达到阈值时,自动执行停止,任务转入人工接管队列。
目前常见的方案有三类。
| 维度 | 截图坐标点击 | 读取界面结构后点击 | 能力化底座 |
|---|---|---|---|
| 输入 | 整屏截图 | DOM或无障碍树 | 业务视图,仅含能力相关字段 |
| 决策依据 | 模型从像素推断业务含义 | 模型从控件推断业务含义 | 能力声明与后端规则 |
| 权限 | 以操作员账号模拟操作,权限边界模糊 | 同左 | 调用后端接口,按能力逐项校验 |
| 审计 | 通常只有截图和坐标 | 有控件操作记录,业务含义需要反推 | 直接记录业务动作与参数摘要 |
| 页面改版影响 | 高,位置变化即失效 | 中,控件属性变化即失效 | 低,能力接口不变则流程不变 |
| 前期投入 | 低 | 低到中 | 高,需要改造接口并完成建模 |
| 回滚 | 通常依赖人工 | 通常依赖人工 | 依据回滚策略调用撤回接口 |
选择原则如下。流程步数多、规则变化频繁、需要审计且授权需要可核验时,选能力化底座。临时性的一次性操作,且系统无法改造,可以先用界面操作,但不应接入高风险能力。
适合采用本方案的流程,可以按五项条件判断。
其中第2项和第3项只要有一项为否,项目应先补齐这两项,再讨论上线。
不适用的场景包括:强验证码页面、高频动态渲染且没有稳定接口的页面,以及改造成本高于收益的老旧系统。
上线分四步推进。
出现以下情况时,应暂停能力或触发回滚。
常见故障的排查思路如下。
告警至少设置三项:失败率、超时率,以及高风险能力的单笔调用告警。
最小权限原则适用于每个层面。Agent 使用独立的服务身份,只获得能力清单中列出的权限,不继承操作员的全部权限。密钥和访问令牌存放在密钥管理服务中,不写入能力定义或日志。
敏感数据要在进入模型前过滤。业务视图只包含能力需要的字段。身份证号、银行卡号等字段默认掩码,确需使用时由后端完成校验,模型侧只看到校验结果。
高风险能力必须保留人工确认环节。确认界面应展示参数摘要和影响范围,确认人与发起调用的人不能是同一身份。
审计日志的保存期限和访问范围,应按企业内控制度确定。日志本身属于敏感数据,访问同样需要控制。
本方案不能保证页面上的所有操作都可以被审计或撤回。对于无法定义回滚步骤的能力,应在定义阶段标注”不可逆”,并要求人工执行。
能力化和RPA有什么区别?
RPA 通常记录操作步骤,例如点击了哪个位置、输入了什么文本。能力化底座记录的是业务动作和参数,同一能力可以被员工、流程和外部系统共用。两者可以并存:对于没有接口、只能靠界面操作的遗留系统,RPA 仍可作为过渡手段,但应按本文的风险等级和审计要求进行约束。
怎么选方案?
先按第三节的五项条件打分。若授权模型或系统可改造性不满足,先补齐这两项。两项都满足,再结合流程长度和审计要求决定是否投入建模。
上线前最容易漏掉什么?
最容易漏掉的是越权拒绝的测试和回滚演练。很多项目只验证了成功路径,没有验证失败路径和撤回路径。上线清单应把这两项列为必过项。