lazyBoy/docs/plan/LAZYBOY_OPTIMIZATION_CHECKL...

11 KiB
Raw Blame History

LazyBoy V3:48 項優化與採用判斷

本清單是 V3 主計劃第 18 節的獨立副本;產品契約、來源與實作細節以主計劃為準。共用/私人都保留;不是要求把所有候選工具都裝上。

18. 逐項改善清單:48 項,不等於 48 項全部替換

P0:正確性/產品邊界;P1:核心交付;P2:量測後採用;P3:可選/延後。以下是本案的待辦與候選,沒有實測提速倍數。每項在進度檔有 disposition、證據和回滾;已存在的優化要標「保留」,不要再次算成新成果。

A. 原生執行與工作流程

ID 項目 優先級 具體改動 要改善的問題 驗收/限制
O01 修正新圖交付 P0/必做 修反轉條件,分 captured/delivered,接管/換模型強制交付 無圖硬做造成的錯誤與重試 真值表+模型 request fixture;[R1]
O02 原生 exec P1/必做 命令在綁定 Computer 執行,直接取 stdout/stderr/exit 消除終端機打字與讀圖 兩模式 text-only 命令 0 screenshot
O03 原生 files P1/必做 重用並強化 SandboxProvider,不透過 sed 畫面讀檔 減少回合/避免 binary 毀損 range、Unicode、binary、shared 路徑;[R2–R4]
O04 持續 jobs 與 PTY P1/必做 短命令直接返回,長作業由 Runner 管理、事件通知/真取消 不請 LLM 反覆看是否做完 API 重啟可追 job;process-tree cancel
O05 批次程序/form macro P1/必做 已知步驟在受控 executor 內完成,有 pre/post checks 不逐列/逐 click 呼叫模型 每個子動作有 trace;失敗即停
O06 套件/連線常駐 P1/必做 暖 MCP instance、HTTP pooling、版本化 cache 降低啟動與重複連線成本 warm/cold 分測;不共享私人 env
O07 穩定 Runner transport P2/量測 優先現有安全 transport;高 overhead 才改持續 UDS/HTTP 通道 減少每次 docker exec 的啟動成本 實測 RPC 分解;不能公開 root socket
O08 readiness 分層 P1/必做 Runner、browser、desktop、viewer 各自 ready,按需啟動 讀 CSV 不先等整個桌面 no viewer/no desktop 的 native fixture

B. 模型與瀏覽器

ID 項目 優先級 具體改動 要改善的問題 驗收/限制
O09 按能力路由 P1/必做 原生/已授權 API 優先,DOM 次之,必要時視覺 避免 Gmail/Outlook 走慢 UI route rationale+權限拒絕不繞過
O10 工具 schema 按需載入 P1/必做 僅帶此 run 可用能力,版本/grant cache 縮短 context、避免選錯工具 revoke 後立即失效;記 schema tokens
O11 簡單任務不加 planner P1/必做 用既有一輪決策,複雜任務才 TaskPlan 避免多 agent/planner 套娃 記模型回合、TTFT、正確完成
O12 條件等待 P1/必做 wait_until/job events 有 deadline,替代固定 sleep 消除空等與毫無進度輪詢 未知 disabled 原因不無限等
O13 DOM snapshot 限量與增量 P2/量測 聚焦相關區域,revision 與失效 refs 完整處理 減少重傳巨大 page text 錯 revision 回 full;不能漏關鍵元素
O14 agent 圖片和 viewer 串流分離 P1/必做 高可讀截圖按需取,不把 VNC frame 全塞模型 減少模型圖片成本且維持辨識 縮放映射/force image/小字 fixture
O15 既有 browser/session 穩定 attach P1/必做 profile/tab/frame 明確綁定,禁止亂開替代瀏覽器 減少重登入與 stale reference 同 profile 不雙開;重啟正確失效
O16 驗證、有限恢復與模型升級 P1/必做 進度看 milestone;兩次同義錯誤換策略,難題才升級模型 停止二十分鐘空转 未知副作用先讀回;無固定提速保證

C. 顯示與遠端桌面

ID 項目 優先級 具體改動 要改善的問題 驗收/限制
O17 Xvfb+x11vnc → TigerVNC Xvnc P2/必做候選測試 一個 backend 同時提供 X server 與 VNC,保留 rollback 可能減少顯示匯出層與維護負擔 Cua/a11y/中文字/多 display/CPU/latency;[E5]
O18 Xvfb+x0vncserver 備選 P3/保留替代 只換 VNC 匯出層,不替換 X server Xvnc 相容性卡住時較小改動 不能說已移除 Xvfb;[E6]
O19 檢查 -noxdamage P2/對照 現有 x11vnc 關閉 XDamage;測啟用是否有重繪瑕疵 判斷掃描負擔能否降低 靜態/捲動/遮擋/影片測試;不可直接刪旗標;[R9]
O20 noVNC/websockify 與畫質檔 P2/調校 先保留;viewer FPS/壓縮可調,無 viewer 減少服務負載 改善觀看/頻寬,不假稱模型更快 文字清晰、輸入延遲、resize、proxy auth;[E7]
O21 精簡桌面而非先換 OS P2/調校 保留 XFCE/a11y;已 compositor=off,評估不必要 autostart 降低多 slot CPU/RAM 不重做既有優化;不破壞 DBus/a11y;[R9]
O22 Selkies 替代 viewer P3/可選 有高幀率/音訊需求才測;目前有 WebSocket 與選用 WebRTC 影音觀看可能較適合 硬體 encoder 實測、網路與前端成本;[E8]
O23 Xpra 替代 viewer P3/可選 需要單視窗發布/session forwarding 時測 另一路 remote app 體驗 非 noVNC drop-in;額外 client/輸入整合;[E9]
O24 Wayland/全面換桌面 P3/延後 保留 X11 driver 路徑,未有需求不全面搬遷 避免同時引入 capture/input 相容性變動 獨立 ADR/fixtures;不是目前速度主解法

