首頁  >  文章  >  科技週邊  >  ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

王林
王林轉載
2023-11-14 21:37:171451瀏覽

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

  • 專案網址:https://github.com/OpenBMB/ProAgent
  • ##論文地址:https://github.com/OpenBMB/ProAgent/blob/main/paper/paper.pdf
##在人類技術發展的在歷史長河中,自動化一直是主要的動力,它幫助人類從複雜、危險、繁瑣的勞動環境中解脫出來。從早期農業時代的水車灌溉,到工業時代的蒸汽機,人類一直在不斷追求更先進的自動化技術,以解放自己從繁重的工作中

##隨著資訊時代的到來,軟體作為資訊處理、儲存和通訊的基礎成為了人類生產生活密不可分的一環,從而催成了機器人流程自動化(Robotic Process Automation, RPA)技術。其透過人工編制規則將多個軟體協調成一個固化的工作流程(Workflow),透過模擬人互動的方式來和軟體互動實現高效執行。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布在這張圖中,我們將機器人流程自動化(RPA)與智慧體流程自動化(APA)進行了比較

RPA(機器人流程自動化)利用軟體機器人或「BOT」來模擬和執行重複性、規則性的任務,以解放人力資源,提高工作效率。 RPA的應用範圍非常廣泛。許多企業(包括銀行、保險公司、製造業、零售業等各行業)通常使用RPA機器人來自動執行一些常規和繁瑣的任務,例如資料輸入、資料提取、資料處理。透過自動化任務,RPA可以大幅減少錯誤率,並能夠24*7不間斷地執行任務,從而提高業務的可靠性和響應能力

根據市場研究,RPA市場正在迅速增長並取得巨大成功。 Gartner預測,到2023年全球RPA市場營收將達33億美元,成長率為17.5%。這顯示企業對RPA的需求和認可程度非常高

但是,RPA 僅能取代簡單、機械的人力工作,一些複雜的流程仍舊依賴人工:

編寫RPA 工作流程本身需要繁重的人類勞動,成本較高。
  1. 複雜任務非常靈活,通常涉及動態決策,難以固化為規則進行表示。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布圖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),而邊表示執行的邏輯順序(連接、分支、循環)。一個工作流程通常包含一個或一類任務的所有先驗知識,包括問題解決路徑和異常處理邏輯等。因此,編寫固定的工作流程往往非常穩定、周全且有效率

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

圖3 智能體工作流程描述語言範例

#在ProAgent 中,由於LLM 本身在程式碼資料中進行預訓練,學習到了較強程式碼能力,研究便基於程式碼的智能體工作流程描述語言Agentic Workflow Description Language。該語言使用JSON 實現對工作流程中資料的組織與管理,選擇Python 語法實現對工作流程的邏輯控制,將控制流程中的跳躍、循環等直接透過Python 語法進行表徵,同時將工作流程中的工具呼叫封裝為Python Function。於是對於 ProAgent,工作流程建置任務就會轉換為程式碼產生任務。當接收到人類指令時,ProAgent 便編寫對應的 Agentic Workflow Description Language,從而實現了工作流程自動化建置。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

圖4 結合DataAgent 和ControlAgent 的智能體工作流程描述語言範例

複雜的現實任務中通常會涉及動態決策,單純的Python 式的邏輯控制規則以及JSON 式的資料組織形式在面對靈活的需求時便無能為力,此時便需要引入agent。因此,該研究工作進一步定義出了兩種Agent 操作:

1. DataAgent:對於一個複雜的資料處理需求,工作流程建構時會使用自然語言來描述處理的任務,然後在執行時會初始化一個DataAgent,其會基於該自然語言描述自主處理並完成該資料處理任務。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

2. ControlAgent:對於難以用規則表示的邏輯控制規則,工作流程建構時使用自然語言對控制邏輯進行描述,然後在運行時會初始化一個ControlAgent,其會基於該自然語言描述自主選擇工作流程後續需要執行的分支。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

ProAgent 使用ReACT 模式逐步建立工作流程,其共包含四個工作流程建構步驟:

  1. Action_Define:決定在工作流程中新增什麼工具。
  2. Action Implement:將工具的輸入 / 輸出參數轉換為 JSON 結構,同時將工具的呼叫封裝為 Python 函數。
  3. Workflow Implement:定義一個 mainWorkflow 函數,用以組織整個 workflow 的邏輯控制與資料處理。
  4. Task Submit: 當 ProAgent 建置完 workflow 時以該操作標識建置過程結束。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

