认识与探索大模型时代的RPA应用及进化(上)

AI Agent当前仍然处于技术爬坡与实验阶段,特别是在企业领域,真正的成熟应用还处于广泛探索与原型验证阶段,离成熟还尚待时日。而同时另外一种在最近几年广受欢迎的自动化解决方案-RPA(机器人流程自动化)也在LLM时代不断升级进化。

本文将尝试结合理论与实例来梳理与探讨RPA在LLM影响下的应用与发展。

  • RPA概念/场景/技术/与BPA & AI Agent的区别

  • 实例:构建一个RPA机器人

  • LLM时代RPA的进化与场景

  • 实例:RPA与LLM的融合应用

01 RPA概念、场景、技术等

RPA是指Robotic Process Automation,即机器人流程自动化。是一种利用软件机器人(或称为“数字员工“)来模拟与整合人类在数字系统中进行的交互与操作流程的自动化技术。RPA在企业中通常用来取代人类员工在企业中执行的一些重复性的、规则明确的、频率较高的任务,解放员工以从事更需创造性、更高附加值的工作,达到降本增效的目的。

图片

一个可能的RPA流程

RPA的任务场景

RPA在一些大型企业已经得到较为广泛的应用,应用场景随着技术的发展也在不断完善与发展,一些常见的RPA应用包括:

  • 数据录入整合:批量地自动化数据录入,比如从不同系统和文件中获取,并整合到单一应用系统或者数据库中。

  • 财务流程自动化:在企业日常的财务流程中用于频繁的发票与报销审核、定期财务报表生成发送、批量报税等。

  • 客户关系管理:来自动搜集、整理与回复客户反馈;市场营销中的自动化信息生成与邮件发送;电商自动化的订单接收与处理。

  • 采购与供应链:借助机器人完成自动化的采购申请的处理,如搜集信息、验证信息、生成订单等。

  • 人力资源管理:使用机器人来帮助人事部门批量筛选简历与联络;员工入职离职流程处理、考勤统计管理等。

  • 企业IT运维:自动化的IT支持与运维任务,如系统监控、故障排除、软件部署,版本升级、安全补丁等。

RPA的技术特点

传统RPA技术主要通过计算机程序实现模拟键盘鼠标操作、识别与定位界面元素、文件与接口访问等,并按照设定的规则与控制流程自动执行任务。

  • 非侵入性。传统RPA主要工作在软件UI操作层做人工操作仿真。特别在企业应用中,对现有应用无侵入性,无需建设与提供特别的应用接口。

  • 自动化:这是RPA的基本特点,能够自动执行重复性、规则性的任务流程。

  • 可编程:能够对模拟人类的计算机操作规则与流程做编程与设定,包括键鼠操作、web浏览、文件处理、软件操作等。

  • 低代码:RPA平台通常需要支持低代码甚至无代码的开发,从而降低机器人的设计与开发门槛,加快机器人的上线速度。

  • 智能性:随着AI技术发展,RPA在智能性上不断提升。如借助OCR识别界面元素;或借助AI模型处理各非结构化数据等。

  • 集成性:自动化的RPA任务与流程也需要能够与现有应用做深度集成,如由其他应用来驱动RPA,或者RPA也能实时访问其他应用的接口。

从RPA的技术特点上也能分析出其最大的不足与缺陷:由于RPA本质是一种UI自动化,虽然对后向集成要求很低,但是却有着较高的UI层耦合性。比如:某个Web应用UI发生了较大变化,可能导致RPA识别不到某个界面元素而失败。当然这个问题在RPA引入了一些AI技术后得到了一定的改进。

RPA与BPA

提到流程自动化,很多企业应用的集成者都会接触过BPA(业务流程自动化)/BPM(业务流程管理),那么RPA与BPA之间的区别在哪里呢?

  • 实施目标

    • RPA是通过软件机器人来模拟和整合现有的应用程序的人工操作,以执行重复性、规则性和可预测的任务。侧重于自动处理特定的任务和操作。

    • BPA的目标是对组织内的端到端业务流程进行自动化改进,实现跨部门、跨岗位、跨应用的复杂流程、决策和协作的自动化。

  • 自动化范围

    • 传统的RPA用UI操作自动化来实现特定任务自动化,比如批量数据录入、报告生成、客户回复等

    • BPA的范围通常会更广泛,可以涵盖组织内全部业务流程,通过组织内业务流程自动化实现多部门、多系统之间的有效协作。

  • 集成复杂度

    • RPA通过使用软件技术来模拟人工操作,无需对已有系统进行深度集成改造,侵入性低。

    • BPA实施是一项复杂的组织内系统性工程。需要广泛的业务梳理、流程设计与深度集成工作,涉及的现有系统通常需要配合BPMS(工作流管理系统)进行改造升级,以实现跨部门跨系统的流程整合与自动化。

