将Agent技术的灵活性引入RPA,清华等发布自动化智能体ProAgent

近日,来自清华大学的研究人员联合面壁智能、中国人民大学、MIT、CMU 等机构共同发布了新一代流程自动化范式 “智能体流程自动化” Agentic Process Automation(APA),结合大模型智能体帮助人类进行工作流构建,并让智能体自主处理工作流中涉及复杂决策与动态处理的环节,进一步提升自动化的程度,提高效率,将人类从繁重的劳动中解放出来。

图片

  • 项目地址:https://github.com/OpenBMB/ProAgent

  • 论文地址:https://github.com/OpenBMB/ProAgent/blob/main/paper/paper.pdf

在历史的长河中,自动化是人类技术发展的主要动力,帮助人类从复杂、危险、繁琐的劳动环境中解放出来。自早期农业时代的水车灌溉,到工业时代的蒸汽机,人类一直在不断寻求更加先进的自动化技术,从而解放自身于繁重的工作。

随着信息时代的到来,软件作为信息处理、存储和通信的基础成为了人类生产生活密不可分的一环,从而催成了机器人流程自动化(Robotic Process Automation, RPA)技术。其通过人工编制规则将多个软件协调成一个固化的工作流(Workflow),通过模拟人交互的方式来和软件交互实现高效执行。

图片

图 1 机器人流程自动化 RPA 与智能体流程自动化 APA 对比

RPA 利用软件机器人或称为 “BOT” 来模拟和执行重复性、规则性的任务,从而解放人力资源,提高工作效率。RPA 的应用范围非常广泛。很多企业(包括银行、保险公司、制造业、零售业等各个行业)常利用 RPA 机器人来自动执行一些常规和繁琐的任务,例如:数据录入、数据提取、数据处理。通过自动化任务,RPA 可以大幅度减少错误率,并且能够在 24*7 不间断地执行任务,从而提高了业务的可靠性和响应能力。

根据市场研究,RPA 市场正在迅速增长并取得巨大成功。Gartner 预测,2023 年全球 RPA 市场收入将达到 33 亿美元,相比 2022 年增长 17.5%。这表明了企业对于 RPA 的强烈需求和认可。

但是,RPA 仅能替代简单、机械的人力工作,一些复杂的流程仍旧依赖人工:

  1. 编写 RPA 工作流本身需要繁重的人类劳动,成本较高。

  2. 复杂任务非常灵活,通常涉及动态决策,难以固化为规则进行表示。

图片

图 2 RPA 与 APA 的效率与智能对比

幸运的是,最近 AI 领域兴起的大模型智能体技术(Large Language Model based Agents, LLM-based Agents)也许给自动化技术创造了新的可能性。有没有可能将 Agent 技术的灵活性引入到 RPA 领域中,来进一步减少人的参与呢?

该团队的研究探讨了大模型智能体时代下新型自动化范式 “智能体流程自动化” Agentic Process Automation (APA)。和传统 RPA 相比,在 APA 范式中,Agent 可以根据人类的需求自主完成工作流构建,同时其可以识别人类需求中需要动态决策的部分,将自动编排进工作流中,并在工作流执行到该部分时主动接管工作流的执行完成相应复杂决策。

为了探索 APA 的可能性,该研究工作实现了一个自动化智能体 ProAgent,其可以接收人类指令,以生成代码的方式构建工作流,同在工作流中引入 DataAgent 和 ControlAgent 来在工作流中实现复杂数据处理与逻辑控制。ProAgent 的研究展现了 APA 在大模型智能体时代下的可行性,也揭示了 LLM 时代下,自动化技术的崭新可能性。

方法介绍

在 RPA 中,工作流是由一系列工具调用组成的图状结构:节点代表一个原子化的工具调用(如 Gmail、Twitter、Google Sheets),而边代表了执行的逻辑顺序(承接、分支、循环)。一个工作流往往包含了对于一个或一类任务的所有先验知识,其中包含解决问题的路径,遇到异常时的处理逻辑等等。因此人编写固化出来的工作流往往是非常稳定周全、非常高效的。

图片

图 3 智能体工作流描述语言示例

在 ProAgent 中,由于 LLM 本身在代码数据中进行预训练,学习到了较强代码能力,该研究便基于代码的智能体工作流描述语言 Agentic Workflow Description Language。该语言使用 JSON 实现对工作流中数据的组织与管理,选择 Python 语法实现对工作流的逻辑控制,将控制流中的跳转、循环等直接通过 Python 语法进行表征,同时将工作流中的工具调用封装为 Python Function。于是对于 ProAgent,工作流构建任务便转化为代码生成任务。当接收到人类指令时,ProAgent 便编写相应的 Agentic Workflow Description Language,从而实现了工作流自动化构建。

