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

news2025/1/20 10:54:06

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 maria
    Input Password password thoushallnotpass
    Submit Form
    Wait 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=True
    Close Workbook
    FOR ${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 outerHTML
    Html To Pdf ${sales_results_html} ${OUTPUT_DIR}${/}sales_results.pdf

退出登录并关闭浏览器
    Click Button Log out
    Close Browser

运行RPA机器人

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

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

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

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

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

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


-  END  -

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

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

相关文章

python使用迭代生成器yield减少内存占用的方法

嗨喽,大家好呀~这里是爱看美女的茜茜呐 在python编码中for循环处理任务时,会将所有的待遍历参量加载到内存中。 其实这本没有必要,因为这些参量很有可能是一次性使用的, 甚至很多场景下这些参量是不需要同时存储在内存中的&…

IM-CNN

SHAP means ‘Shapley additive explanation’ 辅助信息 作者未提供代码

基于ncurse的floppy_bird小游戏

1. 需求分析 将运动分解为鸟的垂直运动和杆的左右运动。 2. 概要设计 2.1 鸟运动部分 2.2 杆的运动 3. 代码实现 #include <stdio.h> #include <ncurses.h>#include <stdlib.h> #include <time.h>int vx 0; int vy 1;int bird_r; int bird_c;int…

HTML5和CSS3的新特性

HTML5的新特性主要是针对于以前的不足&#xff0c;增加了一些新的标签、新的表单和新的表单属性等 1&#xff0c;HTML5新增的语义化标签 <header> 头部标签 <nav> 导航标签 <article> …

1 月 28日算法练习-前缀和

小郑的蓝桥平衡串 思路&#xff1a;把 L 看成 1&#xff0c;Q 看成 -1&#xff0c;利用前缀和来得到输入串的前缀子串中LQ 的和&#xff0c;利用前缀和差的性质得到子串&#xff0c;通过枚举看它是否平衡。 将L看做1&#xff0c;Q看做&#xff0d;1&#xff0c;只有当某个区间…

Django实战

一、开发登录表单 def login_form(request):html <html><body><form method"post">用户名:<input name "username" type"text"></input></br>密码&#xff1a;<input name "password" type…

ARM常用汇编指令

文章目录 前言一、处理器内部数据传输指令MOV&#xff1a; 将数据从一个寄存器复制到另一个寄存器。MRS&#xff1a; 将特殊寄存器(CPSR,SPSR)中的数据传给通用寄存器。MSR&#xff1a; 将通用寄存器中的数据传给特殊寄存器(CPSR,SPSR)。 二、存储器访问指令LDR:用于从内存中加…

5G赋能智慧文旅:科技与文化的完美结合,打造无缝旅游体验,重塑旅游业的未来

一、5G技术&#xff1a;智慧文旅的强大引擎 5G技术的起源可以追溯到2010年&#xff0c;当时世界各国开始意识到4G技术已经达到了瓶颈&#xff0c;无法满足日益增长的移动通信需求。2013年&#xff0c;国际电信联盟&#xff08;ITU&#xff09;成立了5G技术研究组&#xff0c;开…

力扣LCR 180. 文件组合(双指针)

Problem: LCR 180. 文件组合 文章目录 题目描述思路及解法复杂度Code 题目描述 思路及解法 本题目可以利用滑动窗口的技巧&#xff08;滑动窗口就是双指针的运用&#xff09;解决&#xff0c;具体实现如下 1.逻辑上生成窗口&#xff1a;让两个指针i&#xff0c;j分别初始化为1…

IPv6报文格式(全网最详细)

IPv6报文格式 报文格式 图1 IPv6报文头格式 表1 IP头字段解释 字段长度含义Version4比特 4&#xff1a;表示为IPV4&#xff1b;6&#xff1a;表示为IPV6。Traffic class8比特流量类别。该字段及其功能类似于IPv4的业务类型字段。该字段以区分业务编码点&#xff08;DSCP&…

203.移除链表元素(力扣LeetCode)

文章目录 203.移除链表元素题目描述原链表删除元素虚拟头节点 203.移除链表元素 题目描述 给你一个链表的头节点 head 和一个整数 val &#xff0c;请你删除链表中所有满足 Node.val val 的节点&#xff0c;并返回 新的头节点 。 示例 1&#xff1a; 输入&#xff1a;head …

基于Micropython利用ESP32-C3驱动墨水屏显示图片

从咸鱼上淘了两块2.9寸的墨水屏价签&#xff0c;可以结合ESP32-C3做个低功耗的时钟温湿度计。 1、所需硬件 合宙的ESP32-C3&#xff1a; 电子价签拆出来的2.9寸墨水屏&#xff1a; ——电子价签型号为&#xff1a;Stellar-L&#xff0c;墨水屏型号为&#xff1a;E029A01。电子…

Less-1(sqlmap自动注入攻击)--sqli

环境准备 打开火狐浏览器&#xff0c;进入sqli第一关的页面 工具准备 sqlmap 参数解释 -u URL 指定目标URL进行注入测试。--dataDATA指定POST请求的数据进行注入测试--cookieCOOKIE指定用于身份验证的cookie进行注入测试-p PARAMETER指定要测试的参数--levelLEVEL设置测试的深…

[260. 只出现一次的数字 III](C语言题解)(位运算)(力扣)

> Problem: [260. 只出现一次的数字 III](260. 只出现一次的数字 III - 力扣&#xff08;LeetCode&#xff09;) # 思路 > 想到数组中只有一个数只出现了一次的解法&#xff1a;**所有数异或&#xff0c;最后答案就是那个只出现一次的数**&#xff0c;该题只需将两个不…

Java技术栈 —— Hadoop入门(二)

Java技术栈 —— Hadoop入门&#xff08;二&#xff09; 一、用MapReduce对统计单词个数1.1 项目流程1.2 可能遇到的问题1.3 代码勘误1.4 总结 一、用MapReduce对统计单词个数 1.1 项目流程 (1) 上传jar包。 (2) 上传words.txt文件。 (3) 用hadoop执行jar包的代码&#xff0c;…

HarmonyOS 鸿蒙应用开发 (七、HTTP网络组件 axios 介绍及封装使用)

在HarmonyOS应用开发中&#xff0c;通过HTTP访问网络&#xff0c;可以使用官方提供的ohos.net.http模块。但是官方提供的直接使用不太好使用&#xff0c;需要封装下才好。推荐使用前端开发中流行的axios网络客户端库&#xff0c;如果是前端开发者&#xff0c;用 axios也会更加顺…

FOC系列(五)----STM32F405RGT6控制板焊接与初步编写代码

声明&#xff1a;本人水平有限&#xff0c;博客可能存在部分错误的地方&#xff0c;请广大读者谅解并向本人反馈错误。    首先祝大家新年快乐&#xff0c;因为我也快放假了&#xff0c;驱动板只能是开学之后再去测试了&#xff0c;本篇博客应该是本专栏年前的最后一篇了 一…

QT 范例阅读:Vector Deformation

效果图&#xff1a; 主要代码&#xff1a; 实现放大镜效果QPainter painter;//两种方式if (1) {m_lens_image QImage(bounds.size(), QImage::Format_ARGB32_Premultiplied);m_lens_image.fill(0);painter.begin(&m_lens_image);} else {m_lens_pixmap QPixmap(bounds.si…

GEE数据集——2024 年日本海地震的紧急观测数据

2024 年日本海地震的紧急观测数据 2024 年日本海地震发生在 2024 年 1 月 1 日下午 4:00 后&#xff08;日本时间&#xff09;&#xff0c;造成了重大损失&#xff0c;包括多处建筑物倒塌、山体滑坡和火灾。应日本国内防灾机构的请求&#xff0c;JAXA 利用 ALOS-2 对灾害发生当…

计算机网络-编制与调制(基带信号 基带传输 宽度信号 宽度传输 编码 调制 )

文章目录 基带信号与宽带信号编码与调制数字数据编码为数字信号数字数据调制为模拟信号模拟数据编码为数字信号模拟数据调制为模拟信号小结 基带信号与宽带信号 信道上传输的信号除了可以分为数字信号和模拟信号&#xff0c;也可以分为基带信号和宽带信号&#xff0c;只是分类…