Agent操縱手機/電腦螢幕的全面綜述


MLNLP

社群是國內外知名的機器學習與自然語言處理社群,受眾覆蓋國內外NLP碩博生、高校老師以及企業研究人員。


社群的願景是促進國內外自然語言處理,機器學習學術界、產業界和廣大愛好者之間的交流和進步,特別是初學者同學們的進步。
轉載自 | 夕小瑤科技說
有沒有想象過,如果有一天,我們和最常用的電子裝置的互動方式發生了改變,生活將會出現怎樣翻天覆地的變化?
隨著科技的進步和經濟的發展,手機和電腦不再是極少數人才可以使用的“奢侈品”,它們成了大部分人日常生活的一部分,從最初的大塊頭到越來越移動輕薄,從全部按鍵到全部觸屏,語音助手的出現也給很多使用者帶來新的體驗。這些“進化”都不同程度上帶來了生活效率的變革,讓電子裝置可以更好地為人類所用。
隨著 LLM 以及 Agent 應用的飛速發展,LLM 作業系統也不再是天方夜譚,或許會帶來下一場大變革。它到底是怎樣實現的呢?微軟等機構的研究者們最近就帶來了一篇詳細綜述,讓我們一起來看看!
論文標題:
Large Language Model-Brained GUI Agents: A Survey
論文連結:
https://arxiv.org/pdf/2411.18279
我們主要從以下七個方面來詳細揭秘,其中關鍵技術和資料收集部分是非常重要的環節,會展開具體介紹。

發展歷程

我們知道“羅馬不是一天建成的”,在我們今天看到的 LLM-brained GUI Agent 之前,這一領域的技術也經歷了非常顯著的演變。
早期的時候,更多的是基於規則和指令碼的自動化系統,之後隨著機器學習的出現和發展,更智慧、更自適應的系統得以實現,而近幾年隨著 LLM 的發展壯大,自然語言互動成為了主要的互動方式。
下圖便展示了近幾年的發展成果。

關鍵技術和流程設計

是怎樣的關鍵技術和流程設計帶來了其飛速的發展呢?
我們主要從操作環境、模型推理、動作執行和記憶這幾個方面詳細來介紹一下,這些技術也構成了如今 LLM-brained GUI Agent 的主要流程。
透過這樣的框架,可以實現對使用者的自然語言指令進行處理,然後解析 GUI 的當前狀態,再執行模擬人類操作的動作,從而完成使用者的任務這一複雜流程。

操作環境(Operating Environment)

首先來看一下操作環境。
如上圖右下角所示,指的是 Agent 執行的場景,主要有移動平臺、Web 平臺和桌面平臺,不同的平臺所面對的情況也大不相同。
移動平臺需要處理手勢識別、應用導航及特定平臺約束如許可權限制,Web 平臺需要應對動態內容、響應式佈局及非同步更新如 AJAX 請求,而在桌面平臺,Agent 可以利用系統級自動化 API 獲取 UI 元素資料,並執行復雜的多視窗操作。

Prompt Engineering

Prompt Engineering 是 Agent 與 LLM 互動的關鍵部分。
它會將使用者指令、環境感知資料(如截圖、UI 元素)整合成結構化輸入,最大程度上提高輸出的質量。其中使用者指令(User Request)就是整個任務的目標,模型會將其拆解成具體可執行的步驟,而環境感知資料(Environment State)也就是 GUI 的當前狀態,可以提供視覺資訊,再加上其他補充資訊(Complementary Information),經過 prompt 在格式和語境的最佳化,便組成了一個完整的 prompt。
而其中格式和語境最佳化也是提高 LLM 推理效果的核心所在。

模型推理(Model Inference)

考慮了操作環境和 prompt 設計,讓我們來看看其他環節。
先來看一下模型推理,這是實現智慧化任務規劃與執行的核心,主要包括規劃,動作推理、補充資訊這三個方面。
首先,需要 LLM 根據使用者輸入的任務描述規劃初步規劃(Plan),明確任務步驟及其順序。
之後根據計劃,模型要進行動作推理(Action),識別需要執行的具體動作,例如點選、輸入、拖拽等。
除此之外,針對複雜任務,模型可能還需要生成輔助資訊作為補充資訊(Complementary Outputs),例如中間步驟的描述或額外的使用者指令,以確保任務順利完成。
這三部分藉助 LLM 的能力,將使用者的指令轉變為了可執行的步驟。