图片

图 4 结合 DataAgent 和 ControlAgent 的智能体工作流描述语言示例

复杂的现实任务中通常会涉及动态决策,单纯的 Python 式的逻辑控制规则以及 JSON 式的数据组织形式在面对灵活的需求时便无能为力,此时便需要引入 agent。因此,该研究工作进一步定义出了两种 Agent 操作:

1. DataAgent:对于一个复杂的数据处理需求,工作流构建时会使用自然语言来描述处理的任务,然后在执行时会初始化一个 DataAgent,其会基于该自然语言描述自主处理并完成该数据处理任务。 

图片

2. ControlAgent:对于难以用规则表示的逻辑控制规则,工作流构建时使用自然语言对控制逻辑进行描述,然后在运行时会初始化一个 ControlAgent,其会基于该自然语言描述自主选择工作流后续需要执行的分支。

图片

ProAgent 使用 ReACT 模式逐步构建工作流,其共包含四个工作流构建步骤:

  1. Action_Define:决定在工作流中添加什么工具。

  2. Action Implement:将工具的输入 / 输出参数转化为 JSON 结构,同时将工具的调用封装为 Python 函数。

  3. Workflow Implement:定义一个 mainWorkflow 函数,用以组织整个 workflow 的逻辑控制与数据处理。

  4. Task Submit: 当 ProAgent 构建完 workflow 时以该操作标识构建过程结束。

图片

图 5 ProAgent 工作流构建过程示例

另外,为了优化 ProAgent 的效果,又引入了几个优化技巧:

  1. 1.Testing-on-Constructing:在构建过程中,ProAgent 会在一次修改工作流之后对工作流进行测试,以保证工作流的正确性。

  2. Function Calling:工作流构建的所有操作均封装为了 GPT-4 的 Function,从而提高对工作流构建过程的控制。

  3. Chain-of-Thought:ProAgent 在编写工作流代码时,需要对于每个 function 都要给出注释 comment 和一个编写 plan,从而提高 ProAgent 工作流构建的性能。

工作流执行过程基于 Python interpreter。给定一个工作流,其对应的 mainWorkflow 函数用作为工作流执行的入口来开始整个执行过程。执行过程遵循 Python 代码执行规则,即按照顺序逐行执行。一旦 mainWorkflow 函数返回,工作流执行就成功完成了。

可行性验证

为了验证 Agentic Process Automation 的可行性,该研究使用 OpenAI GPT-4 作为基础模型,并以一个开源的 RPA 平台 n8n 作为载体,实现了上述的 ProAgent。同时设计了一个需要兼顾灵活与效率的任务:这是一个典型的商业场景,需要从 Google Sheets 中提取各种业务线的营利数据,同时根据业务是否属于 2B 或是 2C,决定后续的行为。一旦确定业务线为 2C,就会向 Slack 频道发送一条消息。而对于 2B 的业务线,则会向相应的经理发送一封电子邮件,其中包括对业务线的评估和简要的盈利概况。

图片

图 6 任务 Instruction 展示

对于该任务,首先它是一个重复性的任务,对于多条产品线,应该走相同的处理流程。其次,分辨一个业务线是 2C 还是 2B 很难通过规则判断,需要涉及 Agent 动态决策来判断后续的工作流执行操作。最后,根据撰写业务线的评估邮件需要一定的智能,所以需要 Agent 的介入。

在 ProAgent 生成中,对于该任务,编写出了一个包含四个原子操作,一个 DataAgent 和一个 ControlAgent 的工作流。总体过程大致如下图所示:

图片

图 7 ProAgent 工作流构建过程展示

可以看到,ProAgent 通过自主编写代码的方式,自动完成了工作流的构建过程,其中无需涉及人工介入。在需要判断业务线是 2B 还是 2C 时,ProAgent 引入了 ControlAgent 来做判断,ControlAgent 的 Prompt 被设置为 “Decide Whether the business line is toC or toB”。当业务线为 2B 时,ProAgent 还引入了一个 DataAgent,其任务设置为 “Write a email of the business line of profit, together with your suggestion”,从而利用 agent 的智能来根据不同业务线的实际情况来撰写邮件。

在工作流被编写、固化下来以后,工作流就会根据不同的数据自动分支到不同的逻辑进行高效地数据处理了。

图片

图 8 ProAgent 工作流执行过程展示

在处理 2C 业务线数据时,ControlAgent 可以根据业务线描述判断出当前业务线的类型,选择调用 Slack 工具。当遇到 2B 业务线数据时,DataAgent 可以撰写邮件发到相应经理的邮箱中。

总结

