From adc4759a6bba37558bd8ec73a11c9038a9d978d2 Mon Sep 17 00:00:00 2001 From: AnyBot Dev Date: Mon, 9 Nov 2026 17:20:13 +0800 Subject: [PATCH] Plan: M3 done (C3/C4/C7/S3) --- docs/plan-2026-11-improvements.md | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/docs/plan-2026-11-improvements.md b/docs/plan-2026-11-improvements.md index fbc2941..aa4cfd7 100644 --- a/docs/plan-2026-11-improvements.md +++ b/docs/plan-2026-11-improvements.md @@ -86,7 +86,7 @@ - 手機端 PWA 存 session 的提醒文案與「裝置清單+一頁登出」。 - ✅ 完成標準:可關密碼-only;竊得 session 可被單一裝置清單踢除。 -## S3. Prompt injection 防線(操控域的核心風險) +## S3. Prompt injection 防線 ✅ 2026-11:敏感詞控件點擊每問(直接模式亦同、無放行符);截圖塗黑卡號/OTP;讀进来的內容 `` 包夾+系統提示;keep_to_chosen 補測試;紅隊集 R1–R7 進 bench(`--tasks R1..R7`,手動閘門——CI 沒有模型金鑰與 box) 1. 瀏覽器/畫面的敏感動作白名單:送出付款、發訊息、刪除、對外發文 → 一律詢問(policy 規則層,非模型自決);網站來源(`browser_open` 的域)進政策判定。 2. 截圖遮罩:vault 已存卡號/密碼,截圖進模型前對照螢幕上可偵測的卡號/OTP 樣式做遮罩(正則+框選重繪)。 3. `keep_to_chosen`(B26 那類參數改寫)補整合測試,禁模型改寫 `computer`/vault 目標。 @@ -128,14 +128,14 @@ - 效益:打字進欄=1 呼叫(消掉 click+全選替換邊角case);被遮擋/其他桌面視窗可操作;快速模型不再對編號點錯(消掉 bench 記錄的這整類失敗)。 - ✅ 完成標準:T3/T8 與 lxappearance 題步數 −30% 以上;「編號點錯」在 v12 bench 歸零。 -## C3. 高層語意工具(依赖 C2) +## C3. 高層語意工具 ✅ 2026-11:`menu_click`/`fill_form`/`wait_for` 進 `computer` 工具(AX);batch 每步 `expect` 斷言(失敗即停+附截圖)。紅隊/多選單 App 的 bench 加題待 Mac 驗證 - `menu_click("檔案","新視窗")`:走 AX 選單樹(`app_menu_controls` 已會讀),3 回合→1。 - `fill_form(fields:[{name,value}])`:AX SetValue 逐欄填,1 回合+1 截圖。 - `wait_for(what, timeout)`:文字/元素出現或消失+逾時(box 的 `SETTLE_SH` 探測通用化);消掉截圖輪詢。 - batch 每步加 `expect` 斷言:失敗點自動帶截圖+原因回傳。 - ✅ 完成標準:T8 填表 ≤2 回合;新增 2 題 bench(多選單 App、長表單)步數達標。 -## C4. 控制樹 diff 回傳(快速模型只吃文字) +## C4. 控制樹 diff 回傳 ✅ 2026-11:每次截圖附「+/- 控件變化」(multiset diff,macOS+box 都有);快速模型每步少讀整張清單。token −40% 的對照組數據待量 - 每步回傳:控制清單變化(新增/消失/值變)+(僅主模型/審查步)截圖;`marks::fingerprint` 材料現成。 - 效益:每步少送一張 ~1.5k tokens 的圖→上下文膨脹慢 3 倍、摘要頻率降、TTFT 降。 - ✅ 完成標準:「分開跑」模式每回合 token −40%,成功率不降(bench 對照組)。 @@ -149,7 +149,7 @@ - 常見操作(音量、亮度、Wi-Fi、鎖屏、時區、截圖、App 內建指令)登記 CLI/AppleScript/Shortcuts/dbus 捷徑,系統指示明令「有捷徑先捷徑,GUI 是後備」;bench T1 已證指令路 9 步 vs GUI 2 分鐘。 - ✅ 完成標準:8 題中指令路佔 5 題以上、總步數 −25%。 -## C7. 迴路保護從字串比對改狀態碼(配合 H3) +## C7. 迴路保護從字串比對改狀態碼 ✅ 2026-11:noop 偵測改機器標籤 `[[noop]]`(`computer::NOOP_TAG`),控制流不再匹配中文句子;合同測試釘住「句子可改、標籤不能跑掉」 - 現況:`agent.rs:1144` 用 `output.contains("畫面和上一步完全一樣")` 判 noop——脆。 - 改:工具結果尾部機器欄位 `[status: ok|noop|blocked|needs_human]`,迴路偵測(`agent.rs:1095-1144`、卡住偵測)讀欄位不讀散文;聊天 UI 仍顯示人話。 - ✅ 完成標準:無字串比對迴路邏輯(單元測試反推)。