“PROAGENT: 从机器人流程自动化到代理流程自动化”
这篇论文有几个创新点是比较有意思的:
1.通过描述方式生成执行链,执行链通过代码方式生成保证执行链的稳健、可约束
2.对执行过程抽取出数据结构,数据结构也通过代码生成方式来约束
3.整个过程其实是让agent带上来RPA建模的约束让agent可控,但同时又充分的利用LLM能力让模型在约束框架内工作,减少人力投入
RPA部分抽象其实我在前面一篇文章有介绍,抽象出了BOM、SOP、柔性链3个概念;并用金融营销文案生成为例子,具体描述了实际问题如何用这一套思路框架来解决。当然这还只是在业务层面对问题建模抽象,在后面的一篇文章也有介绍如何通过langchain的keypoint来构建一个软件层面的框架实现软件层面架构。当然这个例子只是抽取了BOM、SOP框架和用LLM在里面单点解决一些问题点(比如RAG检索、知识图谱构建、信息整合生成文案、文案排序…);“PROAGENT: 从机器人流程自动化到代理流程自动化”做的更透彻大胆的尝试,直接让LLM生成执行链路SOP、并且直接让LLM模型整合BOM结构。并且给出来描述到代码生成,给出了agent生成不太稳定一个解决方案。
营销文案流水线化生产——agent llm
langchain知识点(上)
Langchain知识点(下)
当然现在这个思维框架也并非完全没有问题,但是这个解决框架是很有意思和可扩展性很高的。现在一个问题在于如何保证LLM生成链路是符合业务建模的,虽然抽取出了一个控制变量让业务同学可以参与进来控制生成RPA链路更符合业务需求,但是这个控制量还是不够精准和有效的。还有一个问题就是如何让BOM可以较好的让LLM直接生成符合真实世界的需求,现在虽然也可以通过LLM预训练+promt方式加以控制,但是这个精准度可控度也还是不够的。
自动化,旨在减少人工干预和提高效率,历史上经历了一系列的演化阶段。从早期农业时代的水车灌溉系统到工业时代的蒸汽机,人类一直在不断地追求将人力劳动转移给自主系统,从而解放自己。进入信息时代,以数字技术为基础的经济快速取代传统工业,软件被广泛使用,因为它是信息处理、存储和通信的基础。机器人流程自动化(RPA)(Ivancˇic ́ et al., 2019; Wewerka & Reichert, 2020; Agostinelli et al., 2020; Fer- reira et al., 2020)是目前主流的自动化技术,它通过将几个软件按照人工制定的规则编排成一个固定的工作流,实现高效的执行(Zapier; n8n; unipath)。尽管如此,机器人流程自动化仅仅是替代了简单和机械的人力劳动,而需要人类智能的流程仍然需要人力劳动。首先,如图1所示,虽然RPA工作流可以自动执行流程,但它们的构建仍然需要人类智能进行精心设计。其次,许多人类执行的任务以其灵活和复杂的特性为特征,而工作流则局限于机械地复制人类行为过程,这给自动化那些需要在执行过程中进行动态决策的复杂流程带来了挑战。
随着大型语言模型(LLM)(OpenAI, 2022; 2023)的快速发展,LLM展现出了以前只有人类才具有的智能(Wei et al., 2022)。最近,基于LLM的代理引起了研究界的广泛关注(Xi et al., 2023; Wang et al., 2023b; Yao et al., 2022b; Shinn et al., 2023; Sumers et al., 2023; Qin et al., 2023c; Ye et al., 2023)。基于LLM的代理展示了一定程度的人类智能,能够像人类一样使用工具(Schick et al., 2023; Qin et al., 2023b;c)、创建工具(Qian et al., 2023b; Cai et al., 2023)、玩游戏(Wang et al., 2023a; Chen et al., 2023)、浏览网站(Nakano et al., 2021; Qin et al., 2023a; Yao et al., 2022a)、开发软件(Qian et al., 2023a)。因此,一个有意义的问题自然产生了:基于LLM的代理能否在需要人类智能的流程中推进自动化,进一步解放人类?
在本文中,我们提出了代理流程自动化(APA),一种新的流程自动化范式,它克服了自动化的两个前述局限性。(**1)代理工作流构建:在收到人类的需求或指令后,基于LLM的代理代替人类精心构建相应的工作流。如果一个流程涉及动态决策,代理应该识别出这个流程中哪些部分需要动态决策,然后将代理编排到工作流中。(2)代理工作流执行:工作流应该由代理监控,一旦工作流在动态部分执行,代理就会介入处理动态决策。**
![image.png](https://intranetproxy.alipay.com/skylark/lark/0/2023/png/284872/1699930248339-1c0136a4-b2f0-4ccd-9563-c956e96bfad4.png#clientId=ua2cb32f1-71a1-4&from=paste&height=180&id=u26dac8c6&originHeight=408&originWidth=1760&originalType=binary&ratio=2&rotation=0&showTitle=false&size=84550&status=done&style=none&taskId=u0ce48b47-f5a7-44c3-b3b0-1e5c20e1ce1&title=&width=777)
表1:根据效率和灵活性的标准,对机器人过程自动化和主体过程自动化进行的比较
为了探索APA的可行性,我们实例化了PROAGENT,一个基于LLM的代理,它在一个统一的框架中**集成了代理工作流构建和代理工作流执行**。对于代理工作流构建,为了使基于LLM的代理理解和生成工作流,我们设计了基于JSON结构和Python代码的代理工作流描述语言,这源于LLM是在编码语料库上进行预训练的。具体来说,它采用JSON结构来组织每个软件的输入和输出数据以实现数据标准化,并使用Python代码来实现流程控制逻辑以编排软件(见图2)。在接收到特定任务后,PROAGENT能够生成相应的工作流语言,以便于构建所需的工作流。对于代理工作流执行,工作流中的动态决策包括两个方面:
1)数据流:复杂的数据处理(例如,编写数据分析报告)通常超出了基于规则的系统的能力,因此代理必须介入以有效地管理这些复杂的流程。
2)控制流:复杂的任务可能涉及复杂的条件分支和循环,这超出了规则的表达能力。在这种情况下,代理需要作为控制器来动态地确定后续的行动。因此,我们设计了两种类型的动态决策代理:
DataAgent作为数据处理来动态地处理复杂的数据流程,
ControlAgent作为条件表达式,使得可以动态地确定后续的执行分支。
面对需要智能的复杂任务,PROAGENT可以在构建过程中将这两个代理编排到工作流中,并在执行过程中有目的地处理复杂的情况,从而减轻智能劳动(见表1)。
为了实证验证我们的方法,我们进行了概念验证实验,展示了PROAGENT能够根据人类的指示构建工作流,并通过在工作流中使用代理来处理流程的动态决策部分。我们进一步讨论了PROAGENT与现有研究领域的关系,包括工具学习(Qin et al., 2023b;c),流程挖掘(Tiwari et al., 2008; Van Der Aalst, 2012; Turner et al., 2012),安全性(Cummings, 2004)等。我们的贡献如下:
• 我们提出了代理流程自动化,一种新的流程自动化范式,集成了基于LLM的代理,进一步减轻了人类的智能劳动。
• 我们实例化了PROAGENT,其中设计了代理工作流描述语言,供基于LLM的代理构建工作流,而DataAgent和ControlAgent被编排到工作流中,有目的地处理动态决策过程部分。
• 我们通过概念验证案例分析和探索代理流程自动化在各种研究领域(包括工具学习,流程挖掘,安全性等)的潜力和机会,展示了我们的PROAGENT的可行性。
工作流在RPA中被广泛使用,通过软件调用图来固化流程,其中节点代表软件操作,边表示执行过程的拓扑。为了实现固化,数据流和控制流被涉及到工作流中。数据流描述了如何在一系列软件中传递和处理数据,控制流描述了软件执行的顺序。在本节中,我们首先介绍代理工作流描述语言,以表达数据流和控制流,然后我们详细说明如何将代理集成到工作流中,以便为工作流带来灵活性。最后,我们详细介绍了工作流构建和执行过程,以及PROAGENT的工作方式。
图2:Agentic工作流描述语言的插图
主动工作流描述语言:工作流是一种基于图形的表示方法,用于将RPA固化为过程,但它不适合LLM来理解和生成工作流。因此,我们根据编码预训练的特点,精心设计了主动工作流描述语言,方便LLM-agent固化工作流。具体来说,我们采用JSON结构来描述数据流,采用Python代码来描述控制流。图2给出了主动工作流描述语言的示例。
数据流的JSON结构:为了固化工作流,需要对软件之间的数据格式进行标准化,以确保自动化的数据处理,避免不必要的agent干预。我们采用JSON结构来组织工作流中所有动作的输入/输出数据。如图2所示,输入数据被格式化为一个键值对的字典。每个数据都应该分配一个特定的键,便于解析和操作。在不同软件之间传输数据时,JSON结构方便索引特定的数据字段。只有当所有软件的输入和输出都严格标准化,保持工作流中不同软件的一致性,才能减少数据解释错误或差异的可能性。
控制流的Python代码:对于复杂的任务,相应的工作流通常涉及复杂的控制逻辑,包括条件分支、循环或子工作流执行。传统的RPA方法通常设计基于图形的表示方法,供人类开发者描述控制流(Zapier; n8n; unipath),但其对复杂工作流的表达能力有限,也不适合基于LLM的agent理解和生成。由于Python编程语言支持复杂的控制逻辑,而且更重要的是它在预训练阶段被LLM学习,我们使用Python来描述控制流。作为一种高级编程语言,Python提供了丰富的原语和特性,提供了更强的表达能力来描述复杂的控制逻辑。一个工作流由一个Python文件组成,每个软件操作对应一个Python函数,称为动作。相应的输入/输出数据被映射到函数的参数和返回值中。因此,一系列的动作(即软件)被描述为Python中的顺序函数调用。Python中的if-else语句和for/while语句可以用来实现复杂的逻辑控制流。最后,工作流被封装在一个主Python函数中(即mainWorkflow)。此外,由于Python支持嵌套函数调用,不同的工作流也可以通过调用工作流函数来组合在一起,构建一个复杂的工作流。在工作流执行过程中,我们使用一个Python执行器,从主工作流函数(mainWorkflow)作为入口点开始,依次执行每个函数,最终完成整个工作流的执行。
图3:使用DataAgent和ControlAgent的代理工作流描述语言的示意图
集成代理的工作流:由于许多具有灵活性和复杂性特征的实际任务涉及动态决策过程,我们设计了DataAgent和ControlAgent,它们可以被编排到工作流中,以处理执行过程中的动态部分。图3给出了示例。
DataAgent:为了实现复杂的数据处理,我们设计了DataAgent,它作为一个由基于LLM的代理操作的动作。如图3所示,它支持输入一个基于自然语言的任务描述,然后根据代理的智能自主完成这个任务。执行过程中,这个函数会启动一个基于ReACT的代理(Yao et al., 2022b)来完成任务。
output ← DataAgent(task, input) (1)
尽管这个函数实际上是由代理操作的,但它的输入/输出数据仍然由JSON组织,使得它可以被编排到现有的工作流中,与其他动作连接。通过引入DataAgent,工作流提供了对数据流增强的灵活性的支持,使得能够处理复杂的数据处理需求。
ControlAgent:除了作为动作,代理还可以进一步参与到控制流中,来调度执行逻辑。我们将ControlAgent引入到控制流中,使其可以替代选择表达式。如图3所示,ControlAgent包含一个基于自然语言的预生成的判断标准和几个执行分支候选项。
opt ← ControlAgent(task, input, [opt1, opt2, · · · , optn]) (2)
执行过程中,代理可以根据输入数据做出决策,决定接下来执行哪个分支,从而影响工作流的控制流。
由于工作流是以JSON结构和Python代码表示的,所以工作流构建被形式化为一个代码生成任务。如图4所示,工作流构建过程包含四个迭代操作:
在实践中,我们使用OpenAI GPT-4作为PROAGENT的主干,以生成工作流语言,并进一步结合了几种技术来增强工作流生成能力:
工作流执行过程基于Python解释器。给定一个工作流语言,一旦这个工作流被触发,其对应的mainWorkflow函数被选为入口点开始执行过程。执行过程遵循Python代码执行规则,即按行顺序顺序执行。一旦mainWorkflow函数返回,工作流执行就成功完成。
图4:PROAGENT工作流构建过程的示意图。
为了验证代理流程自动化的可行性,我们基于n8n进行了概念验证实验,n8n是一个开源的工作流平台。n8n平台中的每个APP(即软件)在工作流中被封装为一个动作,因此工作流构建的核心是将这些APP编排起来完成某些任务。我们基于GPT-4实现了我们提出的PROAGENT。我们构建了一个关于商业场景的案例,详细解释了我们的PROAGENT是如何工作的。
:::success
任务:
当我通过网络发送一份业务线工作表时,根据每个业务线所属的类型进行处理。
图5给出了PROAGENT构建的工作流的可视化。PROAGENT为这个案例构建了一个包含七个节点的工作流,包括一个DataAgent节点和一个ControlAgent节点。
图5:PROAGENT用于案例分析的工作流构建过程的示意图。
当用户表示将通过Web发送数据时,PROAGENT决定定义一个名为WebhookTrigger的动作作为工作流的触发器。然后,根据用户的描述,它实现了GoogleSheetRead动作来从Google Sheets读取数据。由于根据业务线属于To-Business还是To-Customer,它应执行不同的动作,需要理解每个业务线的含义,PROAGENT定义了一个ControlAgent,其目标是判断业务线是toC还是toB,以决定下一步执行什么动作。
如果业务线属于To-Customer,根据用户描述,PROAGENT实现了Slack动作,该动作将相应的利润发送到Slack。如果业务线属于To-Business,它需要撰写详细的报告,分析Google Sheets中的具体数据并提出建议。因此,PROAGENT实现了一个DataAgent WriteEmail,其任务是编写一封电子邮件,包括有关利润的业务线以及您的建议。然后,实现了一个Gmail应用程序,用于将生成的电子邮件发送给相应的经理。由于Google Sheets中可能存在多个To-Business数据,PROAGENT进一步在工作流中添加了一个循环来迭代处理这些数据。
最后,当工作流完全构建时,PROAGENT通过数据迭代操作任务提交,以结束构建过程。
图6:PROAGENT用于案例分析的工作流执行过程的示意图。
图6展示了构建的工作流的两种执行情况。这两种情况分别演示了To-Customer和To-Business两条业务线。显然,ControlAgent成功区分了这两种业务线的类型。对于第一种情况,该业务线的描述是:
:::success
“企业资源规划:组织用来管理日常业务活动,如会计、采购、项目管理、风险管理和供应链运营。”
:::
ControlAgent区分出这个业务线是企业资源规划系统,这是一个典型的面向业务的服务。之后,执行DataAgent来写一封要发送的邮件。
:::success
“我希望你一切都好。我想向你更新我们的ERP产品线的表现。反馈一直非常积极,尤其是从将其整合到日常运营中的大型公司那里。值得注意的是,ERP系统仅在本月就产生了50,000美元的收入。”
:::
对于第二个,它的描述是:
:::success
“电子商务市场:运营一个在线平台,消费者可以从各种品牌和卖家那里购买各种产品。”
:::
PROAGENT提取了一些关键词,如“产品”和“购买”,来决定这个业务线属于To-Customer类型。然后,发送一条简单的消息“业务线9的利润是-3500美元。”到Slack。
在本节中,我们讨论了APA和PROAGENT技术与工具学习、流程挖掘等领域的关系,以及潜在的研究方向。随后,我们讨论了可能由APA技术引起的自动化偏见问题,并深入探讨了人类在自动化时代应该带来的独特价值。
集成工具使用和工具创建 现有的工作已经表明,基于LLM的代理具有强大的使用外部工具的能力(例如,搜索引擎、网络浏览器、计算器、Python解释器等)(Ivancˇicetal.,2019;Wewerka&Reeiiccheerrtt,2020;;Agosttiinellliietal.,2020;Ferreiraetal.,2020)。通过集成外部工具,代理可以从文本生成扩展到操作工具来影响环境,甚至是真实世界。除了他们在使用现有工具方面的熟练程度,最近的研究还展示了他们创建新工具以完成特定任务的能力(Qian et al., 2023b; Cai et all…, 22002233))。在工作流管理的上下文中,通过调用外部工具执行一系列操作的执行过程可以被视为工具使用的过程。通过将多个操作(即工具)编排成一个连贯的工作流来解决特定的任务可以被视为工具创建的过程,即将多个工具组合成一个新的工具。在这个上下文中,PROAGENT可以被理解为一个自动的过程,它无缝地集成了工具创建和使用。
在我们的PROAGENT中,工作流构建过程主要由代理独自驱动,可能导致次优的工作流程。将过程挖掘(PM)(Tiwari等,2008;Van Der Aalst,2012;Turner等,2012)的原则融入到这一框架中可以促进从历史记录中发现有价值的工作流程。过程挖掘是一种数据驱动的技术,用于发现、分析和改进现有工作流程。它涉及从执行各种工作流程过程中生成的历史记录中提取见解和知识。该方法使得能够全面了解由代理构建的工作流程,识别低效、瓶颈和与预期工作流程的偏差,并随后优化其操作以提高性能和效率。此外,优化后的工作流程可以作为有效的培训数据,以增强代理的工作流构建能力。
代理技术的出现为模型处理复杂任务提供了潜力。然而,在另一方面,它也可能导致人类过度依赖代理。即使代理的决策与个人观点相冲突,人们可能选择信任代理的决策,这被称为自动化偏见(Cummings,2004),并在诸如临床决策支持系统(Goddard等,2012)的领域观察到。在基于LLM的代理技术下,这个问题变得更为突出。人们可能会将他们对传统基于规则的工作流程稳定性的信任转移到代理上,错误地认为代理的决策过程同样可靠,尤其是幻觉(Maynez等,2020;Zhang等,2023;Ji等,2023)。未来的研究需要优先考虑开发更安全、更值得信赖、更可解释的代理过程自动化。
APA引入了在工作流构建中的精心设计和在工作流执行中的动态决策制定的智能,将其纳入过程自动化中,可以减轻RPA中的繁重人力劳动。现在,更为关键的问题是:“哪些任务应该由人类驱动?”存在一些过程本质上受益于人类直觉、经验和创造力。对于这些任务,人类发挥了不可轻易被机器替代的关键作用。尽管自动化可能提高效率,但无法复制人类为问题提供的微妙理解和创新解决方案。人类介入可以改善结果的悖论与前面提到的自动化偏见的缺陷形成对比。
APA的下一个前沿涉及辨别哪些过程可以完全自动化,哪些需要人类监督或介入。我们必须记住自动化的最终目标是增强生产力,而不是完全取代人类。挑战在于促进人与机器之间的共生关系,在这种关系中,不会完全排斥对方。借鉴史蒂夫·乔布斯的观点,未来应该看到人类专注于他们擅长的领域:在最重要的地方应用他们独特的智慧和创造力。APA需要重新调整,使自动化为人类服务,而人类反过来提升自动化的能力。
Robotic Process Automation(RPA)(Ivancˇic ́等,2019;Hofmann等,2020;Tiwari等,2008;Scheer等,2004),作为时尚自动化范 paradigm,主要利用软件机器人自动化访问软件API或模拟用户GUI交互以通过多个软件完成任务。与传统的自动化技术不同,RPA模拟人类使用软件的方式,直接利用现有的软件资产,无需进行转换或额外的投资。因此,RPA近年来作为一种有效的技术,用于自动化由人类工作者执行的重复和基于规则的任务(Zapier;n8n;unipath)。RPA主要旨在使用预定义的规则和工作流模板自动化重复的任务,需要大量人力来设计和实施工作流程。然而,由于工作流程由手工制定的规则驱动,它在处理需要动态决策的复杂任务方面存在困难。
最近,越来越多的人对将RPA与AI技术整合感兴趣,导致了各种术语和定义。例如,智能过程自动化(IPA)(Ferreira等,2020;Chakraborti等,2020b)和认知自动化(或RPA 4.0)(Lacity&Willcocks,2018)旨在在RPA的各个阶段融合AI技术,例如数据格式转换(Leno等,2020),工作流程优化(Chakraborti等,2020a),对话助手(Moiseeva等,2020),演示到过程转换(Li等,2019),等等。然而,这些工作仍然利用传统的深度学习技术(例如,RNN(Han等,2020))甚至机器学习技术(例如,蒙特卡罗树搜索(Chen,2020))融入RPA。更重要的是,它们仅将AI技术应用于RPA的某些特定片段(例如,数据格式转换(Leno等,2020))。相比之下,我们的工作AGENTIC PROCESS AUTOMATION在自动产生工作流和由代理驱动的工作流执行方面引领,将最智能的AI模型,大型语言模型,融入RPA。因此,这是在自动产生工作流和由代理驱动的工作流执行方面的首次尝试,赋予它们智能。
LLM-based Agents 大型语言模型(LLMs)作为人工智能的重要里程碑,在各种任务上展现出卓越的能力(OpenAI,2022;2023)。最近,基于LLMs的代理出现,通过外部工具扩展LLMs以与环境交互,实现现实世界的任务。早期的研究尝试促使LLMs根据对环境的观察生成动作(Nakano等,2021;Huang等,2022;Ahn等,2022;Schick等,2023;Qian等,2023a;Chen等,2023)。这种方式在面对需要长期规划和决策的复杂任务时往往会遇到困难。为了解决这个问题,ReAct(Yao等,2022b)提出了一种动态任务解决方法,使代理生成每个动作的思考,形成推理链,实现灵活的推理引导、可追踪和可调整的动作,相较于仅执行动作的方法有显著改进。基于动态任务解决方式,随后提出了许多代理方法,以改进代理在不同方面的能力,例如反思(Shinn等,2023),规划(Yao等,2023;Hao等,2023;Besta等,2023;Sel等,2023),工具学习(Schick等,2023;Patil等,2023;Qin等,2023b;c;Qian等,2023b),多代理(Park等,2023;Qian等,2023a),等等。然而,所有现有的基于ReACT的代理方法都受限于线性生成决策的方式,导致操作效率较低。在本文中,我们提出了PROAGENT,探索通过识别工作流的哪个部分需要涉及智能,并集成代理有目的地处理这些部分,以增强动态任务解决方法的效率。
在这项研究中,我们提出了一种新颖的过程自动化范 paradigm,AGENTIC PROCESS AUTOMATION,通过利用LLM-based代理的能力将它们整合到工作流构建和执行过程中,以解决机器人过程自动化技术在处理需要人类智能的任务方面的限制。通过PROAGENT的实例化,我们演示了LLM-based代理如何合理地管理复杂的决策过程,从而减轻人类智能劳动的负担。我们的概念验证实验证明了AGENTIC PROCESS AUTOMATION在实现过程自动化的效率和灵活性方面的可行性。我们的发现为智能自动化领域的研究做出了贡献,并强调了LLM-based代理在增强各行业效率和灵活性方面可以发挥的重要作用。随着自动化技术的采用继续扩大,我们预计APA框架可以成为自动化领域进一步发展的催化剂,从而提高效率,减少人类干预,最终实现更加简化和智能的工作流生态系统。