隻需一次人類示範,就能讓智能體适應新環境?
來自杭州電子科技大學和浙江大學的研究者,提出了一套新的智能體框架AutoManual。
該研究有效解決了智能體過度依賴人類專家提供的知識,難以自主适應新環境的問題。
通過模仿人類認識世界 " 記筆記 " 的過程,AutoManual 可以讓智能體執行任務成功率高達97%。
不僅如此,智能體在過程中學習的經驗還可以供人類閱讀,甚至給其他智能體提供規劃指導。
現有智能體對人類依賴較大
目前,基于大語言模型的智能體(LLM Agents)展現出強大的潛力,能夠自主完成各個領域的任務,如機器人規劃、遊戲角色控制與網站導航。
△AgentBench: Evaluating LLMs as Agents.Xiao Liu ( THU ) et al. arXiv.
然而,這些智能體往往是爲特定環境和特定任務設計的。
如果我們分析一個 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 國家重點實驗室。
論文鏈接:https://arxiv.org/abs/2405.16247
GitHub 地址:https://github.com/minghchen/automanual
— 完 —
投稿請發郵件到:
标題注明【投稿】,告訴我們:
你是誰,從哪來,投稿内容
附上論文 / 項目主頁鏈接,以及聯系方式哦
我們會(盡量)及時回複你
點這裏關注我,記得标星哦~
一鍵三連「分享」、「點贊」和「在看」
科技前沿進展日日相見 ~
>