molmoweb-op-v3
收藏资源简介:
## 相对 v2(molmoweb-op-v2-react)改了什么 ### 1. 截图整体错位一格(已修) 导出时丢掉了 `screenshot_001.png`(Chrome 无痕起始空白页)并从 1 重新编号,于是 磁盘 `k.png` == 源 `screenshot_{k+1}.png`(实测 150 条轨迹里 88.6% 如此)。而流水线 按 1-based 的 `source_step_idx` 取 `{s}.png`,拿到的是**这一步动作执行完之后**的画面。 后果比"图错位"更糟:图和文字互相矛盾。同一条样本里 `<think>` 写着 "I can see it displays November and December 2025... I will click the right arrow to move forward",配的图上日历已经翻好了。这是在教模型忽略图片。 已从 `/data2/MolmoWeb-HumanTrajs` 的 parquet 重建全部 66,220 张。 验收:逐张比对源 559/559 一致;jsonl 引用 53,172 张缺 0; 孤立 scroll 的垂直平移落在「本步图→下一步图」的比例 25% → 91.2%。 ### 2. 坐标被多缩放了一次(已修,影响 98.4% 的带坐标步) `patch_skeleton_1280.py` 按截图像素尺寸把坐标再缩放到 1280x720(乘 1280/w、720/h), 但**原始坐标本来就在 1280x720 视口空间里**。铁证:全库原始坐标上界恰好 x=1279 y=719, 而 8.0% 的 x 超出了它自己那张截图的宽度 —— 若在截图像素空间里这不可能。 修完点击点到"该动作造成的变化区"最近像素的距离:中位 27px → **9px**, 20px 以内的比例 40.0% → **73.3%**。think 正文里引用的坐标同步改正 7,836 处。 ### 3. 答案步缺最终画面(已补 3,383 条) stage1 里 FINAL 步的 `src_merge_indices` 为空,走了"复用上一张截图"分支,导致 末动作步之后不挂图 —— 模型写答案时看的是上一步的页面。源里其实有(末动作步 src 的 下一张),已补上。 ### 4. 合并 type 时把累积文本拼起来了(已修 151 处) 源里 `keyboard_type` 每步记的是**当前累积全文**(c → ch → chi → …),合并成一个 `type` 时该取最后一步,却首尾相接成了 `"DDJDJ DJ mDJ miDJ mixDJ mixeDJ mixer"`。 正确文本回源取回,不靠字符串还原。 ### 5. CoT 里不再出现显式坐标 用 glm-5.2 改写了 7,655 轮 `<think>`,把 `(543, 428)`、`y=264`、 `coordinatesx: 15, y: 811` 这类去掉,只留元素描述("the right arrow button at the top-right of the calendar")。`tool_call` 里的坐标一字未动。 判据只认坐标语境里的数值:`Toyota (2,880)`(车型数)、`triangle (2, 3), (1, 7)`(顶点)、 `roots (x=1, x=2)`(多项式根)这些必须保留,不能误删。 口径取舍说明:原来"先在 think 里说出坐标、再在 tool_call 给同一个数"是一种显式的 落点推理,去掉后模型是冷启动直接吐坐标。若落点表现变差,可回退到保留坐标的版本对照。 ### 6. loss mask 用多模态判官重做 原来的 mask 有两个缺陷:答案步用**纯文本**判官(而当时答案步根本没有最终截图,见第 3 条), 754/3,396(22.2%)被误判为"答案凭空出现";动作步用的 `prev_step_eval` 只看 "浏览器有没有执行成功",点歪了、点重了、把页面点崩了都算成功。 改用 **qwen3.8-max** 看图重判:给它整条轨迹的图(URL 传输,单窗口 24 张,窗口间留 3 步重叠),并明确告知"第 i 步的图是动作**前**的画面,效果要看第 i+1 步的图"。 动作步 52,041 mask 10,068 (19.3%) misop 3,264 误操作:点到与意图无关的位置,或把页面弄坏 repeat 2,744 重复步:与前面实质相同且无新进展 imprecise 2,127 交互不准:意图对但落点偏了,目标没响应 noop 1,933 无效果:页面无相关变化且未推进任务 答案步 3,333 mask 0 答案步判为 unsupported(答案没有证据支撑)的 **63 条轨迹整条丢弃**,不是只 mask 收口步 —— 末步凭空编答案,前面的动作步就是在为一个编出来的结论铺路。 --- ## 复现脚本(在 HybridWebAgent 仓库内) data_conversion/rebuild_op_images.py 从 parquet 重建截图 data_conversion/verify_op_images.py 图片三关验收 data_conversion/fix_op_trainset.py 修 bug 2/3/4 + think 坐标 data_conversion/extract_type_merge_text.py 回源取 type 真值 data_conversion/strip_cot_coords.py CoT 去坐标(glm-5.2) data_conversion/rejudge_step_mask.py 多模态重判 mask(qwen3.8-max) data_conversion/apply_step_mask.py 回填 mask + 丢弃无依据轨迹



