被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

近日,来自清华大学的研讨人员联合面壁智能、中国人民大学、MIT、CMU 等机构共同发布了新一代进程自动化范式 “智能体进程自动化” Agentic Process Automation(APA),结合大模型智能体帮助人类进行事务流建立,并让智能体自主处理事务流中涉及简单决议与动态处理的环节,进一步提升自动化的程度,提高效率,将人类从繁重的劳动中解放出来。项目地址::,自动化是人类技术发展的主要动力,帮助人类从简单、危险、繁琐的劳动环境中解放出来。自早期农业时代的水车灌溉,到工业时代的蒸汽机,人类一直在不断寻求更加先

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

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

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

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

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

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

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

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

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

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

但是,RPA 仅能替代简单、机械的人力事务,一些简单的进程仍旧依赖人工:

编辑 RPA 事务流本身需求繁重的人类劳动,成本较高。

简单使命非常灵活,通常涉及动态决议,难以固化为限定进行表示。

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

                                  图 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),而边代表了履行的逻辑顺序(承接、分支、循环)。一个事务流往往包含了对于一个或一类使命的所有先验知识,其中包含解决问题的路径,遇到异常时的处理逻辑等等。因此人编辑固化出来的事务流往往是非常稳定周全、非常高效的。

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

                                   图 3 智能体事务流描述语言示例

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

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

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

简单的现实使命中通常会涉及动态决议,单纯的 Python 式的逻辑控制限定以及 JSON 式的数据组织形式在面对灵活的需求时便无能为力,此时便需求引入 agent。因此,该研讨事务进一步定义出了两种 Agent 操作:

1. DataAgent:对于一个简单的数据处理需求,事务流建立时会使用自然语言来描述处理的使命,然后在履行时会初始化一个 DataAgent,其会基于该自然语言描述自主处理并完成该数据处理使命。 

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

2. ControlAgent:对于难以用限定表示的逻辑控制限定,事务流建立时使用自然语言对控制逻辑进行描述,然后在运行时会初始化一个 ControlAgent,其会基于该自然语言描述自主选择事务流后续需求履行的分支。

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

ProAgent 使用 ReACT 模式逐步建立事务流,其共包含四个事务流建立步骤:

Action_Define:决定在事务流中添加什么工具。

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

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

Task Submit: 当 ProAgent 建立完 workflow 时以该操作标识建立进程结束。

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

                                   图 5 ProAgent 事务流建立进程示例

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

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

Function Calling:事务流建立的所有操作均封装为了 GPT-4 的 Function,从而提高对事务流建立进程的控制。

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 的交易线,则会向相应的经理发送一封电子邮件,其中包括对交易线的评估和简要的盈利概况。被OpenAI带火的Agent如何解放人力?清华等发布ProAgent                                    图 6 使命 Instruction 展示

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

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

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

                                         图 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 的智能来根据不同交易线的实际情况来撰写邮件。

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

被OpenAI带火的Agent如何解放人力?清华等发布ProAgent

                                   图 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

给TA打赏
共{{data.count}}人
人已打赏
工程

连葫芦娃都数不明白,解说英雄联盟的GPT-4V面临幻觉挑战

2023-11-13 18:43:00

工程

Agent4Rec来了!大模型智能体构成引荐零碎摹拟器,摹拟实在用户交互举动

2023-11-15 14:28:00

0 条回复 A文章作者 M管理员
    暂无讨论,说说你的看法吧
个人中心
今日签到
有新私信 私信列表
搜索