所以,RPA通常更专注于局部的、任务级别的自动化;而BPA则更注重全局的端到端业务流程自动化。

值得注意的是,近几年随着RPA的不断发展,如基于AI的智能化水平提升、对外集成能力的增强等,且RPA更易集成的优势进一步放大;而传统的BPM/BPA集成成本过高的问题凸显,RPA与BPA出现了融合的趋势:BPA借助RPA来实现部分流程的自动化,成为一种常见的集成方案。这在类似SAP、IBM、微软这些大厂的BPA解决方案中都有明显体现。

RPA与AI Agent

越来越多的企业开始考虑借助AI Agent智能体来提升企业部分场景的智能化水平,所以AI Agent本质上也是一种用于自动化的机器人(在之前介绍的AI Agent中有一种实现了自动Web页面导航与操作的Agent,其本质上就是一种个人RPA)。那么基于RPA与AI Agent的自动化方案区别在哪里呢?

  • 自动化范围

    • RPA主要用于自动化重复性的规则性的任务

    • AI Agent则更专注需要智能推理与决策的任务。如需要自然语言识别、智能推荐、智能分析等。

  • 技术原理

    • RPA基于规则和预先定义的逻辑来执行任务,通常不具备智能学习与推理能力。自动化的能力主要依赖于设定的规则。

    • AI Agent则基于深度学习技术与AI模型(当前主要是大模型),具备智能学习与推理能力。自动化的能力主要来源于AI模型推理。

  • 集成复杂度

    • RPA工作以操作层面为主,是一种侵入性较低的自动化流程方案,因此更易于在复杂应用环境下的集成。

    • AI Agent在自动化规划与执行企业任务的过程中,通常需要借助“工具”,比如API或者编码来完成任务,对现有系统API的改造要求较高。

  • 适用场景

    • RPA更适用于重复性高、规则性强的任务与流程,关注于提高任务效率和准确性。

    • AI Agent则更适用于需要提升智能化水平与推理能力的场景。比如基于自然语言的智能咨询、交互式数据分析、会自动选择工具的个人助手等。

即使在当前AI Agent异常火热的背景下,我们也并不能忽视RPA自身的优势,比如:RPA集成复杂度较低(这往往意味着成本)、基于规则的自动化相对于大模型的不确定性有更好的稳定性和可控性等,所以AI Agent与RPA二者的融合,充分利用各自的优势,取长补短,或许是未来企业内流程自动化的方向之一。

我们会在后面部分进一步探讨RPA与LLM大模型的集成与融合。

02 构建一个RPA机器人

在本部分我们将构建一个RPA机器人,完成一个自动化任务,以帮助直观了解RPA工作方式与原理。

任务需求设计

Maria是一名助理,每周需要从公司的一个在线销售系统中导出公司各个销售员的销售数据(Excel),然后通过手工录入到公司的内部系统,并汇总成最新的销售报告(pdf),用来发送邮件给领导。录入界面如下:

图片

【本任务来自Robocorp培训课程】

工具

我们采用基于python的开源项目来实现完成这个任务的RPA自动化机器人:

  • Robot Framework:一个通用的开源自动化任务框架,主要用于自动化测试与RPA(软件的自动化测试与RPA在场景上非常相似)

  • RPA Framework: 基于Robot Framework之上扩展的一个用于RPA的开源库与工具,简单说就是Robot Framework的一个增强库与系列工具包。包括开发与构建机器人流程工具,以及云端监控调度中心(收费产品)。

RPA Framework组成

构建RPA机器人

基于RPA Framework构建RPA机器人可以直接使用Python代码构建,也可以采用其独有的一种脚本命令来编写以.robot结尾的机器人文件,然后加载运行即可。本次我们设计RPA机器人需要完成的任务细节流程如下:

  1. 下载销售数据

  2. 打开内部Web应用

  3. 账号登录

  4. 用Excel文件的数据逐个提交表单

  5. 保存最后结果截图

  6. 保存业绩汇总表格

  7. 退出登录并关闭浏览器

我们编写RPA机器人如下(详细构建过程请关注后续视频),此处给出该RPA机器人的核心内容,可以看到,借助RPA Framework,你只需要描述Robot需要完成的任务(Tasks),并为任务编写其详细的命令细节即可(即Keywords,RPA Framework提供了大量开箱即用的库与命令):

【tasks.robot】