範例中展示了ProAgent 工作流程建構過程的圖5

##另外,為了優化ProAgent 的效果,又引入了幾個最佳化技巧:

  1. #1.Testing-on-Constructing:在建置過程中,ProAgent 會在一次修改工作流程之後對工作流程進行測試,以確保工作流程的正確性。
  2. Function Calling:工作流程建構的所有操作均封裝為了 GPT-4 的 Function,從而提高對工作流程建置流程的控制。
  3. Chain-of-Thought:ProAgent 在寫工作流程程式碼時,需要對於每個function 都要給予註解comment 和一個寫plan,從而提高ProAgent 工作流程建置的效能。

工作流程的執行過程是基於 Python 解譯器的。當給定一個工作流程時,對應的 mainWorkflow 函數被用作執行的入口,從而開始整個執行過程。執行過程遵循 Python 程式碼的執行規則,即依照順序逐行執行。一旦 mainWorkflow 函數傳回,工作流程的執行就成功完成了#

可行性驗證

為了驗證Agentic Process Automation 的可行性,該研究使用OpenAI GPT-4 作為基礎模型,並以一個開源的RPA 平台n8n 作為載體,實作了上述的ProAgent。同時設計了一個需要兼顧靈活與效率的任務:這是一個典型的商業場景,需要從 Google Sheets 中提取各種業務線的營利數據,同時根據業務是否屬於 2B 或是 2C,決定後續的行為。一旦確定業務線為 2C,就會向 Slack 頻道發送訊息。而對於 2B 的業務線,則會向相應的經理發送一封電子郵件,其中包括對業務線的評估和簡要的盈利概況。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

圖6 任務Instruction 展示

需要重寫的內容是:對於這個任務而言,首先它是一個重複性的任務,對於多條產品線,應該採取相同的處理流程。其次,要區分一個業務線是2C還是2B是很困難的,需要涉及Agent的動態決策來決定後續的工作流程。最後,根據編寫業務線的評估郵件需要一定的智能,因此需要Agent的介入

#在ProAgent 生成中,對於該任務,編寫出了一個包含四個原子操作,一個DataAgent 和一個ControlAgent 的工作流程。整體流程大致如下圖所示:

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布圖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 的智能來根據不同業務線的實際情況來撰寫郵件。

在工作流程被編寫、固化下來以後,工作流程就會根據不同的資料自動分支到不同的邏輯進行高效地資料處理了。

ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布

圖8 ProAgent 工作流程執行流程顯示

當處理2C業務線資料時,ControlAgent可根據業務線說明來判斷目前業務線的類型,並選擇使用Slack工具進行溝通。而在處理2B業務線資料時,DataAgent可以撰寫郵件並發送到對應經理的郵箱中

總結

##這項研究提出了一種新的自動化範式-Agentic Process Automation,適用於大模型時代。與傳統的Robotic Process Automation技術相比,Agentic Process Automation能夠自動化工作流程的構建,並實現工作流程執行時動態決策的自動化。該研究還進一步開發了ProAgent,並透過實驗證明了大模型智能體在自動化中的可行性和潛力。相信未來,大模型智能體技術將幫助人類實現更高層次的自動化,從繁重的勞動中解放出來

團隊相關研究

目前研究團隊已在大模型智能體方向有許多研究,包括:

  • #XAgent:超強大模型智能體應用框架,可自行拆解複雜任務,並高效執行。
  • 專案網址:https://github.com/OpenBMB/XAgent
  • ChatDev:多智能體協作開發框架,讓多個不同角色的智能體進行協作,自動化開發軟體應用。
  • 專案網址:https://github.com/OpenBMB/ChatDev
  • AgentVerse:大模型驅動的智慧型體通用平台,招募各種各樣的agent 專家,共同幫助使用者解決複雜任務。
  • 專案網址:https://github.com/OpenBMB/AgentVerse
  • #

以上是ProAgent:OpenAI引領下的智慧代理解放人力,清華等大學發布的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:51cto.com。如有侵權,請聯絡admin@php.cn刪除