動作執行(Action Excecution)

在推理階段生成計劃後,Agent 需要執行具體動作,將指令轉換為能夠直接影響 GUI 的操作,模擬人類互動,比如介面操作,原生 API 呼叫,AI 工具的使用等。

記憶(Memory)

介紹到這裡,關鍵的流程已經基本包括了,但還有一個模組那就是記憶機制,在多步驟任務中也是至關重要的。
它可以跟蹤 Agent 的先前動作、任務進度和環境狀態,確保任務連貫性並提高適應性,主要分成短期記憶和長期記憶。
短期記憶負責記錄當前任務相關的上下文資訊,而長期記憶則儲存跨任務的經驗資料,如下圖詳示。
當然,除了上述提到的關鍵模組之外,研究人員還可以使用其他更高階的技術,比如多 Agent 框架(multi-agent system)、自反思機制(self-reflection)、強化學習、自適應(self-evolution)等技術,進一步提高 Agent 應對複雜場景的能力。
直觀的示例大家可以參考下圖。

資料收集

瞭解了基本的流程框架和關鍵技術組成,接下來讓我們看一看資料獲取。我們都知道,高質量的資料對於訓練和最佳化模型提高其表現是至關重要的,資料集有什麼特點,它們在 GUI 任務中會發揮怎樣的作用,以及資料要如何收集和處理,這些都是大家關注的重點。

資料組成

首先,讓我們先來看看到底需要哪些資料。和訓練普通的 LLM 不同,想要獲得一個高質量的 LLM-brained GUI Agent,資料需要包括使用者的互動記錄、截圖、UI 元素樹、任務描述、操作序列等。
比如收集真實使用者的操作行為(如點選、輸入、滑動),從 GUI 介面生成視覺資料和結構化資訊,記錄使用者的自然語言指令及其對應的操作步驟等等,這些都是這個場景裡不可或缺的關鍵資料。

收集方法

這些資料聽起來好像和我們平時接觸到的資料有所不同,它們該如何收集呢?有以下幾個方面可以考慮,比如自動化工具、使用者實驗或者公開資料集。
利用自動化測試框架(如 Selenium、Appium)可以生成大規模互動資料,透過模擬實際操作場景可以捕獲使用者在特定任務下的互動資料,當然也可以使用已有的任務資料集(如 WoB 或 WebShop),這些都是可行的獲取辦法。

資料特點

收哪些資料和如何收取我們已經瞭解了,那如何保證它的有效性呢,這就需要我們首先考慮一下這些資料需要具備哪些必要的特徵,總結來說就是多樣性、高精度和動態性。
資料應涵蓋不同平臺、應用程式和任務場景,以增強 Agent 的泛化能力,更要確保資料中的 UI 元素標籤、動作序列及任務結果的準確性,還要捕獲 GUI 的動態變化(如響應式佈局、即時更新)以提高 Agent 的適應性。
只有資料的分佈上保證有這些特點,才算是好的優質的訓練資料。

資料處理

當然,為了保證資料質量,還可以透過標註、增強、合成的方式來進一步處理。
比如可以資料中的關鍵元素(如按鈕、選單)新增標籤,便於模型理解,可以透過截圖裁剪、UI 變換等方式,生成更多的訓練樣本以擴充套件資料規模,還可以利用現有模型生成虛擬資料,像生成模擬的任務指令與操作序列等。這些方法都可以幫助提高資料質量,讓其更好地發揮作用。

模型訓練

訓練資料我們也瞭解的非常清楚了,那麼用於訓練的 brain——模型該如何選擇呢?
根據綜述,我們可以使用開源的大語言模型(LLM),透過引入影像輸入如 GUI 截圖進行多模態微調,使模型能夠同時處理視覺和語言資訊,從而更好地理解 GUI,提升其任務規劃和工具使用等能力。
而另一個關鍵模組也就是動作執行部分,研究人員提出使用大型動作模型(LAM)來解決,讓其生成操作序列、處理觸控式螢幕互動和應用程式的特殊要求、處理桌面作業系統中的多工和多視窗互動等。再配合我們前面提到的高質量資料,Agent 便可以獲得“最強大腦”。

評價指標