......*** Tasks ***
插入销售数据,并且导出成PDF.下载销售数据打开内部应用网址登录用Excel文件的数据逐个提交表单保存最后结果截图保存业绩汇总表格[Teardown] 退出登录并关闭浏览器*** Keywords ***
下载销售数据Download https://robotsparebinindustries.com/SalesData.xlsx overwrite=True打开内部应用网址Open Available Browser https://robotsparebinindustries.com/登录Input Text username mariaInput Password password thoushallnotpassSubmit FormWait Until Page Contains Element id:sales-form填写单个销售数据[Arguments] ${sales_rep}Input Text firstname ${sales_rep}[First Name]Input Text lastname ${sales_rep}[Last Name]Input Text salesresult ${sales_rep}[Sales]Select From List By Value salestarget ${sales_rep}[Sales Target]Click Button Submit用Excel文件的数据逐个提交表单Open Workbook SalesData.xlsx${sales_reps}= Read Worksheet As Table header=TrueClose WorkbookFOR ${sales_rep} IN @{sales_reps}填写单个销售数据 ${sales_rep}END保存最后结果截图Screenshot css:div.sales-summary ${OUTPUT_DIR}${/}sales_summary.png保存业绩汇总表格Wait Until Element Is Visible id:sales-results${sales_results_html}= Get Element Attribute id:sales-results outerHTMLHtml To Pdf ${sales_results_html} ${OUTPUT_DIR}${/}sales_results.pdf退出登录并关闭浏览器Click Button Log outClose Browser

运行RPA机器人

基于RPA Framework的机器人构建完成后可以有几种运行方法:

  • 直接在开发工具中测试运行(VS code,需安装RPA Framework相关扩展)

  • 使用独立开源工具rcc在本机调度运行

  • 上传到control room,然后调度运行(收费服务)

此处我们在本地运行,可以很清楚的看到运行效果:

至此,我们完成了一个简单的RPA机器人,并且取得了预期效果。在下篇中我们将继续探讨基于LLM的生成式AI能力与RPA的融合话题。


-  END  -

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/645546.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

类和对象(友元、运算符重载、继承、多态)---C++

类和对象 4.友元4.1全局函数做友元4.2类做友元4.3成员函数做友元 5.运算符重载5.1 加号运算符重载5.1.1成员函数实现运算符重载5.1.2全局函数实现运算符重载 5.2 左移运算符重载5.2.1全局函数实现运算符重载5.2.2成员函数实现运算符重载 5.3 递增/递减运算符重载5.3.1 前置5.3.…

将vue组件发布成npm包

文章目录 前言一、环境准备1.首先最基本的需要安装nodejs,版本推荐 v10 以上,因为需要安装vue-cli2.安装vue-cli 二、初始化项目1.构建项目2.开发组件/加入组件3. 修改配置文件 三、调试1、执行打包命令2、发布本地连接包3、测试项目 四、发布使用1、注册…

德州仪器(TI):市场形势仍不明朗

TI作为模拟芯片大厂龙头,客户超过100,000家,产品上千万种,前10大客户占公司营收5%,前100大产品占公司营收0.1%。客户群庞大且拥有半导体业界最广的产品范围。因此,TI的市场行情展望对整个产业具参考价值。 根据TI公布…

Mediasoup Demo-v3笔记(一)——框架和Nodejs的基本语法

Medisasop Demo的框架 Nodejs基本语法 后记   个人总结,欢迎转载、评论、批评指正

SSH 解析 | 关键参数 | 安全配置

介绍 SSH(Secure Shell)是一种用于在计算机网络上进行安全远程访问和执行命令的协议。提供加密通信通道,防止敏感信息在传输过程中被窃听或篡改。SSH还支持文件传输和端口转发等功能,使其成为广泛使用的安全远程管理工具。 1. 安…

使用POI生成word文档的table表格

文章目录 使用POI生成word文档的table表格1. 引入maven依赖2. 生成table的两种方式介绍2.1 生成一行一列的table2.2 生成固定行列的table2.3 table合并列2.4 创建多个table存在的问题 使用POI生成word文档的table表格 1. 引入maven依赖 <dependency><groupId>org.…

“探索C语言操作符的神秘世界:从入门到精通的全方位解析“

各位少年&#xff0c;我是博主那一脸阳光&#xff0c;今天来分享深度解析C语言操作符&#xff0c;C语言操作符能帮我们解决很多逻辑性的问题&#xff0c;减少很多代码量&#xff0c;就好比数学的各种符号&#xff0c;我们现在深度解剖一下他们。 前言 在追求爱情的道路上&…

深入浅出AI落地应用分析:AI视频生成Top 5应用

