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