D. 共用/私人與資源協調

ID 項目 優先級 具體改動 要改善的問題 驗收/限制
O25 雙模式正式保留 P0/必做 shared 多 bot→同 Computer;private 排他;不強制遷移 符合產品且避免破壞資料 assignment/member/slot/重建測試
O26 按 display/檔案/account 鎖 P1/必做 同資源排他、不同 display 與受控 job 並行 避免共用主機整機串行 Cua/DOM/human 同鎖;canonical shared key
O27 scope-aware pause P1/必做 接管 A、接管 display、暫停整機分開 B 不被 A 的無關操作凍結 真 barrier/fencing;HTTP unknown 誠實顯示
O28 共享 lifecycle/single-flight P1/必做 啟動、刪除、idle reaper 看全部 member/jobs 避免重複建立與誤停他人工作 member refcount、job/viewer 活性聚合
O29 程式共享與帳號授權分離 P0/必做 共享唯讀 package,per-agent runtime/bindings/grants 省重複安裝、不共享私人帳號 未知程式不能靠 annotations 保證安全
O30 公平排程與總配額 P1/必做 每 agent/Computer 的 CPU/RAM/jobs/requests 有界 抑制單 agent 拖慢所有人 壓力/OOM/慢 MCP;不無界並行
O31 Chromium /dev/shm 與程序回收 P2/量測 調 per-Computer shm、init/reaper、renderer 健康 減少可避免的崩潰與孤兒程序 不能盲開 ipc=host/SYS_ADMIN/no-sandbox;[E10]
O32 X11/DBus/profile 權限與 session P1/必做 per-slot identity,評估 Xauthority,系統安裝有管理鎖 避免串台與共用 session 風險 同 UID 非強隔離;Xvnc :1 port 對應測試

E. 可安裝外部工具/Outlook

ID 項目 優先級 具體改動 要改善的問題 驗收/限制
O33 Tool Manager 安裝入口 P1/必做 catalog、manifest/受控 package URL、本地上傳三種入口 新增工具不改核心 dispatch 實際 sample MCP 安裝,不只是設定畫面
O34 來源版本與完整性 P1/必做 pin digest/version,審核 hooks,安全解壓與 quota 更新可重現、防無界安裝 拒絕未審核 URL、路徑逃逸、錯 digest
O35 安裝/啟動/認證/授權分開 P1/必做 每階段顯示狀態、failure reason 和 scope 不再「裝好了卻不能用」 installed ≠ connected ≠ authenticated ≠ authorized
O36 熱啟用與 registry 更新 P1/必做 health/schema 驗證,原子登錄能力;grant 撤銷失效 不為加工具重啟整個 LazyBoy 正在執行 run 的能力版本與安全點更新
O37 版本更新/回滾/移除 P1/必做 新版本旁置,active job pin 舊版,bindings/reference GC 共用主機其他 agent 不受破壞 新增權限重新核准;共享套件引用仍存活
O38 OAuth/token broker P1/必做 Microsoft/Google 正規授權,scoped token、refresh single-flight 減少重登入與憑證混用 MFA/admin policy 正常接管;secret canary;[E11]
O39 Outlook Graph 外掛 P1/必做驗收 讀信→categories preview/apply/verify;寄信另授權 驗證架構不只 Gmail 特判 個人/工作帳號對應 scopes;[E12–E14]
O40 Outlook 批次/增量同步 P1/P2 Graph 20 子請求/逐項狀態;需要時 folder delta 減少網路回合及每次全信箱掃描 429/Retry-After/分頁/ImmutableId;[E15–E18]

F. 正確性、紀錄與可維護性

ID 項目 優先級 具體改動 要改善的問題 驗收/限制
O41 operation journal/outbox P0/P1 副作用前記 intent;斷線 durable 補送與去重 避免掉紀錄與重做工作 journal 故障不開始 mutation
O42 活動紀錄串流而非桌面演出 P1/必做 工具與 job 的結構化事件、實際耗時/結果 人可追查、不逼每步打字 noVNC 關閉仍可看進度
O43 artifact 存 Computer+脫敏 P1/必做 全文输出在 Computer,API 存摘要/reference,限量保留 避免 DB/context 被圖片/日誌塞滿 secret/大檔/retention/串流授權測試
O44 Task 驗證與郵件分類品質 P1/必做 API 200 不等於任務完成;測 precision/coverage/abstention 速度與正確性一起看 read-back/真實 fixture、失敗也計入
O45 衝突與冪等/未知效果 P1/必做 同 operation 不重做;same-file CAS;未知 API 先回讀 降低重送/覆蓋/重複外部副作用 不假稱通用 exactly-once/無損 undo
O46 部件健康與版本相容矩陣 P1/P2 Runner/display/Cua/browser/plugin 個別 probe/recover 失敗不用重啟整台 Computer 不影響其他成員;pin 上游版本
O47 已驗證 skill/流程重用 P2/後續 將常用流程保存語意步驟與 checks,環境變更可失效 降低每次從零探索 不保存密碼/舊座標;profile/版本變更重驗
O48 端到端+viewer 雙 benchmark P1/必做 分模型、工具、snapshot、queue、viewer,固定環境兩模式 找真瓶頸,不憑工具名字換底層 成功率/median/P95/CPU/RAM/可讀性;一項一改