该研究提出了大模型时代下新的自动化范式 ——Agentic Process Automation,和传统 Robotic Process Automation 技术相比,其可以实现工作流构建的自动化,以及工作流执行时动态决策的自动化。该研究进一步实现了 ProAgent 并通过实验揭示了大模型智能体在自动化中的可行性与潜力。相信未来大模型智能体技术会帮助人类实现更高层次的自动化,将人类从各种繁重的劳动中解放出来。

团队相关研究

目前研究团队已在大模型智能体方向有诸多研究,包括:

  • XAgent:超强大模型智能体应用框架,可自行拆解复杂任务,并高效执行。

  • 项目地址:https://github.com/OpenBMB/XAgent

  • ChatDev:多智能体协作开发框架,让多个不同角色的智能体进行协作,自动化开发软件应用。

  • 项目地址:https://github.com/OpenBMB/ChatDev

  • AgentVerse:大模型驱动的智能体通用平台,招募各种各样的 agent 专家,共同帮助用户解决复杂任务。

  • 项目地址:https://github.com/OpenBMB/AgentVerse

文章转载自机器之心,如有侵权,请联系删除。

原文标题:《被OpenAI带火的Agent如何解放人力?清华等发布ProAgent》

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

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

相关文章

Openlayer【二】—— 绘制不同的点、线以及给其添加监听事件

Openlayer【二】—— 绘制不同的点、线以及给其添加监听事件 接上篇:OpenLayer初始化 在openlayer当中,图层Layer与地图源Source是一对一的关系。当创建了一个图层Layer,相应的需要给图层添加地图源Source,然后将图层Layer添加到…

浅谈无线测温产品在菲律宾某工厂配电项目的应用

摘要:配电系统是由多种配电设备和配电设施所组成的变换电压和直接向终端用户分配电能的一个电力网络系统。由于配电系统作为电力系统的一个环节直接面向终端用户,它的完善与否直接关系着广大用户的用电可靠性和用电质量,因而在电力系统中具有…

第14届蓝桥杯青少组python试题解析:23年5月省赛

选择题 T1. 执行以下代码&#xff0c;输出结果是&#xff08;&#xff09;。 lst "abc" print(lstlst)abcabc abc lstlst abcabc T2. 执行以下代码&#xff0c;输出的结果是&#xff08;&#xff09;。 age {16,18,17} print(type(sorted(age)))<class set&…

C++基础从0到1入门编程(三)

系统学习C 方便自己日后复习&#xff0c;错误的地方希望积极指正 往期文章&#xff1a; C基础从0到1入门编程&#xff08;一&#xff09; C基础从0到1入门编程&#xff08;二&#xff09; 参考视频&#xff1a; 1.黑马程序员匠心之作|C教程从0到1入门编程,学习编程不再难 2.系统…

企业计算机服务器中了faust勒索病毒怎么办,faust勒索病毒解密文件恢复

网络技术的不断应用发展&#xff0c;为企业注入了新的生产运营方式&#xff0c;计算机服务器为企业的数据存储提供了便利&#xff0c;让企业的生产运营得到了有力保障&#xff0c;近期&#xff0c;云天数据恢复中心陆续接到很多企业的求助&#xff0c;企业的计算机服务器遭到了…

