一次示范讓Agent適應各種新環境,浙大杭電智能體框架入選NeurIPS
只需一次人類示范,就能讓智能體適應新環境?
來自杭州電子科技大學和浙江大學的研究者,提出了一套新的智能體框架AutoManual。
該研究有效解決了智能體過度依賴人類專家提供的知識,難以自主適應新環境的問題。
圖片
通過模仿人類認識世界“記筆記”的過程,AutoManual可以讓智能體執行任務成功率高達97%。
不僅如此,智能體在過程中學習的經驗還可以供人類閱讀,甚至給其他智能體提供規劃指導。
現有智能體對人類依賴較大
目前,基于大語言模型的智能體(LLM Agents)展現出強大的潛力,能夠自主完成各個領域的任務,如機器人規劃、游戲角色控制與網站導航。
AgentBench: Evaluating LLMs as Agents.Xiao Liu (TH
然而,這些智能體往往是為特定環境和特定任務設計的。
如果我們分析一個 LLM Agent 的系統提示詞(System Prompts),會發現它通常由這五個部分組成:
- 角色描述;
- 可供使用的動作函數;
- 輸出格式;
- 額外指示或要求;
- 人類專家的示例。
對于新的環境,其中的前三項可以根據新環境對已有模板做調整后很快速地定義好;
但對于后兩項提示詞,會需要人工匯總環境知識,并不斷調試這些提示,以及準備多個人類專家示例,才能使 LLM Agent在新環境中順暢運行。
那么,是否能讓智能體自己從環境交互中學習這些知識呢?
已有的一些工作使用自我反思self-reflection或技能庫skill library,來讓智能體在交互中自我提升,部分緩解了對人工的依賴。
然而,這些反思和技能并沒有用于對環境形成深入的理解,即理解環境的知識或機制。
因此,直接使用經驗中的技能來作為大模型的上下文示例,容易形成路徑依賴。
從人類認識世界過程獲得靈感
AutoManual框架有效地解決這一難題,其研究者從人類認識世界的過程中獲取了靈感——
當面對陌生的環境時,人類會通過探索發現、記錄與更新自身的理解來逐漸認識到新環境的規律;
而且,人類可以將自己的理解整理出來,以文本的方式傳授給他人。
AutoManual就效仿了這種過程來記錄和更新LLM Agent對環境的理解。
最終,AutoManual框架將生成的一本指導手冊,不僅可以提高智能體對新環境的適應性,還可以為較小的模型的規劃提供指導,并且易于人類閱讀。
僅需一個人類演示,AutoManual便在機器人規劃環境ALFWorld將智能體的成功率提高到97%,在網站導航環境MiniWoB++上的任務成功率則達到98%。
具體來說,AutoManual 框架整體由三個階段組成:
- Building階段:Planner Agent與Builder Agent合作從環境的交互中構建出一系列的規則。當規則超過最大限制時,Consolidator Agent將合并或刪除冗余的規則;
- Formulating階段:Formulator Agent將規則制定成一個Markdown格式的指導手冊;
- Testing階段:將指導手冊提供給測試時的Planner Agent,來評估效果。
△AutoManual框架總覽
首先在Building 階段,研究者受在線強化學習的啟發,使用了兩個交替的迭代過程來構建環境規則:
- 基于當前規則,Planner Agent與環境進行一輪交互;
- Builder Agent根據該交互軌跡使用規則系統來更新規則。
與傳統強化學習相比,基于文本的規則管理取代了樣本效率低下的參數優化。
具體而言,對于Planner Agent,研究者采用Python代碼來表示的可執行的計劃,這是因為已有工作表明使用代碼作為輸出能有效提升LLM Agent效果。
在每一輪的開始,Planner的輸入為目前已知的規則,技能庫或反思庫中相關的案例,當前的任務與初始觀測。
而每次Planner 的輸出分為四個部分:
- 對當前觀測的分析;
- 相關規則的解讀;
- 總體計劃;
- 一個劃分為多個步驟的Python代碼塊。
然后,代碼將在環境中執行,并得到反饋與新的觀察結果。
在這一整輪結束時,根據任務是否成功,結果可以分為三種情況:Direct Success、Indirect Success(發生錯誤但稍后解決)和 Failure。
對于不同情況,提示 Planner 相應地匯總技能代碼或反思,而這些技能和反思會存入技能庫或反思庫來輔助后續的任務完成。
△Planner Agent與環境進行交互形成Trajectory的過程
對于Builder Agent,其將根據Planner這輪的軌跡,使用規則系統的工具函數來編寫和更新規則。
為了促進規則管理,研究者引入了一個結構化的規則系統,規則系統中的每個規則都具有以下四個屬性:
- 規則的類型(分為了6種規則);
- 規則的內容;
- 規則的示例;
- 驗證日志。
然而,研究者發現Builder Agent在面對這種結構化的規則系統時,有時候會出現幻覺,例如從失敗的軌跡中得出成功經驗的規則。
為了降低錯誤創建規則的風險,研究者對Builder采用了case-conditioned prompting策略:
Builder首先需要分析并確定主要錯誤的來源為“Imperfect Rules”或“Imperfect Agents”,然后相應的針對性的提示會指導Builder進行規則管理。
△Case-Conditioned Prompting策略示例
在Building階段結束后,Formulating階段的目標是增強規則的可讀性和全局理解。
因此,作者選擇引入Formulator Agent對規則自動進行分類,總結每類的關鍵點,并以Markdown的格式將它們制定成一本指導手冊。
只需一個人類示例
為了測試AutoManual框架的效果,研究團隊在三個知名的交互式環境中進行了實驗:
- ALFWorld,一個家用機器人的虛擬環境,提供了基于文本的交互方式;
- MiniWoB++,一個模擬Web環境,智能體通過執行鍵盤和鼠標操作在網頁上完成各種任務;
- WebArena,一個逼真的Web環境,復制了現實的Reddit網站的功能和數據。
在Building和Formulating階段,所有Agent都配備了GPT-4-turbo (gpt-4-1106-preview)。
在Testing階段,Planner Agent將配備GPT-4-turbo 或 GPT-3.5-turbo,來評估生成的手冊是否可以指導較小的模型。
從ALFWorld任務的結果中可以看出,AutoManual需要很少的環境相關的專家先驗知識,只提供一個人類示例即可獲得十分出色的結果。
圖片
而對于另外兩個Web環境的結果,也可以得出相同的結論。
圖片
此外,AutoManual生成的 Markdown 手冊對人類閱讀也很友好。
通過分析AutoManual生成的手冊,可以看到其發現了許多有意思的環境規則。
比如在rule_2,類型為“Special Phenomena”的規則中說:
當使用微波爐時,即使里面有另一個物體,智能體拿著什么東西,并且沒有明確提到微波門是打開的,智能體也可以與它互動(例如,加熱一個物體)。然后其舉了一個例子,是在epoch_1中的經歷。
還有在rule_3中說:
Agent一次只能持有一個物體,并且必須在拿走另一個物體之前放下任何持有的物體。
因此,AutoManual 通過更深入地挖掘機制、更新和整合成功流程以及注釋重要細節來解決只使用技能的路徑依賴問題。
△ALFWorld環境中AutoManual生成的Markdown手冊
作者簡介
該論文由杭州電子科技大學和浙江大學等合作完成。
第一作者陳銘浩,現任杭州電子科技大學計算機學院特聘副教授,博士畢業于浙江大學CAD&CG國家重點實驗室。