接下俩会每周集中体验一些通用或者垂直的AI落地应用&#xff0c;主要以一些全球或者国外国内排行较前的产品为研究对象&#xff0c;「AI 产品榜&#xff1a; aicpb.com」以专题的方式在博客进行分享。 一、Loom 二、Runway 产品链接&#xff1a;https://app.runwayml.com/ …

ubuntu 22.04 安装mysql-8.0.34

ubuntu 22.04 安装mysql-8.0.34 1、基础安装配置 更新软件包&#xff1a; sudo apt update查看可用软件包&#xff1a; sudo apt search mysql-server安装最新版本&#xff1a; sudo apt install -y mysql-server或者&#xff0c;安装指定版本&#xff1a; sudo apt inst…

【Python程序开发系列】并发执行协程任务超时的解决方案(案例分析)

一、问题 假如我在利用协程并发执行任务的时候&#xff0c;会出现有些任务特别耗时&#xff0c;从而导致程序运行卡住&#xff0c;我们想跳过这些执行特别耗时的任务&#xff0c;只返回不超时的任务结果该怎么解决&#xff1f; 二、实现过程 2.1 情景 假如我有四个任务需要并…

MySQL--删除数据表(6)

MySQL中删除数据表是非常容易操作的&#xff0c;但是你在进行删除表操作时要非常小心&#xff0c;因为执行删除命令后所有数据都会消失。 语法 以下为删除 MySQL 数据表的通用语法&#xff1a; DROP TABLE table_name ; -- 直接删除表&#xff0c;不检查是否存在 或 DROP…

力(FFT,acwing2313)

题目路径&#xff1a; https://www.acwing.com/problem/content/2315/ 思路&#xff1a;

Python可执行文件的转换

当开发者向普通用户分享程序时&#xff0c;为了方便用户在未安装Python环境的情况 下能够正常运行&#xff0c;需要将开发好的程序进行打包&#xff0c;转换成用户可运行的文件类 型。本节将介绍在Windows和Linux两种系统下&#xff0c;将Python类型的文件转换成可执 行文件的方…

kotlin $ (字符串模版)的使用

$ 在kotlin 中当做字符串模版使用&#xff0c;作用就是在字符串里面识别自己定义的字符 例如打印一个字符 这个时候编译就提示我们使用字符串模版的是个 $ 的作用就是识别字符串里面的i 字数有点少了&#xff0c;在写一个demo private fun String.appendArchive(): String …

云手机与实体手机的对比

在数字化时代&#xff0c;云手机作为一种虚拟手机在云端服务器上运行&#xff0c;与传统的实体手机相比存在诸多差异。让我们深入探讨云手机与实体手机之间的区别&#xff0c;以便更好地了解它们的特点和优势。 外观上的差异 实体手机具有实际的外观和重量&#xff0c;占据一定…

编译安装Nginx和使用五种算法实现Nginx反向代理负载均衡

目录 Ubuntu中安装Nginx 概念介绍 负载均衡 几种负载均衡算法 反向代理 环境规划 配置反向代理 加权负载均衡&#xff08;Weighted Load Balancing&#xff09; 轮询&#xff08;Round Robin&#xff09; IP 哈希&#xff08;IP Hash&#xff09; 最少连接&#xff…

多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测

多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测 目录 多维时序 | Matlab实现EVO-TCN-Multihead-Attention能量谷算法优化时间卷积网络结合多头注意力机制多变量时间序列预测效果一览基本介绍程序设计参考资…

Spring5系列学习文章分享---第四篇(JdbcTemplate+概念配置+增删改查数据+批量操作 )

目录 JdbcTemplateJdbcTemplate&#xff08;概念和准备&#xff09;JdbcTemplate 操作数据库&#xff08;新增update&#xff09;JdbcTemplate 操作数据库&#xff08;修改和删除update&#xff09;JdbcTemplate 操作数据库&#xff08;查询返回某个值queryForObject&#xff0…

shopee的AI学习之路——GPTs通过AdInteli 广告变现

GPTs|AdInteli 广告变现 一、什么是 AdInteli AdIntelli 是一个旨在为生成 GPTs 接入广告并实现变现的平台。它连接了全球最大的广告联盟&#xff0c;允许广告商进行竞价&#xff0c;确保展示最有价值的广告。AdIntelli 采用 AI 驱动的收入生成技术&#xff0c;优化广告选择。…

《游戏-03_3D-开发》之—新输入系统人物移动攻击连击

本次修改unity的新输入输出系统。本次修改unity需要重启&#xff0c;请先保存项目&#xff0c; 点击加号起名为MyCtrl&#xff0c; 点击加号设置为一轴的&#xff0c; 继续设置W键&#xff0c; 保存 生成自动脚本&#xff0c; 修改MyPlayer代码&#xff1a; using UnityEngine;…