我們知道了怎麼得到“最強大腦”和設計怎樣的流程讓 Agent 實現我們的要求,那麼該如何評價它的表現來看看它在實際應用中是不是有效和可靠的呢,可以從以下幾個方面考慮:
任務完成時間:衡量 Agent 執行任務所需的時間,時間越短表示效率越高,使用者體驗也會更好。
準確性:是否能夠根據使用者指令完成正確的操作,尤其是在複雜、多步驟的任務中,這是它能力的體現。
錯誤率:在執行任務過程中發生錯誤的頻率,較低的錯誤率表示可靠性較高,會讓使用者更信任。
適應性:在面對新任務或變化的 GUI 時的適應能力,較高的適應性使 Agent 能夠應對多變的環境,。
使用者滿意度:使用者對 Agent 執行任務的整體體驗,包括任務完成的速度、準確性及使用者互動的流暢度。

現有的 Agent 框架和應用

到此,我們便較為全面地瞭解了 LLM-brained GUI Agent 的在技術上的方方面面了,大家一定也好奇,它目前是否已經有一些明確的落地應用,接下來也讓我們更為詳細地瞭解一下。
首先是 Web 導航,這是最常見的應用之一,代表性的像 WebAgent,支援使用者透過自然語言與 Web 應用互動,完成複雜的瀏覽和操作任務,如“查詢最近的新聞”,“登入到電子郵件賬戶”,“播放某劇的第一季”等任務。
在移動平臺,像 AutoDroid,一個專為 Android 系統設計的框架,使用者可以透過簡單的指令實現對移動裝置的全面控制,特別是在手動操作繁瑣或不便時,提供了極大的便利,能夠執行如傳送訊息、啟動應用、查詢聯絡人等任務。
而在桌面環境中,很知名的像 UFO,一個專為 Windows 環境設計的 Agent,能夠透過自然語言執行檔案操作、應用管理及系統設定等任務,比如使用者可以要求“刪除桌面上的所有螢幕截圖”,大大提高了生產力,減少了重複性工作。

挑戰和發展方向

儘管 LLM-brained GUI Agent 在多個應用場景展示了出色的能力,但作為一個比較新的領域,仍面臨一系列挑戰,但同時也指明瞭發展方向,主要包括以下幾個方面:

多模態處理能力提高

多模態學習和處理能力的提高至關重要,研究者們要開發更強大的多模態模型,更好地將視覺資訊與語言資訊結合起來,跨越視覺和語言的鴻溝,使其能夠更好地理解和執行復雜的 GUI 互動任務。

跨平臺相容

使 Agent 在不同平臺上保持高效和準確的效能也是一個巨大挑戰。當前 Agent 往往需要針對不同平臺進行定製,這在實際應用中增加了複雜性和開發成本,跨平臺的 Agent 仍然是發展方向,透過開發通用任務模型,可以更加靈活地處理各類任務,快速適應新的環境和需求。

任務推理和規劃能力提高

現有的 LLM 在複雜任務的推理和計劃方面仍存在不足,尤其是在面對突發變化或不可預見情況時,Agent 可能難以做出準確判斷。新的方法亟待提出,比如引入更多基於強化學習的技術,使 Agent 能夠在執行過程中不斷最佳化決策。

隱私保護和安全性增強

在收集和處理使用者資料時,還可能會涉及到隱私和安全性問題,需要確保其在處理敏感資料時符合隱私保護標準,並採用先進的加密技術來保障資料的安全性。

總結

這篇綜述系統地介紹了 LLM-brained GUI Agent 的流程設計、關鍵技術、資料收集、模型選擇、評價方法、現有應用和未來發展方向,為研究者們提供了一本此領域研究的寶典。
希望這一技術能夠在更多行業和應用場景中發揮作用,隨著技術的成熟,成為現代自動化和智慧系統的重要組成部分,幫助使用者更高效地完成任務並提升生產力,讓我們暢想的未來儘快到來!
技術交流群邀請函
△長按新增小助手
掃描二維碼新增小助手微信
請備註:姓名-學校/公司-研究方向
(如:小張-哈工大-對話系統)
即可申請加入自然語言處理/Pytorch等技術交流群

關於我們

MLNLP 社群是由國內外機器學習與自然語言處理學者聯合構建的民間學術社群,目前已經發展為國內外知名的機器學習與自然語言處理社群,旨在促進機器學習,自然語言處理學術界、產業界和廣大愛好者之間的進步。
社群可以為相關從業者的深造、就業及研究等方面提供開放交流平臺。歡迎大家關注和加入我們。

相關文章