MKMK 的 AI 筆記
動手學大模型 12 問

第 10 篇/共 12 篇

AI 怎麼幫你操作手機?

閱讀約 8 分鐘(約 1,294 字)發布 分類 一人公司工作流+學習系列

#AI 代理#GUI#手機自動化

AI 怎麼幫你操作手機?

AI 看手機截圖、決定下一步點哪裡,還會替自己打信心分數,沒把握時就停下來問你。

本文目錄
  1. 一句話回答
  2. 為什麼值得知道
  3. 白話原理
    1. 何時該問人:OS-Kairos 的想法
  4. 教程裡實際做了什麼
  5. 動手試試
  6. 常見誤解
  7. 延伸閱讀

一句話回答

讓 AI 操作手機,核心是「看截圖、想下一步、輸出一個動作」不斷重複。它把螢幕當圖片看,輸出像「點座標 (454, 87)」「輸入文字」「往下捲」這樣的指令,再交給手機執行。上交大這章更進一步:讓 AI 替每個動作打一個信心分數,分數低就主動請人類接手。

為什麼值得知道

「AI 幫你訂餐廳、回訊息」這類展示,背後就是 GUI 智能體(GUI Agent,GUI 指圖形使用者介面)。它跟聊天機器人最大的不同是會「動手」。

會動手就代表會出錯。點錯一個按鈕,可能是多付一筆錢、刪掉一張照片。所以實用的關鍵不只是「會不會做」,還有「知不知道自己什麼時候不會做」,這也是你評估這類工具時最該問的問題。

白話原理

把 GUI 智能體想成一個坐在你旁邊、只能看螢幕的新同事:

步驟 新同事會做的事 GUI 智能體對應
1 聽你說要做什麼 讀取任務文字(例:打開音樂 App 搜尋某首歌並播放)
2 看螢幕 讀入目前的截圖
3 回想剛剛做過什麼 讀入「先前動作」紀錄
4 決定下一步 輸出一個動作,例如 CLICK 某座標
5 評估自己有沒有把握 給這個動作 1–5 分

教程的動作分兩類:基本動作有點擊(CLICK)、輸入(TYPE)、捲動(SCROLL);自訂動作有返回(PRESS_BACK)、回主畫面(PRESS_HOME)、確認(ENTER)和「做不到」(IMPOSSIBLE)。格式固定,模型好學也好檢查。

何時該問人:OS-Kairos 的想法

本章採用的 OS-Kairos 是一篇「自適應人機互動」研究。全自動容易闖禍,每步都問人又很煩。OS-Kairos 的做法是讓模型在輸出動作時,同時輸出自己的信心分數:

  • 分數高:照做,繼續下一步
  • 分數低:代表這一步可能超出它的能力範圍,交給人類決定

就像新同事說「這個我不確定,你看一下?」

教程裡實際做了什麼

工具與模型:多模態模型 Qwen2-VL-7B-Instruct(看得懂圖片的 70 億參數模型)、微調框架 LLaMA-Factory、OS-Kairos 開源資料集。

資料長什麼樣子:每筆有任務、截圖路徑、步驟清單、目前第幾步、先前動作、分數、模型動作(osatlas_action)、老師動作(teacher_action)和是否成功。

步驟:

  1. 下載 OS-Kairos 資料集與 Qwen2-VL-7B 權重,下載 LLaMA-Factory 原始碼。
  2. 寫一支轉換程式,把每筆資料包成對話格式(ShareGPT 格式)。使用者訊息是一段英文指示:列出可用動作、要求打 1–5 分,再填入任務、先前動作和截圖;助手回答是「action: 動作、score: 分數」。
  3. 在 LLaMA-Factory 的 data/dataset_info.json 註冊這份資料集。
  4. 修改 Qwen2-VL 的全參數微調設定檔,主要設定如下(摘自原教程,節錄):
stage: sft
finetuning_type: full
deepspeed: examples/deepspeed/ds_z3_config.json
template: qwen2_vl
learning_rate: 1.0e-5
num_train_epochs: 5.0
bf16: true

也就是監督式微調(SFT)、更新全部參數、用 DeepSpeed ZeRO-3 分散到多張卡、訓練 5 輪。

  1. 用 llamafactory-cli train 開始訓練。
  2. 用 llamafactory-cli webchat 開網頁介面推理:丟測試集或自己的手機截圖加同格式指示,模型回答下一步動作和信心分數。

硬體:原文寫明訓練至少要 3 張 80GB A100(範例指令用 8 張卡);推理範例用 1 張卡,顯存需求原文沒寫。

注意:教程做到「模型輸出動作與分數」為止,沒有接上真的手機自動點擊,執行端原文沒有涵蓋。

動手試試

老實說,完整照做要多張 A100,筆電和免費 Colab 做不到。實際的入門順序:

  1. 先讀資料:到 OS-Kairos 的 GitHub 頁面看資料格式,感受「任務→步驟→動作」怎麼拆。
  2. 跑轉換程式:資料前處理只是 Python 讀寫 JSON,筆電就能跑。
  3. 體驗多模態模型:把手機截圖丟給 Qwen2-VL,請它描述畫面、指出按鈕位置。7B 模型推理仍需要有一定顯存的 GPU,硬體不夠就改用線上服務。
  4. 觀察信心分數:有機會跑微調後的模型,就刻意給它沒看過的 App,看分數會不會下降。

常見誤解

  • 「AI 是讀 App 程式碼來操作」:本章是看截圖、輸出座標,像人用眼睛看螢幕。
  • 「GUI 智能體就是全自動」:OS-Kairos 的重點恰好相反,是知道何時該問人。
  • 「信心分數高就一定對」:分數是模型自己估的,沒見過的情況仍可能高分出錯。
  • 「微調 7B 模型一張顯示卡就夠」:本章採全參數微調,原文要求至少 3 張 80GB A100。

延伸閱讀

本文整理自上海交通大學《動手學大模型》第 9 章,原教程:https://github.com/Lordog/dive-into-llms/tree/main/documents/chapter9。內容由 MK 以自己的話解說,如有錯誤歡迎留言指正。

追蹤 MK,掌握最新 AI 工具應用

每週分享 GitHub 飆星實測、AI 工具教學與提示詞,短影片版都在社群。