Agent工作流記憶 - 讓AI助手更聰明地完成復雜任務
今天我要跟大家分享一篇很有意思的論文,題目是《Agent Workflow Memory》,也就是"Agent工作流記憶"。這篇論文提出了一種新方法,讓AI助手(我們稱之為Agent)能更好地完成復雜的網頁任務。
首先,我們來聊聊這個研究的背景。現在的AI技術已經非常強大了,特別是像GPT這樣的大語言模型(LLM),它們可以進行對話、回答問題,甚至可以幫我們完成一些簡單的任務。但是,當面對復雜的、需要多個步驟才能完成的任務時,AI助手還是會遇到不少困難。
舉個例子,假設我們讓AI助手幫我們在網上訂一張從北京到上海的機票。這個任務看似簡單,但實際上涉及很多步驟:
打開航空公司網站
選擇出發地和目的地
選擇日期
篩選合適的航班
填寫乘客信息
選擇座位
支付訂單
對于人類來說,我們可能已經訂過很多次機票了,這些步驟我們爛熟于心。但對AI助手來說,每次執行這樣的任務都像是全新的體驗。它可能會在某些步驟卡住,或者忘記了重要的步驟。
研究人員發現,現有的AI助手主要有兩個問題:
- 缺乏可重用的工作流程:AI助手無法像人類那樣,從過去的經驗中提取出通用的工作流程,并在新任務中靈活運用。
- 無法從失敗中學習:每次執行任務時,AI助手都是從頭開始,無法利用之前成功或失敗的經驗來改進自己的表現。
研究目標:讓AI助手更聰明
基于這些挑戰,研究者提出了一個非常有趣的想法:能不能讓AI助手也像人類一樣,能夠學習、記憶和使用工作流程呢?
這就是本篇論文的核心目標:開發一種方法,讓AI助手能夠從過去的經驗中提取出可重用的工作流程,并在未來的任務中靈活運用這些工作流程。
研究者們希望通過這種方法,AI助手可以:
- 更高效地完成復雜任務
- 在不同的網站和領域之間更好地泛化
- 隨著經驗的積累不斷提升自己的能力
那么他們是如何實現這個目標的呢?這就要說到本文的核心方法了:Agent Workflow Memory(AWM),也就是"Agent工作流記憶"。
AWM的核心思想:工作流記憶
Agent Workflow Memory (AWM)的核心思想是讓AI助手能夠像人類一樣,從過去的經驗中學習、記憶和使用工作流程。但什么是"工作流"呢?讓我們先來理解這個概念。
什么是工作流?
在AWM中,工作流(Workflow)是指完成某個任務或子任務的一系列步驟。它包含兩個主要部分:
- 工作流描述(Workflow Description): 一段簡短的文本,描述這個工作流的目標或功能。
- 工作流軌跡(Workflow Trajectory): 一系列具體的步驟,包括觀察環境、推理和執行動作。
舉個例子,假設我們有一個"搜索產品"的工作流,它可能看起來像這樣:
## 工作流描述: 在電商網站搜索特定產品
工作流軌跡:
1. [觀察] 當前頁面顯示搜索框
2. [推理] 我需要在搜索框中輸入產品名稱
3. [動作] 在搜索框中輸入"{產品名稱}"
4. [觀察] 搜索結果頁面加載完成
5. [推理] 我需要查看搜索結果并選擇最相關的產品
6. [動作] 點擊最相關的產品鏈接
這個工作流描述了在電商網站搜索產品的通用步驟,可以適用于多種不同的產品和網站。
AWM的工作原理
現在我們了解了工作流的概念,讓我們來看看AWM是如何工作的。AWM的核心流程包括三個主要步驟:
- 工作流提取(Workflow Induction)
- 工作流整合(Workflow Integration)
- 工作流使用(Workflow Utilization)
讓我們逐一詳細了解這些步驟。
1. 工作流提取 (Workflow Induction)
在這個步驟中,AWM會從AI助手過去執行任務的經驗中提取出可重用的工作流。這個過程可以通過兩種方式進行:
a) 基于規則的提取: 使用預定義的規則來識別和提取常見的行為模式。b) 基于語言模型的提取: 使用大型語言模型(如GPT)來分析和總結任務執行過程,生成抽象的工作流。
研究者發現,基于語言模型的提取方法通常能產生更抽象、更通用的工作流,因此在實驗中表現更好。
工作流提取(Workflow Induction)是AWM方法的核心步驟之一,論文中詳細描述了兩種主要的實現方式:基于規則的方法和基于語言模型的方法。我們來深入了解一下這兩種方法的具體實現細節。
1. 基于規則的方法(Rule-based Induction)
基于規則的方法主要包括兩個步驟:經驗去重和無效動作過濾。
1.1 經驗去重
目的:從多個相似的任務執行經驗中提取出獨特的工作流。
實現步驟:
- 提取動作序列:
例如,從軌跡CLICK('12') → CLICK('30') → TYPE('44', "cat") 中提取出CLICK → CLICK → TYPE。
- 按動作序列分組:
- 將具有相同動作序列的經驗分到一組。
- 隨機選擇:
- 從每組中隨機選擇n個經驗(默認n=1)作為該組的代表。
- (針對WebArena)額外的模板去重:
- 如果有任務模板信息,再按模板分組。
- 從每個模板組中隨機選擇n個經驗(默認n=1)。
1.2 無效動作過濾
目的:移除無法在環境中成功執行的動作步驟。
實現步驟:
- 設定規則:
例如,CLICK和TYPE動作的第一個參數必須是字符串格式的整數(代表環境中元素的ID)。
- 應用規則:
- 遍歷每個動作,檢查是否符合規則。
- 移除不符合規則的動作。
- 生成最終工作流:
- 保留經過過濾后的有效動作序列作為工作流。
示例:輸入軌跡:CLICK(12) → CLICK('12') → CLICK('30') → TYPE(44, "cat") → TYPE('44', "cat")?輸出工作流:CLICK('12') → CLICK('30') → TYPE('44', "cat")
2. 基于語言模型的方法(LM-based Induction)
基于語言模型的方法利用大型語言模型(如GPT)來生成更抽象、更通用的工作流。
2.1 提示工程(Prompt Engineering)
研究者設計了特殊的提示模板,引導語言模型從給定的任務經驗中提取工作流。
提示模板的關鍵點:
- 任務描述:要求模型從給定的網頁導航任務列表中提取常見工作流。
- 輸入格式說明:每個任務包含一個自然語言指令和一系列解決任務的動作。
- 輸出要求:
找出多個任務中重復出現的動作子集。
將每個重復子集提取為一個工作流。
每個工作流應該是常用的子例程,至少包含兩個步驟。
使用描述性變量名代替具體的輸入文本或按鈕字符串。
Given a list of web navigation tasks, your task is to extract the common workflows.
Each given task contains a natural language instruction, and a series of actions to solve the task. You need to find the repetitive subset of actions across multiple tasks, and extract each of them out as a workflow.
Each workflow should be a commonly reused sub-routine of the tasks. Do not generate similar or overlapping workflows. Each workflow should have at least two steps. Represent the non-fixed elements (input text, button strings) with descriptive variable names as shown in the example.
2.2 工作流生成
語言模型基于提供的任務經驗和提示,生成抽象的工作流。
生成的工作流通常包含:
- 工作流描述:簡要說明工作流的目標或功能。
- 工作流軌跡:包含多個步驟,每個步驟包括:
環境描述:當前網頁狀態的文本描述。
推理過程:解釋為什么要執行下一步動作。
具體動作:可執行的程序化動作。
示例工作流:
## 在電商網站搜索產品
工作流描述:此工作流用于在電商網站上搜索特定產品。
工作流軌跡:
[環境描述] 當前頁面顯示搜索框。
[推理] 我需要在搜索框中輸入產品名稱。
[動作] fill('搜索框ID', '{產品名稱}')
[環境描述] 搜索結果頁面已加載。
[推理] 我需要點擊最相關的產品鏈接。
[動作] click('{最相關產品鏈接ID}')
3. 兩種方法的比較
研究者發現,基于語言模型的方法通常能產生更好的結果:
- 更抽象:生成的工作流更容易泛化到不同的任務和網站。
- 更細粒度:能夠捕捉到更精細的操作模式。
- 更靈活:可以根據上下文生成適應性更強的工作流。
然而,基于規則的方法也有其優勢:
- 計算效率高:不需要大型語言模型,處理速度更快。
- 確定性:結果更可預測,便于調試和優化。
在實際應用中,研究者主要使用基于語言模型的方法,因為它能產生更高質量、更通用的工作流,從而在各種測試場景中取得更好的性能。
通過這種精心設計的工作流提取過程,AWM能夠從AI助手的歷史經驗中學習到有用的操作模式,這些模式后續可以被用來指導AI助手更有效地完成新的任務。這就是AWM方法效果顯著的關鍵所在。
2. 工作流整合 (Workflow Integration)
一旦提取出工作流,AWM會將這些工作流整合到AI助手的記憶中。這個過程就像是給AI助手一本"操作手冊",里面包含了各種常見任務的執行步驟。
3. 工作流使用 (Workflow Utilization)
當AI助手面對新任務時,它會先查閱自己的"操作手冊",看看有沒有適用的工作流。如果找到了相關的工作流,AI助手就會參考這個工作流來執行任務,而不是從零開始摸索。
AWM的兩種工作模式
AWM有兩種主要的工作模式:離線模式(Offline)和在線模式(Online)。
- 離線模式(AWM Offline):
- 在任務執行之前,使用已有的訓練數據來提取工作流。
- 適用于有大量高質量訓練數據的場景。
- 優點是可以提前準備好工作流,執行任務時更快。
- 在線模式(AWM Online):
- 在執行任務的過程中實時提取和使用工作流。
- 適用于沒有現成訓練數據,或者任務環境經常變化的場景。
- 優點是可以不斷學習和適應新的任務環境。
這兩種模式各有優勢,研究者在不同的實驗場景中都進行了測試。
到這里,我們已經對AWM的核心思想和工作原理有了基本的了解。在下一部分,我們將看看研究者是如何評估AWM的效果的,以及它在實際任務中表現如何。
AWM的實驗評估
研究者們為了全面測試AWM的效果,選擇了兩個主要的網頁導航基準測試:WebArena和Mind2Web。這兩個測試集涵蓋了各種不同類型的網頁任務,從簡單的信息查找到復雜的多步驟操作都有。讓我們來看看AWM在這些測試中的表現。
WebArena測試
## shopping: Browse Products in a Specific Category
To browse products in a specific category, I need to navigate to the relevant main category. I will start by hovering over the main category menu item to reveal the subcategories.
hover(’main category id’)
To browse products in the specific subcategory, I need to click on the subcategory link. click(’subcategory id’)
WebArena是一個包含812個網頁導航任務的測試集,涉及5個不同的網站,包括電子商務、社交論壇、軟件開發協作平臺和內容管理系統等。這個測試的特點是它可以嚴格評估AI助手執行任務的功能正確性。
實驗設置
研究者使用了GPT-4作為基礎模型,采用AWM的在線模式(AWM Online)進行測試。這意味著AI助手在執行測試任務的過程中,會不斷學習和使用新的工作流。
主要結果
- 整體成功率:
- AWM: 35.5%
- 基準方法(BrowserGym): 23.5%
- 相對提升: 51.1%
- 平均步驟數:
- AWM: 5.9步
- 基準方法: 7.9步
這些結果表明,AWM不僅顯著提高了任務完成的成功率,還減少了完成任務所需的步驟數,使AI助手的操作更加高效。
跨模板泛化能力
研究者還專門測試了AWM在不同任務模板之間的泛化能力。結果顯示,即使面對全新的任務類型,AWM仍然保持了較高的成功率(33.2%),遠超基準方法(20.5%)。
Mind2Web測試
# travel: enter flight locations
Given that you are on the flight booking page, this workflow enters the departure and destination city/airport for your flight.
[link] From Departure Airport or City Your Origin ? > CLICK [textbox] Origin City or Airport ? > TYPE: {your-origin-city}
[link] {best-popup-option} ? > CLICK
[link] To Destination Airport or City Your Destination ? > CLICK [textbox] Destination City or Airport ? > TYPE: {your-destination-city} [link] {best-popup-option} ? > CLICK
Mind2Web是另一個重要的測試集,它強調了跨任務、跨網站和跨領域的泛化能力。這個測試集包含了1000多個任務,涉及200多個不同的網站和多個領域(如旅行、購物、社交媒體等)。
實驗設置
研究者在Mind2Web上同時測試了AWM的離線模式(AWM Offline)和在線模式(AWM Online)。
主要結果
- 跨任務測試:
- AWM Offline (GPT-4): 45.1% 步驟成功率
- 基準方法(MindAct): 36.2% 步驟成功率
- 相對提升: 24.6%
- 跨網站測試:
- AWM Online: 33.9% 步驟成功率
- 基準方法: 30.1% 步驟成功率
- 絕對提升: 3.8個百分點
- 跨領域測試:
- AWM Online: 35.5% 步驟成功率
- 基準方法: 18.6% 步驟成功率
- 絕對提升: 16.9個百分點
這些結果清楚地表明,AWM在各種不同的場景下都能顯著提升AI助手的表現,特別是在跨領域的任務中,improvement非常顯著。
結果分析
通過這些實驗,我們可以得出以下幾個重要的結論:
- 顯著提升性能: AWM無論在哪種測試場景下,都能顯著提升AI助手的任務完成能力。
- 更高效的執行: 使用AWM的AI助手通常能用更少的步驟完成任務,這說明它學會了更有效的操作方式。
- 強大的泛化能力: AWM展現出了優秀的跨任務、跨網站和跨領域泛化能力,這意味著它學到的工作流具有廣泛的適用性。
- 在線學習的優勢: 在一些場景下,特別是面對全新的領域時,AWM的在線模式表現得更好,說明實時學習和適應的能力非常重要。
- 基礎模型的重要性: 實驗結果顯示,使用更強大的基礎模型(如從GPT-3.5升級到GPT-4)可以進一步提升AWM的效果。
本文轉載自 ??芝士AI吃魚??,作者: 芝士AI吃魚
