為什么 AI 能一句話操作手機和電腦?(GUI Agent 最新綜述)
隨著人工智能技術的不斷進步,大型語言模型(LLMs)正在改變我們與圖形用戶界面(GUI)的互動方式。本文綜述了如何利用LLMs增強GUI自動化代理的能力,通過自然語言指令實現對手機和電腦的智能操作。這種技術的發展不僅提高了自動化的靈活性和智能性,還為GUI自動化領域帶來了新的研究方向和應用前景。
來自《Large Language Model-Brained GUI Agents: A Survey》綜述總結
這篇文章要解決的問題是如何利用大型語言模型(LLMs)來增強圖形用戶界面(GUI)自動化代理的能力。具體來說,研究如何通過LLMs的解釋復雜GUI元素和基于自然語言指令自主執行動作來實現更智能、更靈活的自動化。
該問題的研究相關工作包括早期的基于腳本或規則的方法、近年來引入的機器學習和計算機視覺技術、以及最近的大型語言模型在GUI自動化中的應用。
利用大型語言模型(LLMs)來增強GUI自動化代理的方法:
架構和流程:一個基本的LLM驅動GUI代理的架構,包括操作環境、提示工程、模型推理、動作執行和內存管理五個主要組件。操作環境負責感知當前環境狀態,提示工程構建輸入提示以指導LLM進行推理,模型推理生成計劃和動作,動作執行模擬用戶操作,內存管理用于跟蹤多步驟任務的狀態。
平臺特定感知:針對不同平臺(移動設備、Web、桌面操作系統),代理使用不同的工具和技術來感知環境狀態。例如,移動設備使用Accessibility API,Web使用Selenium,桌面操作系統使用Windows UI Automation。
提示工程:提示工程是關鍵步驟,涉及將用戶請求、環境狀態、可用動作等信息整合成一個結構化的輸入提示。公式:Prompt=User Request+Agent Instruction+Environment States+Action Documents+Demonstrated Examples+Complementary Information
模型推理:模型推理部分將結構化提示輸入到LLM中,生成計劃和動作。LLM可以生成多種類型的輸出,包括規劃、動作和補充信息。
動作執行:動作執行部分將推理結果轉化為具體的用戶界面操作,如點擊、輸入文本、滾動等。代理還使用各種工具和技術來增強其操作能力,如API調用和AI工具。
關鍵問題及回答
問題1:LLM-brained GUI代理在架構和流程上有哪些關鍵組件?它們各自的作用是什么?
LLM-brained GUI代理的架構包括五個主要組件:操作環境、提示工程、模型推理、動作執行和內存管理。
操作環境:負責感知當前環境狀態,包括通過截圖、控件屬性和UI元素樹等方式獲取GUI的視覺和結構信息。
提示工程:將用戶指令和環境數據整合成結構化輸入,確保LLMs能夠理解任務需求并生成合適的動作。提示包括用戶指令、環境狀態、動作文檔、示范示例和補充信息等。
模型推理:通過LLMs生成計劃和動作。推理過程包括規劃和動作推斷兩個主要步驟。規劃部分將長期任務分解為可管理的子任務,并使用鏈式思維(CoT)等方法進行規劃;動作推斷部分則將規劃結果轉化為具體的動作序列。
動作執行:將推理結果轉化為實際的動作,這些動作可以是標準的UI操作、原生API調用或AI工具的使用。通過這些動作,代理能夠在GUI環境中執行復雜的任務。
內存管理:對于多步任務的執行至關重要。短期記憶(STM)用于存儲當前任務的相關信息,而長期記憶(LTM)則用于存儲歷史任務數據和策略。通過內存管理,代理能夠在多步任務中保持連續性和一致性。
這些組件共同確保LLM-brained GUI代理能夠高效、準確地執行復雜的GUI自動化任務。
問題2:LLM-brained GUI代理在數據收集和預處理方面有哪些具體的方法和步驟?
數據收集:
用戶指令:可以通過人工設計、現有數據集或LLM生成。人工設計的指令需要確保覆蓋各種實際應用場景,現有數據集可以提供初始的指令樣本,而LLM生成則可以擴展指令的多樣性和復雜性。
環境感知:包括GUI截圖、控件屬性和UI元素樹等。截圖可以通過屏幕捕捉工具獲取,控件屬性和UI元素樹則可以通過專門的工具和庫提取。
任務軌跡:需要記錄代理執行任務過程中的每一步操作,包括點擊、輸入、滾動等,以生成完整的任務軌跡。
數據預處理:
數據清洗:去除重復、無效或錯誤的數據,確保數據的準確性和一致性。
去重:識別并消除數據集中的重復項,避免對模型訓練造成干擾。
格式化:將數據轉換為適合模型訓練的格式,如統一的數據結構和編碼方式。
數據增強:通過變換、擴充和裁剪等手段增加數據集的多樣性和復雜性,提高模型的泛化能力。
通過這些數據收集和預處理步驟,LLM-brained GUI代理能夠獲得高質量、多樣化的訓練數據,從而提升其在復雜GUI環境中的表現。
問題3:LLM-brained GUI代理在模型推理和動作執行方面有哪些創新的技術和方法?
模型推理:
規劃和動作推斷:將長期任務分解為可管理的子任務,并使用鏈式思維(CoT)等方法進行規劃。動作推斷部分則將規劃結果轉化為具體的動作序列。
多模態處理:結合文本和圖像信息,提升模型對復雜GUI環境的理解能力。例如,使用視覺語言模型(VLM)和視覺變換器(ViT)結合文本和圖像數據進行推理。
強化學習:通過強化學習優化代理的動作選擇和執行策略,特別是在需要多步操作和長期規劃的任務中表現優異。
動作執行:
標準UI操作:包括點擊、輸入、滾動等基本的用戶界面操作。
原生API調用:利用特定應用的API進行更復雜的任務操作,如文件操作、網絡請求等。
AI工具的使用:集成OCR、圖像生成、數據分析等AI工具,提升代理在復雜任務中的表現。例如,使用DALL·E生成圖像,使用ChatGPT進行文本生成和問答。
這些創新的技術和方法使得LLM-brained GUI代理能夠在復雜多變的GUI環境中實現高效的自動化任務,提升了代理的適應性和智能化水平。
本文由人人都是產品經理作者【陳宇明】,微信公眾號:【碼個蛋】,原創/授權 發布于人人都是產品經理,未經許可,禁止轉載。
題圖來自Unsplash,基于 CC0 協議。
- 目前還沒評論,等你發揮!