近日,來(lái)自清華大學(xué)的研究人員聯(lián)合面壁智能、中國(guó)人民大學(xué)、MIT、CMU 等機(jī)構(gòu)共同發(fā)布了新一代流程自動(dòng)化范式 “智能體流程自動(dòng)化” Agentic Process Automation(APA),結(jié)合大模型智能體幫助人類進(jìn)行工作流構(gòu)建,并讓智能體自主處理工作流中涉及復(fù)雜決策與動(dòng)態(tài)處理的環(huán)節(jié),進(jìn)一步提升自動(dòng)化的程度,提高效率,將人類從繁重的勞動(dòng)中解放出來(lái)。
- 項(xiàng)目地址:https://Github.com/OpenBMB/ProAgent
- 論文地址:https://github.com/OpenBMB/ProAgent/blob/mAIn/paper/paper.pdf
在歷史的長(zhǎng)河中,自動(dòng)化是人類技術(shù)發(fā)展的主要?jiǎng)恿Γ瑤椭祟悘膹?fù)雜、危險(xiǎn)、繁瑣的勞動(dòng)環(huán)境中解放出來(lái)。自早期農(nóng)業(yè)時(shí)代的水車灌溉,到工業(yè)時(shí)代的蒸汽機(jī),人類一直在不斷尋求更加先進(jìn)的自動(dòng)化技術(shù),從而解放自身于繁重的工作。
隨著信息時(shí)代的到來(lái),軟件作為信息處理、存儲(chǔ)和通信的基礎(chǔ)成為了人類生產(chǎn)生活密不可分的一環(huán),從而催成了機(jī)器人流程自動(dòng)化(Robotic Process Automation, RPA)技術(shù)。其通過(guò)人工編制規(guī)則將多個(gè)軟件協(xié)調(diào)成一個(gè)固化的工作流(Workflow),通過(guò)模擬人交互的方式來(lái)和軟件交互實(shí)現(xiàn)高效執(zhí)行。
圖 1 機(jī)器人流程自動(dòng)化 RPA 與智能體流程自動(dòng)化 APA 對(duì)比
RPA 利用軟件機(jī)器人或稱為 “BOT” 來(lái)模擬和執(zhí)行重復(fù)性、規(guī)則性的任務(wù),從而解放人力資源,提高工作效率。RPA 的應(yīng)用范圍非常廣泛。很多企業(yè)(包括銀行、保險(xiǎn)公司、制造業(yè)、零售業(yè)等各個(gè)行業(yè))常利用 RPA 機(jī)器人來(lái)自動(dòng)執(zhí)行一些常規(guī)和繁瑣的任務(wù),例如:數(shù)據(jù)錄入、數(shù)據(jù)提取、數(shù)據(jù)處理。通過(guò)自動(dòng)化任務(wù),RPA 可以大幅度減少錯(cuò)誤率,并且能夠在 24*7 不間斷地執(zhí)行任務(wù),從而提高了業(yè)務(wù)的可靠性和響應(yīng)能力。
根據(jù)市場(chǎng)研究,RPA 市場(chǎng)正在迅速增長(zhǎng)并取得巨大成功。Gartner 預(yù)測(cè),2023 年全球 RPA 市場(chǎng)收入將達(dá)到 33 億美元,相比 2022 年增長(zhǎng) 17.5%。這表明了企業(yè)對(duì)于 RPA 的強(qiáng)烈需求和認(rèn)可。
但是,RPA 僅能替代簡(jiǎn)單、機(jī)械的人力工作,一些復(fù)雜的流程仍舊依賴人工:
- 編寫 RPA 工作流本身需要繁重的人類勞動(dòng),成本較高。
- 復(fù)雜任務(wù)非常靈活,通常涉及動(dòng)態(tài)決策,難以固化為規(guī)則進(jìn)行表示。
圖 2 RPA 與 APA 的效率與智能對(duì)比
幸運(yùn)的是,最近 AI 領(lǐng)域興起的大模型智能體技術(shù)(Large Language Model based Agents, LLM-based Agents)也許給自動(dòng)化技術(shù)創(chuàng)造了新的可能性。有沒有可能將 Agent 技術(shù)的靈活性引入到 RPA 領(lǐng)域中,來(lái)進(jìn)一步減少人的參與呢?
該團(tuán)隊(duì)的研究探討了大模型智能體時(shí)代下新型自動(dòng)化范式 “智能體流程自動(dòng)化” Agentic Process Automation (APA)。和傳統(tǒng) RPA 相比,在 APA 范式中,Agent 可以根據(jù)人類的需求自主完成工作流構(gòu)建,同時(shí)其可以識(shí)別人類需求中需要?jiǎng)討B(tài)決策的部分,將自動(dòng)編排進(jìn)工作流中,并在工作流執(zhí)行到該部分時(shí)主動(dòng)接管工作流的執(zhí)行完成相應(yīng)復(fù)雜決策。
為了探索 APA 的可能性,該研究工作實(shí)現(xiàn)了一個(gè)自動(dòng)化智能體 ProAgent,其可以接收人類指令,以生成代碼的方式構(gòu)建工作流,同在工作流中引入 DataAgent 和 ControlAgent 來(lái)在工作流中實(shí)現(xiàn)復(fù)雜數(shù)據(jù)處理與邏輯控制。ProAgent 的研究展現(xiàn)了 APA 在大模型智能體時(shí)代下的可行性,也揭示了 LLM 時(shí)代下,自動(dòng)化技術(shù)的嶄新可能性。
方法介紹
在 RPA 中,工作流是由一系列工具調(diào)用組成的圖狀結(jié)構(gòu):節(jié)點(diǎn)代表一個(gè)原子化的工具調(diào)用(如 Gmail、Twitter、google Sheets),而邊代表了執(zhí)行的邏輯順序(承接、分支、循環(huán))。一個(gè)工作流往往包含了對(duì)于一個(gè)或一類任務(wù)的所有先驗(yàn)知識(shí),其中包含解決問題的路徑,遇到異常時(shí)的處理邏輯等等。因此人編寫固化出來(lái)的工作流往往是非常穩(wěn)定周全、非常高效的。
圖 3 智能體工作流描述語(yǔ)言示例
在 ProAgent 中,由于 LLM 本身在代碼數(shù)據(jù)中進(jìn)行預(yù)訓(xùn)練,學(xué)習(xí)到了較強(qiáng)代碼能力,該研究便基于代碼的智能體工作流描述語(yǔ)言 Agentic Workflow Description Language。該語(yǔ)言使用 JSON 實(shí)現(xiàn)對(duì)工作流中數(shù)據(jù)的組織與管理,選擇 Python/ target=_blank class=infotextkey>Python 語(yǔ)法實(shí)現(xiàn)對(duì)工作流的邏輯控制,將控制流中的跳轉(zhuǎn)、循環(huán)等直接通過(guò) Python 語(yǔ)法進(jìn)行表征,同時(shí)將工作流中的工具調(diào)用封裝為 Python Function。于是對(duì)于 ProAgent,工作流構(gòu)建任務(wù)便轉(zhuǎn)化為代碼生成任務(wù)。當(dāng)接收到人類指令時(shí),ProAgent 便編寫相應(yīng)的 Agentic Workflow Description Language,從而實(shí)現(xiàn)了工作流自動(dòng)化構(gòu)建。
圖 4 結(jié)合 DataAgent 和 ControlAgent 的智能體工作流描述語(yǔ)言示例
復(fù)雜的現(xiàn)實(shí)任務(wù)中通常會(huì)涉及動(dòng)態(tài)決策,單純的 Python 式的邏輯控制規(guī)則以及 JSON 式的數(shù)據(jù)組織形式在面對(duì)靈活的需求時(shí)便無(wú)能為力,此時(shí)便需要引入 agent。因此,該研究工作進(jìn)一步定義出了兩種 Agent 操作:
1. DataAgent:對(duì)于一個(gè)復(fù)雜的數(shù)據(jù)處理需求,工作流構(gòu)建時(shí)會(huì)使用自然語(yǔ)言來(lái)描述處理的任務(wù),然后在執(zhí)行時(shí)會(huì)初始化一個(gè) DataAgent,其會(huì)基于該自然語(yǔ)言描述自主處理并完成該數(shù)據(jù)處理任務(wù)。
2. ControlAgent:對(duì)于難以用規(guī)則表示的邏輯控制規(guī)則,工作流構(gòu)建時(shí)使用自然語(yǔ)言對(duì)控制邏輯進(jìn)行描述,然后在運(yùn)行時(shí)會(huì)初始化一個(gè) ControlAgent,其會(huì)基于該自然語(yǔ)言描述自主選擇工作流后續(xù)需要執(zhí)行的分支。
ProAgent 使用 ReACT 模式逐步構(gòu)建工作流,其共包含四個(gè)工作流構(gòu)建步驟:
- Action_Define:決定在工作流中添加什么工具。
- Action Implement:將工具的輸入 / 輸出參數(shù)轉(zhuǎn)化為 JSON 結(jié)構(gòu),同時(shí)將工具的調(diào)用封裝為 Python 函數(shù)。
- Workflow Implement:定義一個(gè) mainWorkflow 函數(shù),用以組織整個(gè) workflow 的邏輯控制與數(shù)據(jù)處理。
- Task Submit: 當(dāng) ProAgent 構(gòu)建完 workflow 時(shí)以該操作標(biāo)識(shí)構(gòu)建過(guò)程結(jié)束。
圖 5 ProAgent 工作流構(gòu)建過(guò)程示例
另外,為了優(yōu)化 ProAgent 的效果,又引入了幾個(gè)優(yōu)化技巧:
- 1.Testing-on-Constructing:在構(gòu)建過(guò)程中,ProAgent 會(huì)在一次修改工作流之后對(duì)工作流進(jìn)行測(cè)試,以保證工作流的正確性。
- Function Calling:工作流構(gòu)建的所有操作均封裝為了 GPT-4 的 Function,從而提高對(duì)工作流構(gòu)建過(guò)程的控制。
- Chain-of-Thought:ProAgent 在編寫工作流代碼時(shí),需要對(duì)于每個(gè) function 都要給出注釋 comment 和一個(gè)編寫 plan,從而提高 ProAgent 工作流構(gòu)建的性能。
工作流執(zhí)行過(guò)程基于 Python interpreter。給定一個(gè)工作流,其對(duì)應(yīng)的 mainWorkflow 函數(shù)用作為工作流執(zhí)行的入口來(lái)開始整個(gè)執(zhí)行過(guò)程。執(zhí)行過(guò)程遵循 Python 代碼執(zhí)行規(guī)則,即按照順序逐行執(zhí)行。一旦 mainWorkflow 函數(shù)返回,工作流執(zhí)行就成功完成了。
可行性驗(yàn)證
為了驗(yàn)證 Agentic Process Automation 的可行性,該研究使用 OpenAI GPT-4 作為基礎(chǔ)模型,并以一個(gè)開源的 RPA 平臺(tái) n8n 作為載體,實(shí)現(xiàn)了上述的 ProAgent。同時(shí)設(shè)計(jì)了一個(gè)需要兼顧靈活與效率的任務(wù):這是一個(gè)典型的商業(yè)場(chǎng)景,需要從 Google Sheets 中提取各種業(yè)務(wù)線的營(yíng)利數(shù)據(jù),同時(shí)根據(jù)業(yè)務(wù)是否屬于 2B 或是 2C,決定后續(xù)的行為。一旦確定業(yè)務(wù)線為 2C,就會(huì)向 Slack 頻道發(fā)送一條消息。而對(duì)于 2B 的業(yè)務(wù)線,則會(huì)向相應(yīng)的經(jīng)理發(fā)送一封電子郵件,其中包括對(duì)業(yè)務(wù)線的評(píng)估和簡(jiǎn)要的盈利概況。
圖 6 任務(wù) Instruction 展示
對(duì)于該任務(wù),首先它是一個(gè)重復(fù)性的任務(wù),對(duì)于多條產(chǎn)品線,應(yīng)該走相同的處理流程。其次,分辨一個(gè)業(yè)務(wù)線是 2C 還是 2B 很難通過(guò)規(guī)則判斷,需要涉及 Agent 動(dòng)態(tài)決策來(lái)判斷后續(xù)的工作流執(zhí)行操作。最后,根據(jù)撰寫業(yè)務(wù)線的評(píng)估郵件需要一定的智能,所以需要 Agent 的介入。
在 ProAgent 生成中,對(duì)于該任務(wù),編寫出了一個(gè)包含四個(gè)原子操作,一個(gè) DataAgent 和一個(gè) ControlAgent 的工作流。總體過(guò)程大致如下圖所示:
圖 7 ProAgent 工作流構(gòu)建過(guò)程展示
可以看到,ProAgent 通過(guò)自主編寫代碼的方式,自動(dòng)完成了工作流的構(gòu)建過(guò)程,其中無(wú)需涉及人工介入。在需要判斷業(yè)務(wù)線是 2B 還是 2C 時(shí),ProAgent 引入了 ControlAgent 來(lái)做判斷,ControlAgent 的 Prompt 被設(shè)置為 “Decide Whether the business line is toC or toB”。當(dāng)業(yè)務(wù)線為 2B 時(shí),ProAgent 還引入了一個(gè) DataAgent,其任務(wù)設(shè)置為 “Write a email of the business line of profit, together with your suggestion”,從而利用 agent 的智能來(lái)根據(jù)不同業(yè)務(wù)線的實(shí)際情況來(lái)撰寫郵件。
在工作流被編寫、固化下來(lái)以后,工作流就會(huì)根據(jù)不同的數(shù)據(jù)自動(dòng)分支到不同的邏輯進(jìn)行高效地?cái)?shù)據(jù)處理了。
圖 8 ProAgent 工作流執(zhí)行過(guò)程展示
在處理 2C 業(yè)務(wù)線數(shù)據(jù)時(shí),ControlAgent 可以根據(jù)業(yè)務(wù)線描述判斷出當(dāng)前業(yè)務(wù)線的類型,選擇調(diào)用 Slack 工具。當(dāng)遇到 2B 業(yè)務(wù)線數(shù)據(jù)時(shí),DataAgent 可以撰寫郵件發(fā)到相應(yīng)經(jīng)理的郵箱中。
總結(jié)
該研究提出了大模型時(shí)代下新的自動(dòng)化范式 ——Agentic Process Automation,和傳統(tǒng) Robotic Process Automation 技術(shù)相比,其可以實(shí)現(xiàn)工作流構(gòu)建的自動(dòng)化,以及工作流執(zhí)行時(shí)動(dòng)態(tài)決策的自動(dòng)化。該研究進(jìn)一步實(shí)現(xiàn)了 ProAgent 并通過(guò)實(shí)驗(yàn)揭示了大模型智能體在自動(dòng)化中的可行性與潛力。相信未來(lái)大模型智能體技術(shù)會(huì)幫助人類實(shí)現(xiàn)更高層次的自動(dòng)化,將人類從各種繁重的勞動(dòng)中解放出來(lái)。
團(tuán)隊(duì)相關(guān)研究
目前研究團(tuán)隊(duì)已在大模型智能體方向有諸多研究,包括:
- XAgent:超強(qiáng)大模型智能體應(yīng)用框架,可自行拆解復(fù)雜任務(wù),并高效執(zhí)行。
- 項(xiàng)目地址:https://github.com/OpenBMB/XAgent
- ChatDev:多智能體協(xié)作開發(fā)框架,讓多個(gè)不同角色的智能體進(jìn)行協(xié)作,自動(dòng)化開發(fā)軟件應(yīng)用。
- 項(xiàng)目地址:https://github.com/OpenBMB/ChatDev
- AgentVerse:大模型驅(qū)動(dòng)的智能體通用平臺(tái),招募各種各樣的 agent 專家,共同幫助用戶解決復(fù)雜任務(wù)。
- 項(xiàng)目地址:https://github.com/OpenBMB/AgentVerse