AnyBot/bench/computer-use
王性驊 bcae66b21a A computer-use benchmark: eight fixed tasks on a throwaway box, timed step by step
bench/computer-use/run.py runs each task through `anybot --ask` with a fresh chat, checks the
result inside the box, and records success, steps, time split between model and tools, route
switches and a per-step transcript. It refuses to run against the real box (needs its own
ANYBOT_BOX_NAME / ANYBOT_BOX_VOLUME and a scratch data folder). --keep-skills carries learned
skills into the next run to measure replay. README has the tasks, how to run, and the
2026-11-09 numbers.

Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Uirha5F5gJt93t3yEx3XcS
2026-11-09 09:00:48 +08:00
..
README.md A computer-use benchmark: eight fixed tasks on a throwaway box, timed step by step 2026-11-09 09:00:48 +08:00
run.py A computer-use benchmark: eight fixed tasks on a throwaway box, timed step by step 2026-11-09 09:00:48 +08:00

README.md

電腦操作量測

固定 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 用的映像檔),資料夾要是複本:

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)。已知還沒解決:快速模型在純畫面操作(計算機)比較笨手笨腳。