AgentCPM-GUI:強化微調(RFT)賦能的移動設備 GUI 智能體
大家好,我是肆〇柒。當下,移動設備已成為人們日常生活與工作的核心交互樞紐。從早起解鎖手機查看消息,到工作時在各類應用間切換處理任務,圖形用戶界面(GUI)操作的高效性與智能性正深刻影響著我們的 productivity(生產力)與 accessibility(可訪問性)。目前,隨著大型語言模型(LLM)與多模態大型模型(MLLM)的飛速發展,自主 AI 智能體在 GUI 領域的應用迎來重大突破。本文將聚焦一款由清華大學、中國人民大學及 ModelBest 公司聯合研發的創新性移動 GUI 智能體 ——AgentCPM-GUI,深度了解其如何憑借強化微調、緊湊動作空間設計以及高質量數據集,在多語言 GUI 操作領域實現卓越性能,為移動設備智能化交互注入全新活力。也為我們落地智能體應用帶來深度的借鑒意義。
移動互聯網發展多年,安卓生態系統已成為全球數十億用戶每日數字任務的核心交互界面。從生活服務類應用滿足衣食住行需求,到社交平臺維系人際關系網絡,GUI 操作的便捷性與智能性直接決定了用戶使用體驗的優劣。然而,現有 GUI 智能體的發展進程卻受到多重嚴峻挑戰的制約。
一方面,數據質量和規模的瓶頸需要突破。目前多數公開數據集依賴合成生成或模擬器錄制,這類數據不僅噪聲水平高,而且語義多樣性匱乏。以模擬器錄制為例,其在模擬真實用戶行為時往往難以捕捉到細微且復雜的操作意圖,導致模型在學習 GUI 組件精確定位、復雜推理以及長距離規劃時力不從心。另一方面,推理泛化能力的短板限制了智能體在實際場景中的應用潛力。純模仿學習范式下的模型極易對訓練見過的界面模式產生過擬合現象,一旦遭遇新場景或界面布局的微小變動,原本的規劃策略便瞬間失效,任務執行成功率大幅下滑。
此外,語言和區域覆蓋的局限性進一步加劇了 GUI 智能體發展的不平衡。過往研究過度聚焦于英文 GUI,而對中文等非英文移動生態的關注度嚴重不足。以中文移動應用生態的特殊性為例,其界面設計規范、語言提示元素與交互邏輯均與英文應用存在顯著差異。例如,中文應用中常用雙字節字符、特殊的表情符號以及高度緊湊的布局方式,這些特性使得現有以英文為中心的 GUI 智能體在處理中文界面時出現定位偏差、語義理解錯誤等問題,極大地限制了其在全球多語言環境中的普適性與實用性。
為應對上述挑戰,AgentCPM-GUI 被提出,其創新性的技術方案與系統設計有望重塑移動 GUI 智能體的發展格局。
AgentCPM-GUI 核心解析
基本架構與關鍵特性總覽
AgentCPM-GUI 基于輕量級且高效的 MiniCPM-V 模型構建,擁有 80 億參數規模,使其在保證性能的同時具備出色的運行效率。這款智能體能夠以智能手機截圖作為輸入源,精準解析并自主執行各類用戶指定的安卓任務,無縫適配中英文應用生態。其核心優勢體現在以下關鍵特性之中:
高質量 GUI 定位能力 :通過在大規模雙語 Android 數據集上的預訓練,AgentCPM-GUI 深度學習了 GUI 組件的視覺特征與語義信息,從而在復雜多變的界面環境中實現對按鈕、輸入框、標簽、圖標等組件的精準定位與語義理解。例如,在面對一款全新金融類應用的登錄界面時,它能迅速識別 “用戶名輸入框”“密碼輸入框” 以及 “登錄按鈕” 的位置與功能,為進一步的任務執行奠定堅實基礎。
廣泛的中文應用適配性 :針對中文移動應用生態的特殊性,AgentCPM-GUI 進行了深度優化。它能夠熟練操作 30 + 款主流中文應用,涵蓋地圖導航類如高德地圖,生活服務類如同城旅游,社交類像微信、微博,以及影音娛樂類如愛奇藝、騰訊視頻等。在這些應用中,無論是復雜的多級菜單操作,還是基于中文文本內容的搜索查詢,它均能應對自如,有效突破了語言障礙對 GUI 智能體發展的限制。
強化微調賦能的推理規劃能力 :借助強化微調技術,AgentCPM-GUI 實現了從 “被動模仿” 到 “主動思考” 的跨越。在執行任務前,模型能夠基于當前界面狀態與任務目標進行多步推理,生成合理的操作序列。以在電商應用中查找特定商品為例,它會先分析當前頁面布局,確定搜索框位置并點擊進入,再輸入商品關鍵詞,隨后根據搜索結果頁面的展示邏輯進行篩選與瀏覽,最終定位到目標商品,整個過程體現出 strong 的邏輯推理與規劃能力。
緊湊高效的動空間設計 :為提升在移動邊緣設備上的執行效率,AgentCPM-GUI 設計了一套精簡的動作空間。通過采用緊湊的 JSON 格式表示動作,平均每個動作僅需 9.7 個 token,大幅減少了輸出長度與計算開銷。例如,一個簡單的點擊操作可以表示為 {"POINT":[480,320]}
,滑動操作則表示為 {"POINT":[500,200],"to":"down"}
,既保證了語義的完整性,又優化了運行時的資源利用率,使其在算力有限的移動設備上能夠流暢運行,響應迅速。
深度科研細節:漸進式訓練方法論
數據集構建的藝術
AgentCPM-GUI 的卓越性能始于其精心構建的數據集。研發團隊投入大量精力收集中文安卓應用的 55K 軌跡、470K 步驟,全面覆蓋生活服務、電子商務、地圖導航、社交、視頻、音樂 / 音頻、閱讀 / 學習以及生產力等八大功能領域,確保數據的豐富性與多樣性。為避免過擬合,他們還整合并去重多個公共英文數據集,形成統一的數據集框架,有力支撐跨語言、跨應用的行為建模。
在數據收集過程中,團隊采用多維度的質量保障措施。一方面,利用參數化指令模板結合 GPT-4o 生成多樣化的查詢指令,再經人工審核去除錯誤與重復內容,并通過 GPT-4o 進行改寫以拓展詞匯覆蓋范圍。另一方面,在真實的安卓手機上進行軌跡采集,借助定制的數據記錄器僅記錄經人工確認的點擊、長按、滑動、文本輸入等操作及其關聯的 UI 元數據,有效過濾掉模擬器錄制中常見的噪聲事件,確保數據的真實性與可靠性。
漸進式訓練流程的精妙
AgentCPM-GUI 的訓練流程遵循從感知到行動、再到推理的漸進式學習路徑,包含三個關鍵階段:
階段一:視覺感知與定位預訓練 :聚焦于提升模型的底層感知與定位能力。研發團隊收集大量 OCR(光學字符識別)任務數據以及組件定位任務數據,使模型能夠精準學習 GUI 組件與文本描述之間的空間與語義對應關系。例如,通過學習大量帶有標記區域的圖像與對應文本內容的數據對,模型可以準確識別出圖像中特定文本的位置與內容,為后續的任務執行提供可靠的視覺基礎。此階段混合 50% 的通用多模態 SFT 數據,不僅規整了視覺模塊,還讓模型吸收 GUI 特定的線索,在 12M 樣本的訓練下,模型在視覺感知任務上展現出色的性能,但此時其在高層次任務語義理解和規劃方面仍較為薄弱。
階段二:監督微調(SFT) :基于第一階段預訓練的模型,對自然語言指令與 GUI 任務執行軌跡數據進行監督微調。這一階段使模型學會將自然語言指令映射到具體的操作動作,生成符合語境的有效動作序列。
第二階段訓練參數:有監督微調
例如,當接收到 “打開應用菜單并選擇設置選項” 的指令時,模型能夠根據已學習的軌跡數據,生成相應的點擊操作序列來完成任務。在訓練過程中,為增強跨語言泛化能力并減少過擬合風險,團隊將中文語料與英文語料進行混合訓練,并對英文數據集進行去重處理。同時,在 SFT 階段引入初步的思考生成,為后續強化微調階段的推理優化奠定基礎。共使用 6.9M 實例進行監督微調,使模型在中英雙語環境下均能生成較為合理的操作序列。
階段三:強化微調(RFT) :采用 Group Relative Policy Optimization(GRPO)算法對模型進行強化微調,著重提升其推理決策能力。
第三階段訓練參數:強化微調
GRPO 算法通過組內比較替代傳統 PPO 算法中的價值critic,對每個查詢 q,當前策略 πθold 采樣 N 個響應 {o1,…, oN},為每個響應分配標量任務獎勵 {r1,…, rN}。通過組內比較計算方差減少的優勢估計,然后使用帶 KL 散度懲罰的裁剪目標更新策略。在訓練過程中,模型的策略會根據環境反饋的獎勵信號動態調整,以生成更具適應性與高效性的操作序列。例如,在面對界面布局變化或任務目標更新時,推理優化器能夠引導模型重新規劃操作路徑,選擇最優的操作序列以達成任務目標。這種基于 GRPO 的強化微調策略,使 AgentCPM-GUI 能夠突破單純模仿學習的局限,實現更具適應性與創造性的任務規劃與執行。
關于本訓練框架的概述
上圖展示了 AgentCPM-GUI 的完整訓練框架,涵蓋了從視覺感知預訓練到監督微調再到強化微調的全過程,幫助我們更直觀地理解模型能力培養的路徑。
動作空間設計的巧思
AgentCPM-GUI 的動作空間設計精簡而高效,包含六種原子動作類型及其靈活組合方式:
POINT 動作 :用于指定屏幕上的一個坐標點進行點擊操作。它接收一個整數元組(x,y),坐標范圍歸一化至 [0,1000],以當前窗口的左上角為原點,右下角為(1000,1000)。例如,{"POINT":[500,500]}
表示在屏幕中心位置執行點擊操作。此外,POINT 動作還可與 duration 參數結合,表示長按操作;與 to 參數結合,表示從當前點向指定方向或坐標滑動的操作,如{"POINT":[500,200],"to":"down"}
表示從坐標(500,200)向下方滑動。
to 動作:專門用于實現界面內的滾動操作。它可以指定滾動方向,取值包括 “up”(向上)、“down”(向下)、“left”(向左)、“right”(向右),或者與 POINT 動作配合,定義從一個坐標點到另一個坐標點的滑動軌跡。例如,{"to":"up"}
表示在當前界面內向上滾動,而{"POINT":[200,300],"to":"right"}
則表示從坐標(200,300)向右滑動。
TYPE 動作:用于在當前輸入焦點處輸入指定文本。它接收一個字符串作為參數,例如{"TYPE":"Hello, world!"}
表示在文本輸入框中輸入 “Hello, world!” 字符串。這一動作在需要進行文本輸入的任務場景中至關重要,如登錄賬號、搜索查詢等操作。
PRESS 動作:用于觸發設備的特殊按鍵,包括 “HOME”(返回桌面)、“BACK”(返回上一界面)、“ENTER”(確認輸入)等。這些按鍵操作在安卓系統的導航與交互中頻繁出現,通過 PRESS 動作,模型能夠模擬用戶對設備按鍵的按下操作,實現界面的切換與任務的推進。例如,{"PRESS":"BACK"}
表示按下返回鍵,回到上一界面。
STATUS 動作:用于更新當前任務的狀態,包括 “continue”(繼續執行)、“finish”(任務完成)、“satisfied”(任務條件已滿足)、“impossible”(任務無法完成)、“interrupt”(任務中斷)、“need_feedback”(需要用戶反饋)等。例如,當模型檢測到任務目標已達成時,可生成{"STATUS":"finish"}
動作,終止后續操作。
duration 參數:用于指定動作持續的時間長度,以毫秒為單位。它可以獨立使用,表示等待操作,如{"duration":1000}
表示等待 1000 毫秒(即 1 秒);也可以與其他動作結合使用,表示長按或滑動的持續時間,如{"POINT":[480,320],"duration":2000}
表示在坐標(480,320)處進行時長為 2000 毫秒的長按操作。
通過緊湊的 JSON 格式表示這些動作,AgentCPM-GUI 在保證動作語義清晰完整的同時,極大地減少了輸出長度與 token 消耗。例如,一個包含點擊操作和思考過程的完整輸出可能如下所示:
{"thought":"根據用戶指令,當前需要點擊登錄按鈕完成登錄操作。在分析當前界面后,確定登錄按鈕位于屏幕中央偏右位置。","POINT":[729,69]}
其中,thought 字段記錄了模型的思考過程,為操作提供了語義解釋;POINT 動作則指定了具體的點擊坐標。這種設計提升了模型在移動設備上的運行效率,還便于開發者對模型的輸出進行解析與處理。
AgentCPM-GUI 的示例操作
上表展示了一些具體的動作示例,使我們能更清晰地了解 AgentCPM-GUI 的動作空間設計。
技術架構的底層邏輯
MiniCPM-V 的選型智慧
AgentCPM-GUI 的底層架構基于 MiniCPM-V,這款輕量級的視覺 - 語言模型在其設計之初便充分考慮了移動設備應用場景的需求。MiniCPM-V 擁有 80 億參數,這使得它在具備強大表達能力的同時,能夠保持相對較低的計算資源消耗與推理延遲,完美適配移動設備的硬件條件限制。
其模型結構深度融合了視覺編碼器與語言解碼器,通過多層的交叉注意力機制實現視覺信息與語言指令的高效交互。在處理 GUI 操作任務時,視覺編碼器首先對輸入的截圖進行特征提取,捕捉屏幕中各類 GUI 組件的視覺特征與空間布局信息;語言解碼器則對自然語言指令進行語義解析,提取任務目標的關鍵語義要素。隨后,交叉注意力機制將視覺特征與語言語義進行深度融合,使模型能夠精準理解任務目標與當前界面狀態之間的關系,從而生成合理有效的操作動作。
模塊間協作的機制
三個訓練階段分別針對感知、行動、推理能力進行強化,各模塊之間緊密協作,共同實現端到端的 GUI 操作流程:
1. 感知預訓練階段 :視覺編碼器模塊專注于學習 GUI 組件的視覺特征表示,包括按鈕的形狀、顏色、圖標樣式,文本標簽的字體、大小、位置等信息。通過大量的 OCR 與組件定位任務訓練,該模塊能夠精確提取屏幕中各類組件的視覺特征,并將其轉換為高維特征向量,為后續的任務執行提供豐富的視覺信息基礎。
2. 監督微調階段 :引入語言解碼器模塊與操作生成器模塊。語言解碼器對自然語言指令進行語義解析,將其轉換為語義向量;操作生成器則基于視覺編碼器提取的視覺特征與語言解碼器輸出的語義向量,學習生成對應的操作動作。此時,模型通過聯合訓練,逐漸學會將指令語義與視覺場景相結合,生成符合任務目標的操作序列。
3. 強化微調階段 :推理優化器模塊被激活。該模塊基于前兩個階段學習到的感知與操作生成能力,通過強化學習算法對操作序列進行優化。它根據環境反饋的獎勵信號,動態調整操作生成策略,使模型能夠生成更具適應性與高效性的操作序列。例如,在面對界面布局變化或任務目標更新時,推理優化器能夠引導模型重新規劃操作路徑,選擇最優的操作序列以達成任務目標。
各模塊之間通過共享參數與梯度信息,在訓練過程中不斷調整與優化自身的權重與結構,最終實現緊密結合與高效協作。在實際推理過程中,輸入的截圖與指令依次經過視覺編碼器、語言解碼器、操作生成器與推理優化器的處理,最終輸出精準的操作動作,實現從視覺感知到任務執行的完整閉環。
實驗驗證:性能的全面度量
基準測試的選擇依據
鑒于公共基準測試在 GUI 智能體評估領域的廣泛應用與權威性,AgentCPM-GUI 選擇在 AndroidControl、GUI-Odyssey、AITZ 等經典基準測試上進行全面性能評估。這些基準測試涵蓋了從簡單界面操作到復雜多步驟任務的廣泛場景,能夠充分衡量模型在不同類型任務中的表現。
同時,為彌補現有基準測試在中文 GUI 評估方面的空白,團隊引入了自行構建的中文 GUI 基準 CAGUI。CAGUI 基準包含豐富的中文安卓應用操作任務,從地圖導航中的地點搜索到社交應用中的消息發送,全面覆蓋中文用戶的日常操作場景。通過在 CAGUI 上的評估,能夠精準衡量模型在中文語言環境下的 GUI 操作能力,為多語言 GUI 智能體的研究與發展提供重要的參考依據。
評估指標的考量維度
評估指標體系由類型匹配(Type Match,TM)與精確匹配(Exact Match,EM)兩部分構成,二者相輔相成,全面刻畫模型的性能表現:
類型匹配(TM) :關注預測動作類型與真實動作類型的匹配程度。例如,若模型預測出點擊操作而真實動作確實是點擊,則 TM 指標計為正確。這一指標主要衡量模型對任務操作類型的判斷能力,反映其對任務語義的高層理解水平。在復雜的多步驟任務中,即使部分操作參數存在偏差,只要操作類型正確,TM 仍能體現出模型對任務執行流程的合理性把握。精確匹配(EM) :在 TM 的基礎上進一步要求動作參數完全正確。以點擊操作為例,不僅操作類型需為點擊,預測的坐標點還需與真實坐標點在預設的容差范圍內(通常根據屏幕分辨率與組件大小確定合理閾值)才能判定為 EM 正確。這一指標對模型的操作精度提出更高要求,直觀反映其在實際設備操作中的成功率與可靠性。
結合 TM 與 EM 兩項指標,研發人員能夠全面深入地了解模型在不同任務場景下的優勢與不足,為后續的優化與改進提供明確的方向指引。
關鍵實驗結果解讀
Grounding 定位能力測試
在 CAGUI 基準測試的 Fun2Point、Text2Point 和 Bbox2Text 三項任務中,AgentCPM-GUI 憑借其卓越的感知與定位能力,分別取得了 79.1%、76.5% 和 58.2% 的準確率,平均準確率達到 71.3%,顯著超越其他基線模型。
在CAGUI基準測試的Fun2Point、Text2Point和Bbox2Text子任務上對GUI定位準確率進行評估,加粗和下劃線分別表示最佳和第二好的結果
上表提供了 CAGUI 基準測試中各模型在 Fun2Point、Text2Point 和 Bbox2Text 任務上的具體準確率數據,直觀地展示了 AgentCPM-GUI 在 GUI 定位能力上的優勢。
例如,在 Text2Point 任務中,面對復雜多變的中文界面文本布局,AgentCPM-GUI 能夠精準定位到指定文本字符串的位置,這得益于其在大規模雙語數據集上的預訓練以及精心設計的漸進式訓練流程。相比之下,多數基線模型在 Bbox2Text 任務中表現不佳,準確率低于 5%,主要歸因于它們難以在視覺區域與文本內容之間建立精準的對應關系,尤其在處理小字體、復雜背景以及文本密集排列的中文界面時,定位精度大幅下降。
動作預測能力測試
在多個基準測試中,AgentCPM-GUI 的 TM 和 EM 指標均展現出顯著的領先優勢。
五個GUI Agent基準測試中,按類型匹配(TM)和精確匹配(EM)衡量的步驟級動作預測性能。加粗和下劃線分別表示最佳和次佳結果。*OS-Atlas在GUI-Odyssey基準測試中使用了不同的訓練/測試分割,因此無法直接比較
上表列出了 AgentCPM-GUI 在 AndroidControl、GUI-Odyssey、AITZ 以及 CAGUI 等五個 GUI Agent 基準測試上的 Type Match(TM)和 Exact Match(EM)性能指標,突顯了其在各類任務場景中的卓越表現。
在 AndroidControl-Low 數據集上,其 TM 達到 94.39%,EM 達到 90.20%;在更具挑戰性的 GUI-Odyssey 數據集上,TM 為 90.85%,EM 為 74.96%;而在中文專屬的 CAGUI 基準測試中,TM 高達 96.86%,EM 達到 91.28%。這些數據有力證明了 AgentCPM-GUI 在復雜多步驟場景以及中文語言環境下的強大泛化能力與推理規劃能力。通過對比發現,在面對長距離依賴、多步驟決策以及界面布局動態變化的任務時,其漸進式訓練方法與強化微調策略能夠有效提升模型對任務執行路徑的優化能力,使其在保持高操作類型準確性的同時,顯著提高動作參數的精確度,從而在 EM 指標上拉開與競爭對手的差距。
強化微調效果評估
通過對比強化微調(RFT)階段前后的模型性能,可以清晰地看到強化微調對模型推理能力的顯著提升作用。
消融研究比較了RFT前后AgentCPM-GUI的性能
上表展示了強化微調前后 AgentCPM-GUI 在不同數據集上的性能對比,說明了 RFT 對提升模型 Exact Match 準確率的重要作用。
在 AndroidControl-Low、GUI-Odyssey 和 AITZ 等數據集上,RFT 后模型的 Exact Match 準確率分別提升了 [具體提升數值],例如在 GUI-Odyssey 數據集上,RFT 前 EM 為 [X]%,RFT 后提升至 74.96%。這表明強化微調階段通過引入環境反饋與獎勵信號,引導模型對操作序列進行深度優化,使其能夠更好地應對復雜任務場景中的不確定性與動態變化,生成更具適應性與魯棒性的操作序列。
AgentCPM-GUI訓練集和驗證集上的獎勵曲線
上圖展示了 AgentCPM-GUI 在訓練集和驗證集上的獎勵曲線,反映了 RFT 過程中模型的優化趨勢和良好的泛化能力。
模型局限性剖析
盡管 AgentCPM-GUI 在 GUI 智能體領域取得了顯著的成果,但其仍存在一些局限性有待克服。
- 泛化能力瓶頸 :在面對全新的應用領域、未知類型的應用程序以及動態變化的界面布局時,模型的泛化能力受到一定限制。例如,當遇到一款采用全新交互設計 paradigm(范式)的創新型應用時,由于訓練數據中缺乏對該類界面布局與交互邏輯的覆蓋,模型可能無法準確理解界面元素的功能與操作方式,導致任務執行失敗率上升。此外,不同應用之間的組件布局差異、交互邏輯復雜度以及視覺設計風格的多樣性,也對模型的泛化能力提出了更高的要求。
- 多模態交互局限 :目前的 AgentCPM-GUI 主要依賴視覺信息進行 GUI 操作,對于復雜的多模態交互任務支持不足。在實際應用中,用戶可能通過語音指令、手勢操作以及文本輸入等多種模態與設備進行交互。然而,AgentCPM-GUI 在融合視覺、語音、文本等多種模態信息進行綜合理解與決策方面存在短板,難以滿足復雜多模態指令的理解與執行需求。例如,在語音指令與視覺場景存在語義關聯的情況下,模型無法有效整合兩者信息,從而影響任務執行的準確性和效率。
- 動作空間的拓展性不足 :盡管當前的動作空間設計已經能夠滿足大多數常見 GUI 操作需求,但在面對一些復雜的交互操作(如多指手勢、3D 觸控操作等)時,現有的動作表示方式顯得力不從心。這限制了模型在高端應用與專業領域中的操作能力,無法充分發揮現代移動設備豐富多樣的交互功能。
深入剖析模型局限性
泛化能力瓶頸的深層次原因 :不同應用界面布局的多樣性與復雜性是導致泛化能力瓶頸的關鍵因素。例如,一些應用可能采用獨特的三層式菜單結構,而另一些應用則可能使用創新的滑動式交互邏輯。這些差異使得模型在訓練過程中難以接觸到所有可能的界面布局模式,從而在面對新應用時出現特征提取與任務理解的困難。目前,領域內針對泛化能力提升的前沿方法包括數據增強技術與元學習策略。數據增強技術通過模擬多樣化的界面風格與布局形式,如隨機改變組件的大小、顏色、位置等,使模型在訓練過程中接觸更廣泛的視覺變化,從而增強其對不同界面風格的適應性。元學習策略則側重于培養模型快速適應新任務的能力,通過在訓練中引入多種不同但相關的任務,使模型學會如何利用少量的新數據快速調整自身的參數與策略,以適應新領域的任務需求。
多模態交互局限的根源分析 :多模態交互局限主要源于模型當前的感知模態覆蓋范圍有限?,F有的 AgentCPM-GUI 僅依賴視覺信息進行操作決策,而忽略了語音、手勢等其他模態所蘊含的豐富語義信息。在實際交互場景中,語音指令可能包含用戶的情感、語調等非語言信息,手勢操作則能夠傳達空間位置、動作意圖等視覺難以捕捉的內容。為了突破這一局限,學術界與工業界正在積極探索多模態融合技術。例如,構建多模態融合模塊,通過深度神經網絡將不同模態的信息映射到統一的語義空間,實現視覺、語音、文本等多模態信息的有效整合。同時,開展多模態預訓練,在大規模多模態數據集上進行聯合訓練,使模型能夠學習到不同模態之間的語義關聯與交互模式,從而在面對多模態指令時能夠進行準確的語義解析與聯合決策。
動作空間拓展性不足的改進方向 :動作空間拓展性不足限制了模型對復雜交互操作的支持能力。例如,現代移動設備支持多指手勢操作,如雙指縮放、三指滑動等,這些操作在專業繪圖、地圖瀏覽等應用中具有重要作用。目前,拓展動作空間的可能方向包括引入手勢軌跡點序列與壓力級別等參數,以詳細表示復雜手勢操作的細節。同時,研究如何將這些復雜動作與現有動作進行有機組合,形成更加靈活的操作序列,以適應高端應用中的復雜交互需求。例如,設計一種復合動作表示格式,將多指手勢的起始位置、移動軌跡、結束位置以及壓力變化等信息進行編碼,使模型能夠理解和執行復雜的交互操作,充分發揮移動設備的交互潛力。
未來研究方向展望
針對上述局限性,未來 GUI 智能體的研究可著重探索以下幾個方向:
模型架構優化與泛化能力提升 :引入先進的注意力機制變體(如動態路由注意力、層次化注意力等)以及元學習策略,使模型能夠快速適應新領域的數據特征與界面布局模式。通過在訓練過程中引入多樣化的領域風格遷移技術,增強模型對不同應用視覺風格的魯棒性。例如,采用基于生成對抗網絡(GAN)的界面風格遷移方法,使模型在訓練數據中接觸更多樣化的界面風格與布局形式,從而提升其跨領域的泛化能力。
動作空間的拓展與豐富 :融合多模態交互動作,如語音指令觸發、手勢操作組合等,使模型能夠支持更加豐富多樣的交互方式。針對復雜手勢操作,設計相應的動作表示格式與參數定義,例如通過引入手勢軌跡點序列與壓力級別等參數,擴展動作空間的表達能力。同時,研究如何將這些復雜動作與現有動作進行有機組合,形成更加靈活的操作序列,以適應高端應用中的復雜交互需求。
多模態交互能力強化 :構建多模態融合模塊,深度整合視覺、語音、文本等多種模態信息處理流程。利用多模態預訓練技術,在大規模多模態數據集上進行聯合訓練,使模型能夠學習到不同模態之間的語義關聯與交互模式。例如,通過構建視覺 - 語音 - 文本三模態的關聯學習任務,讓模型理解同一語義內容在不同模態下的表達形式,從而在面對多模態指令時能夠進行準確的語義解析與聯合決策。
知識增強與跨領域適應性提升 :結合知識圖譜技術,將領域知識、常識知識以及操作流程知識等先驗信息融入模型,增強模型對任務的語義理解與邏輯推理能力。采用遷移學習方法,通過在源領域與目標領域之間建立知識遷移橋梁,使模型能夠利用源領域的知識經驗快速適應新領域的任務需求。例如,針對辦公類應用與生活服務類應用之間的跨領域任務遷移,提取兩者在操作流程與界面布局上的共性知識,作為遷移學習的知識基礎,加速模型在新領域的適應過程。
實際應用案例:從理論到實踐的跨越
案例一:小米 12S 上的嗶哩嗶哩視頻觀看與點贊
在小米 12S 設備上,用戶希望使用 AgentCPM-GUI 完成在嗶哩嗶哩應用中觀看李子柒最新視頻并點贊的任務。以下是詳細的執行流程與模型思考邏輯:
1. 初始界面分析與操作 :模型首先接收手機主屏幕截圖,根據用戶指令 “去嗶哩嗶哩看李子柒最新視頻并點贊” 進行語義解析,確定任務目標。在分析主屏幕界面時,它通過視覺感知模塊識別出嗶哩嗶哩應用圖標的位置,生成點擊操作 {"POINT":[396,470]}
,打開應用。
2. 搜索操作執行 :進入嗶哩嗶哩應用后,界面顯示為推薦視頻列表。模型根據任務目標判斷需要進行搜索操作,定位到搜索欄位置并點擊 {"POINT":[390,62]}
。隨后,生成文本輸入操作 {"TYPE":"李子柒"}
,在搜索框中輸入關鍵詞。
3. 搜索結果處理與視頻播放 :點擊搜索按鈕 {"POINT":[920,64]}
后,模型進入搜索結果頁面。在結果列表中,它通過分析視頻標題與封面圖片等視覺與文本信息,定位到李子柒的個人主頁入口或最新視頻縮略圖位置 {"POINT":[192,267]}
,點擊進入視頻播放界面。
4. 點贊操作完成 :視頻開始播放后,模型持續監測界面狀態,等待視頻加載完成并出現點贊按鈕。一旦檢測到點贊按鈕位置,立即生成點擊操作 {"POINT":[141,490]}
完成點贊任務。最后,輸出 {"STATUS":"finish"}
表明任務執行完畢。
在 B 站上的 Demo 用例
上圖直觀地演示了 AgentCPM-GUI 在小米 12S 設備上完成嗶哩嗶哩視頻觀看與點贊任務的操作流程,讓我們能更清晰地看到模型在實際應用中的表現。
在整個過程中,AgentCPM-GUI 準確理解用戶指令,靈活應對不同界面布局與操作需求,精準執行每一步操作,充分展現出其在實際應用中的高效性與可靠性。
案例二:網易云音樂歌曲搜索與播放
另一個典型案例是用戶要求在網易云音樂應用中搜索并播放歌曲《大城小事》。AgentCPM-GUI 的操作流程如下:
1. 搜索框定位與點擊 :模型接收當前屏幕截圖后,識別出網易云音樂應用的搜索欄位置,生成點擊操作 {"POINT":[356,63]}
,激活輸入焦點。
2. 歌曲關鍵詞輸入 :執行文本輸入動作 {"TYPE":"大城小事"}
,將歌曲名稱輸入到搜索框中。
3. 觸發搜索操作 :點擊搜索按鈕 {"POINT":[916,59]}
,提交搜索請求。
4. 搜索結果篩選與播放 :在搜索結果列表中,模型通過分析歌曲名稱、歌手信息以及專輯封面等多維度信息,定位到目標歌曲《大城小事》的位置 {"POINT":[550,370]}
并點擊播放。
5. 任務完成判定 :確認歌曲進入播放界面后,輸出 {"STATUS":"finish"}
,結束任務執行流程。
在網易云音樂上的 Demo 用例
上圖展示了 AgentCPM-GUI 在網易云音樂應用中搜索并播放歌曲《大城小事》的任務執行過程,體現了其在音樂類應用任務處理中的高效性和準確性。
該案例再次證明了 AgentCPM-GUI 在處理中文音樂類應用任務時的強大能力,無論是對搜索流程的精準把控,還是對播放界面元素的正確識別與操作,均體現出其卓越的 GUI 操作性能,有效提升用戶在移動音樂場景下的 productivity 與 accessibility。
開源生態:共享與協作的力量
項目開源
AgentCPM-GUI 的研發團隊秉持開放共享的理念,將項目的全部核心資源開源至 GitHub 平臺。開源內容涵蓋模型訓練與評估代碼、CAGUI 基準測試數據以及模型檢查點文件,為全球開發者與研究人員提供了一個透明、可訪問且可復現的研究基礎。代碼遵循 Apache-2.0 協議,保障了使用者在遵循協議條款的前提下,能夠自由地對代碼進行修改、分發與商業應用,極大地促進了技術的傳播與創新。
快速上手實踐指南
為了幫助開發者與研究人員快速掌握 AgentCPM-GUI 的使用方法,團隊提供了詳盡的環境配置與模型部署指南。從依賴環境安裝、模型文件下載,到推理代碼示例,每一步均配有清晰的說明與示例代碼。例如,在推理部分,展示了如何加載模型與 tokenizer,如何構建輸入消息格式,以及如何解析模型輸出結果,使用戶能夠迅速搭建起開發環境并開始應用探索。
以下是 Qwen2.5-VL-7B 數據示例:System Message:
You are a helpful assistant.
# Tools
You may call one or more functions to assist with the user query.
You are provided with function signatures within <tools></tools> XML tags:
<tools>
{"type": "function", "function": {"name_for_human": "mobile\_use", "name": "mobile\_use", "
description": "Use a touchscreen to interact with a mobile device, and take screenshots.
* This is an interface to a mobile device with touchscreen. You can perform actions like clicking,
typing, swiping, etc.
* Some applications may take time to start or process actions, so you may need to wait and take
successive screenshots to see the results of your actions.
* The screen's resolution is 1092x2408.
* Make sure to click any buttons, links, icons, etc with the cursor tip in the center of the element.
Don't click boxes on their edges unless asked.", "parameters": {"properties": {"action": {"
description": "The action to perform. The available actions are:
* `key`: Perform a key event on the mobile device.
? This supports adb's `keyevent` syntax.
? Examples: \"volume\_up\", \"volume\_down\", \"power\", \"camera\", \"clear\".
* `click`: Click the point on the screen with coordinate (x, y).
* `long\_press`: Press the point on the screen with coordinate (x, y) for specified seconds.
* `swipe`: Swipe from the starting point with coordinate (x, y) to the end point with coordinates2 (
x2, y2).
* `type`: Input the specified text into the activated input box.
* `system\_button`: Press the system button.
* `open`: Open an app on the device.
* `wait`: Wait specified seconds for the change to happen.
* `terminate`: Terminate the current task and report its completion status.", "enum": ["key", "click",
"long\_press", "swipe", "type", "system\_button", "open", "wait", "terminate"], "type": "string
"}, "coordinate": {"description": "(x, y): The x (pixels from the left edge) and y (pixels from
the top edge) coordinates to move the mouse to. Required only by `actinotallow=click`, `actinotallow=
long\_press`, and `actinotallow=swipe`.", "type": "array"}, "coordinate2": {"description": "(x, y):
The x (pixels from the left edge) and y (pixels from the top edge) coordinates to move the
mouse to. Required only by `actinotallow=swipe`.", "type": "array"}, "text": {"description": "
Required only by `actinotallow=key`, `actinotallow=type`, and `actinotallow=open`.", "type": "string"}, "time":
{"description": "The seconds to wait. Required only by `actinotallow=long\_press` and `actinotallow=wait`.", "type": "number"}, "button": {"description": "Back means returning to the previous
interface, Home means returning to the desktop, Menu means opening the application
background menu, and Enter means pressing the enter. Required only by `actinotallow=system\
_button`", "enum": ["Back", "Home", "Menu", "Enter"], "type": "string"}, "status": {"
description": "The status of the task. Required only by `actinotallow=terminate`.", "type": "string", "
enum": ["success", "failure"]}}, "required": ["action"], "type": "object"}, "args\_format": "
Format the arguments as a JSON object."}}
</tools>
For each function call, return a json object with function name and arguments within <tool\_call></
tool\_call> XML tags:
<tool_call>
{"name": <function?name>, "arguments": <args?json?object>}
</tool_call>
User:
The user query: [user_request]
Current step query: low_lew_instruction (included only when low_lew_instruction is defined)
Task progress (You have done the following operation on the current device): [history_actions]
[current_screenshot]
Assistant:
[thought_and_action]
從Qwen2.5-VL-7B到AgentCPM-GUI的動作空間映射
上面提供了 Qwen2.5-VL-7B 模型的數據示例及動作空間映射到AgentCPM-GUI 的具體信息,為實踐者在不同模型間動作空間轉換時提供了參考。
Qwen2.5-VL-7B的推理超參數
上表列出了 Qwen2.5-VL-7B 的推理超參數設置,這些信息對實踐者在進行模型推理時的參數配置具有指導意義。
此外,團隊還提供了 Hugging Face 推理與 vLLM 推理兩種模式的代碼示例,滿足不同用戶在不同場景下的需求。對于希望進一步定制與擴展模型功能的用戶,開源代碼中包含了模型微調的訓練腳本與配置文件,詳細說明了訓練參數的調整方法與訓練流程的控制方式,為深度開發提供了有力支持。(具體請見本文的參考資料開源部分)
AgentCPM-GUI:推動 GUI 智能體發展的重要一步
AgentCPM-GUI 創新性的漸進式訓練方法、高質量數據集構建、緊湊動作空間設計以及強化微調策略,在多個基準測試中取得了卓越的性能表現,有力推動了多語言 GUI 智能體的發展進程。AgentCPM-GUI 的主要研究貢獻可概括為以下幾個方面:
1. 高質量中英文 Android 數據集的構建 :研發團隊克服了數據收集與標注過程中的諸多困難,打造出包含 55K 軌跡、470K 步驟的大規模雙語 Android 數據集。這一數據集涵蓋了豐富的應用類型與操作場景,并且通過嚴格的質量控制流程確保數據的真實性和多樣性,為 GUI 智能體的訓練提供了寶貴的新資源,填補了現有數據集在中文 GUI 領域的空白。
2. 漸進式訓練方法的提出 :創新性地設計了涵蓋視覺感知預訓練、監督微調以及強化微調三個階段的漸進式訓練流程。這一方法論體系使模型能夠逐步學習從基礎的視覺感知技能到復雜的推理規劃能力,有效解決了純模仿學習模型泛化能力差、推理能力弱的問題。通過各階段訓練目標的合理設置與訓練數據的精心組織,模型在不同層次的任務執行能力上均得到顯著提升,為 GUI 智能體的訓練提供了一種高效且可擴展的范式。
3. 緊湊動作空間的設計與優化 :針對移動設備資源受限的特點,設計了一套精簡高效的動空間表示方案。通過采用緊湊的 JSON 格式與合理的動作抽象層次,大幅減少了動作輸出的長度與計算開銷,提高了模型在邊緣設備上的運行效率與響應速度。這一設計提升了模型的實際應用價值,也為后續動作空間的拓展與優化提供了良好的基礎架構。
4. 多基準測試性能突破 :在 AndroidControl、GUI-Odyssey、AITZ 以及 CAGUI 等多個權威基準測試中,AgentCPM-GUI 取得了領先的成績,特別是在中文 GUI 設置中表現出色,充分證明了其方法論與技術架構在多語言環境下的有效性與優越性。這些實驗結果為 GUI 智能體技術的實用化與產品化提供了有力的性能背書,加速了相關技術從實驗室走向實際應用的進程。
5. 開源推動研究生態發展 :作為首款開源的支持中英文應用的 GUI 智能體,AgentCPM-GUI 為全球研究人員與開發者提供了一個開放、共享的研究平臺。通過開源模型訓練評估代碼、基準測試數據以及模型檢查點,團隊降低了 GUI 智能體研究的入門門檻,促進了知識共享與技術交流,激發了社區的創新活力,推動了多語言 GUI 智能體研究向更深層次發展。
我通讀了 AgentCPM-GUI 的研究成果以后,給我的感受就是,AgentCPM-GUI 對 Agent 在 RFT 上的流程太有示范作用了,給了我非常好的學習案例。在當下移動設備已成為我們生活與工作的延伸,AgentCPM-GUI 讓我們看到了 AI 如何從Paper走向實踐,如何從實驗室的創新轉化為提升應用 productivity 與 accessibility 的實際工具。它在多語言支持上的突破,打破了語言的隔閡,為全球不同地區的用戶帶來了同等便捷的智能交互體驗。
從技術層面來看,AgentCPM-GUI 的漸進式訓練方法論給我留下了深刻的印象。這從感知到行動、再到推理的分階段學習策略,平衡了模型在不同能力維度上的發展需要。這種設計理念適用于 GUI 智能體,同時也可以為其他AI應用的開發提供非常寶貴借鑒,要感謝開源呀。
另外,AgentCPM-GUI 緊湊動作空間的設計,在移動設備資源受限的現實條件下,通過優化動作表示方式來提升運行效率,這種兼顧性能與實用性的思維,正是推動技術 GUI Agent 在端側落地的關鍵。它提醒我們在追求技術卓越的同時,要對用戶需求與使用環境做深刻洞察。在移動設備上,資源有限是一個不可忽視的現實問題。因此,如何在保證功能完整性的前提下,盡可能地減少計算開銷和資源占用,也是我們在設計 GUI Agent 時需要重點考慮的。
還有 AgentCPM-GUI 的局限性,比如,泛化能力的瓶頸這種踩坑經驗的分享非常寶貴。AgentCPM-GUI 真是值得深度研究的開源案例。