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