基于单片机设计的电子指南针(LSM303DLH模块(三轴磁场 + 三轴加速度)

一、前言 本项目是基于单片机设计的电子指南针&#xff0c;主要利用STC89C52作为主控芯片和LSM303DLH模块作为指南针模块。通过LCD1602液晶显示屏来展示检测到的指南针信息。 在日常生活中&#xff0c;指南针是一种非常实用的工具&#xff0c;可以帮助我们确定方向&#xff0…

人工智能-循环神经网络通过时间反向传播

到目前为止&#xff0c;我们已经反复提到像梯度爆炸或梯度消失&#xff0c; 以及需要对循环神经网络分离梯度。 例如&#xff0c;我们在序列上调用了detach函数。 为了能够快速构建模型并了解其工作原理&#xff0c; 上面所说的这些概念都没有得到充分的解释。 本节将更深入地探…

MTK Pump Express 快速充电原理分析

1 MTK PE 1.1 原理 在讲正文之前&#xff0c;我们先看一个例子。 对于一块电池&#xff0c;我们假设它的容量是6000mAh&#xff0c;并且标称电压是3.7V&#xff0c;换算成Wh(瓦时)为单位的值是22.3Wh(6000mAh*3.7V)&#xff1b;普通的充电器输出电压电流是5V2A(10W)&#xff0c…

纯CSS实现炫酷文本阴影效果

如图所示&#xff0c;这是一个文本阴影效果&#xff0c;阴影有多个颜色&#xff0c;鼠标悬停时文本阴影效果消失&#xff0c;文本回到正常的效果。让我们逐步分解代码&#xff0c;看看如何使用纯CSS实现这个效果的。 基于以上动图可以分析出以下是本次实现的主要几个功能点&am…

【软件工程师从0到1】- Java面向对象基础 (知识汇总)

前言 介绍&#xff1a;大家好啊&#xff0c;我是hitzaki辰。 社区&#xff1a;&#xff08;完全免费、欢迎加入&#xff09;日常打卡、学习交流、资源共享的知识星球。 自媒体&#xff1a;我会在b站/抖音更新视频讲解 或 一些纯技术外的分享&#xff0c;账号同名&#xff1a;hi…

QTcpSocket发送结构体的做法

作者&#xff1a;朱金灿 来源&#xff1a;clever101的专栏 为什么大多数人学不会人工智能编程&#xff1f;>>> QTcpSocket发送结构体其实很简单:使用QByteArray类对象进行封装发送&#xff0c;示例代码如下&#xff1a; /* 消息结构体 */ struct stMsg {int m_A…

CLIP浅谈

CLIP论文地址&#xff1a;Learning Transferable Visual Models From Natural Language Supervision CLIP代码地址&#xff1a;https://github.com/openai/CLIP 简介 CLIP是OpenAI在2021年2月发表的一篇文章&#xff0c;它的主要贡献有以下2点&#xff1a; 1&#xff09;将图…

无损音频播放软件 Colibri mac中文版特点介绍

Colibri for mac是一款轻量级的音频播放器软件。它具有简洁的界面设计和快速启动速度&#xff0c;能够提供流畅的音频播放体验。Colibri支持多种常见的音频格式&#xff0c;包括MP3、FLAC、ALAC、AAC等。它还提供了一些实用的功能&#xff0c;如音频均衡器、音频增益控制、播放…

酒糟废水处理设备有哪些

酒糟废水处理设备有以下几种&#xff1a; 格栅&#xff1a;用于拦截大颗粒悬浮物&#xff0c;以保护后续处理设备。调节池&#xff1a;用于调节水质和水量&#xff0c;使废水在处理过程中保持稳定。混凝反应池&#xff1a;通过添加混凝剂&#xff0c;使废水中的小颗粒悬浮物凝…

小程序开通电子发票

总目录 文章目录 总目录前言结语 前言 随着人工智能的不断发展&#xff0c;机器学习这门技术也越来越重要&#xff0c;很多人都开启了学习机器学习&#xff0c;本文就介绍了机器学习的基础内容。 首先登录商户号&#xff1a;https://pay.weixin.qq.com/index.php/core/home/lo…

探索SPI:深入理解原理、源码与应用场景

文章目录 一、初步认识1、概念2、工作原理3、作用场景 二、源码分析1、ServiceLoader结构2、相关字段3、核心方法 三、案例connector连接器小案例1、新建SPI项目2、创建扩展实现项目1-MongoDB3、创建扩展实现项目2-Oracle4、测试 Spring应用1、创建study工程2、创建forlan-test…

uniapp Android如何授权打开系统蓝牙Bluetooth?

uniapp Android如何授权打开系统蓝牙&#xff1f; 使用uniapp开发蓝牙项目过程中&#xff0c;涉及到检测手机系统蓝牙是否打开功能&#xff0c;这里介绍Android&#xff0c;iOS暂时没有找到优方法。朋友们如果有好的方案&#xff0c;欢迎评论分享~ 文章目录 uniapp Android如何…

AWS云服务器EC2实例实现ByConity快速部署

1. 前言 亚马逊是全球最大的在线零售商和云计算服务提供商。AWS云服务器在全球范围内都备受推崇&#xff0c;被众多业内人士誉为“云计算服务的行业标准”。在国内&#xff0c;亚马逊AWS也以其卓越的性能和服务满足了众多用户的需求&#xff0c;拥有着较高的市场份额和竞争力。…

华为笔记本MateBook D 14 2021款锐龙版R7集显非触屏(NbM-WFP9)原装出厂Windows10-20H2系统

链接&#xff1a;https://pan.baidu.com/s/13Kyy95GME-asli4woNN_ww?pwdbqa8 提取码&#xff1a;bqa8 HUAWEI华为MateBookD14原厂Win10系统自带所有驱动、出厂主题壁纸、系统属性专属LOGO标志、Office办公软件、华为电脑管家等预装程序

05_SHELL编程之文本处理工具SED

typora-root-url: pictures课程目标 掌握sed的基本语法结构 熟悉sed常用的命令&#xff0c;如打印p&#xff0c;删除d&#xff0c;插入i等 Windows&#xff1a;​ Linux&#xff1a; vim vi gedit nano emacs 一、sed介绍 1. sed的工作流程 首先sed把当前正在处理的行保存…