AnyBot/bench/computer-use/README.md

59 lines
5.3 KiB
Markdown
Raw Normal View History

# 電腦操作量測
固定 8 題,在一台**測試用的 box** 上跑,記下每題成功沒有、步數、總時間(模型思考和工具各多少)、換了幾次路,以及每一步的過程(`transcript`)。改了 Bot 做事的方式之後,用它比較前後。
| # | 題目 | 應該走的路 | 檢查 |
|---|---|---|---|
| T1 | 時區改成東京 | 指令(box 沒有 systemd,改 /etc/localtime) | `/etc/localtime` 指到 Tokyo |
| T2 | 用計算機 App 算 1234 × 5678 | 畫面 | 答案是 7006652,而且 galculator 真的在跑 |
| T3 | Chromium 預設搜尋引擎改成 Bing | 畫面或瀏覽器 | Chromium 的設定檔寫著 bing(最多等 15 秒) |
| T4 | 照片依修改月份分資料夾 | 指令 | 三個資料夾各 4 張、最上層沒剩 |
| T5 | 建資料夾再改名 | 指令 | 新名字在、舊名字不在 |
| T6 | 裝 tree、回報版本 | 指令 | `tree --version` 跑得動 |
| T7 | 維基百科查台北 101 高度 | 瀏覽器 | 答案有 508 |
| T8 | 填表送出、回報確認碼 | 瀏覽器 | 確認碼正確(由六個欄位算出來) |
每題開始前:關掉上一題留下的桌面 App、做那一題的準備(以 box 的 root 執行),聊天從乾淨的狀態開始。
## 怎麼跑
絕對不要對真正的 box 跑。測試 box 要有自己的名字、自己的硬碟(`ANYBOT_BOX_VOLUME`,否則 AnyBot 會接手同一台 Docker 上原本的 box)和自己的映像檔名稱(`ANYBOT_BOX_IMAGE`,否則量新版本時會重建真正的 box 用的映像檔),資料夾要是複本:
```sh
B=<暫存資料夾> # 裡面放 state.template.json(一個 Bot、金鑰、local_never: true)和 data/box/config.json
env ANYBOT_BOX_NAME=anybot-box-bench ANYBOT_BOX_VOLUME=anybot-box-bench-home ANYBOT_BOX_IMAGE=anybot-box-bench:1 \
python3 -I run.py --bin <anybot 執行檔> --template $B/state.template.json --data $B/data \
--docker-host <Docker 主機> --out $B/results.json --runs 2 [--tasks T1,T3] [--keep-skills]
```
- `--keep-skills`:把上一題學到的技能帶到下一題(量「重播學會的做法」)。
- Bot 的 `step_model` 設 `"off"` 是每一步都用同一個模型;留空是「想的跟做的分開」。
## 2026-11-09 的結果(box 在 Mac 上的 Lima VM、gVisor;grok-4.7;每題 2 次)
| | 成功 | 總步數 | 總時間 | 模型思考 |
|---|---|---|---|---|
| 改之前 | 14/16 | 120 | 1114 秒 | 1015 秒 |
| 改之後,每一步同一個模型 | 16/16 | 88 | 824 秒 | 746 秒 |
| 改之後,想的跟做的分開(快速模型 grok-4.20-0309-non-reasoning) | 16/16 | 102 | 574 秒 | 471 秒 |
重播:時區那題第一次 9 步、49 秒並學到 2 個可重播的步驟,第二次直接重播 4 步、15 秒。內容每次不同的題目(填表、計算)只存做法、不存步驟。
量測途中找到、修好的:box 上的 sudo 被安全規則擋掉(時區題一直失敗的原因)、gVisor 裡 setuid 不起作用、元素編號每看一次就重編(同一步的第二個點擊會點錯)、背景視窗的元素排在前面、網頁編號不進 shadow DOM、box 的 `TZ=UTC` 讓改時區看起來沒效、開新 box 撞埠號(重試後沒網路)。
之後拿掉了 box 映像檔的 `ENV TZ=UTC`(box 版本 8)。已知還沒解決:快速模型在純畫面操作(計算機)比較笨手笨腳。
## 之後再量(v10:用名字點、批次 16 個、單行輸入框全選後整段貼上、出兩次問題就改用 Bot 的模型)
改 Chromium 搜尋引擎、Chromium 加書籤、Mousepad 存檔、填表、計算機,「分開」各 3 次、「不分開」各 2 次:25/25 成功、網址打壞 0 次;平均一題「分開」46 秒、「不分開」67 秒。先前最難的改搜尋引擎從 2–6 分鐘(還常失敗)降到 46–147 秒。
找到的:快速模型對編號會對錯(改用名字)、一串按鍵塞不進 8 個的批次、box 上一個鍵一個鍵打進 Chromium 網址列會被剛開啟的頁面和自動完成攪亂(冒號掉、舊字混進來)、box 判斷單行輸入框時多了「#14(」前綴所以全選和貼上沒執行、同時給名字和 (0,0) 時點到角落、快速模型在陌生對話框一直猜名字。
## 再加三題沒見過的 App(v11,box 版本 9 加上 gail)
lxappearance 換佈景、PCManFM 建資料夾、Mousepad 取代存檔(加上 Mousepad 存新檔),兩種模式各 2 次:16/16 成功。GTK 2 的 lxappearance 和 PCManFM 原本在 box 裡一個編號都沒有(少了 gail),「不分開」換佈景 203–455 秒 → 24–78 秒、PCManFM 514–655 秒 → 58–70 秒;「分開」的 PCManFM 從一次中途停下來問、一次 238 秒,變成 54–68 秒兩次都對,全程用檔案管理員。
## Mac mini 上實測(有螢幕錄製權限)
放大看時鐘(2 步、13 秒)、打開 Wi‑Fi 選單看連的網路(答對,選單關掉)、用 macOS 的「計算機」按按鈕算 1234×5678(螢幕上確實顯示 1,234×5,678 = 7,006,652,另外截圖親眼看過)、截圖描述畫面(1 步、22 秒),都沒有改任何設定。看到的問題:同一步重複點兩下把選單又關掉(已擋)、計算機按了「乘」之後有一瞬間讀不到前面的 App(已改成再讀一次)、快速模型照編號按又按錯(出兩次問題後交給 Bot 的模型才順)。