基于原生 claude -p 与唯一 CallMLLM 工具完成 10×2×3 prompt-only ablation:B3 显著增加验证行为,但 Offline Total 的 case-level paired effect 仅 +0.0097,CI 跨过 0。
20260713-veriharness-v0-2
Multimodal Verification for Agentic Coding Loop
一篇 position / vision paper:论证 agentic coding loop 需要一个显式的 multimodal verification 环节,用来检查代码产物在渲染、截图、布局、空间关系和用户意图层面是否真的正确。Image-to-code 是最自然的实验载体与代表性实例,而非全部 scope。
这是什么
很多 coding-agent 任务的成功标准并不只存在于代码文本、编译结果或单元测试里,而是存在于最终可见的多模态产物里:页面是否和目标截图一致、UI 组件是否在正确位置、chart 是否表达了正确的数据关系、文字是否被遮挡或截断、prompt 里的视觉要求是否真的出现在渲染结果里。本项目把 multimodal verification 抬升为 agentic coding loop 中独立且必要的环节,并用最小实验观察它是否值得继续研究。
本看板按左侧目录分页组织。下面是各板块的入口——内容都直接放在各自页面里,便于阅读。
目录 / 快速进入
总览
core claim、显式 verification loop、verifier 设计原则、4 种实现选项。
核心验证 V1 →记录 V1 verification ladder、round/intermediate verification、L* 条件管理和版本化实验预设。
验证场景族 →7 个 task families(P0–P2)与首版 P0 package、case-card 设计。
内部迭代
用 case-h3/h6 的 12 条独立 native Claude Code 轨迹只比较 task constraints 与三条短 verification clauses:B 时长中位数约 8.95× A,但质量收益小且结构审计全部回退。
20260716-mentor-prompt-sanity-ablation
新建独立 Claude Agent SDK harness,用 H0P0/H0P1/H1P0/H1P1 分离 harness hard gate 与 verification policy prompt,并为后续 RL 保存结构化 trajectory。
20260712-veriharness-v0-1
V3 以 Verifier Ablation 为主实验:L2 Base/Scoped/Detail verifier 与 L3 Full/Hidden Gate/No Self-Check matched controls;旧 70-cell 三次采样作为 Stabi…
20260709-vdiff-image2code-v3-gate-score-evaluation
V2/L3-v1 hidden gate 仍运行并记录 Gate,且可早停;只是不把 gate fail detail 传给下一轮主 agent。另含 V2/L3 native 与 V2/L3-v2 no diff-align 对比。
20260701-vdiff-image2code-v2-harness-comparison
用 hard5 PDF image-to-HTML 任务比较 L0/L1/L2/L3/L8/L9,并同时提供 offline visual 与 VDiff rubric 两版最终评估。
20260627-pdf-image-to-html-core-verification-loop-v1
外部项目
把 VDiff image2html harness 证据规范化为只读的多工作区轨迹管理器,统一 Gallery、Run 档案、同 case 跨 run 比较、selected epoch 与 raw-event replay。
20260704-vdiff-vharness-visual-trajectory-viewer
独立复现 mentor 在困难 PDF-to-HTML 例子上搭建的复杂 workflow,并记录流程设计、数据、历史结果与案例。
20260617-vdiff-pdf-to-html-data-generation-loop
VDiff CSS 校准速记
skills/calibrate_css_spacing_v6.md 中文整理
这个 skill 的职责是:在字体已经由 1_font_fixed.html 修过以后,继续调整 HTML 的 CSS,使渲染出来的元素位置、宽度、间距和结构对齐尽量贴近 PDF 的目标 bbox。它不是重新生成页面,而是基于测量证据做 CSS 校准。
输入是某个 case 的 1_font_fixed.html、case 名、输出目录、job id 和 demo server;输出是 1_css_fixed.html。
Rubrics 全部通过,并且校准单元的 dT、dL、dW、dH 最大偏差都约 ≤ 10px。
Rubrics 决定是否完成;measurement 负责指出布局和间距偏差。delta 小不等于视觉一定正确。
校准流程
- 把输入 HTML 复制为
1_css_fixed.html,已有则复用,保留上一轮校准进度。 - 运行
ground_truth_v2.py生成或复用 skeleton、salient elements 和ground_truth.json。 - 后台启动
rubrics_gen.py,生成并过滤稳定 rubrics。 - 先读
ground_truth.json的skeleton,理解页面区域、嵌套和 out-of-flow 元素。 - 运行
measure.py --debug看 baseline delta;之后按 rubrics 和 delta 循环修 CSS、测量、checkpoint。
如何读测量结果
ground_truth.json 里的 skeleton 是页面结构导航:区域 bbox 显示空间分区,tree_id 显示 DOM 父子关系,out-of-flow 元素最后处理。layout_measurement.json 记录每个元素的目标值、当前值和 delta。
排查时按 tree_id 把 sibling 分组。如果容器和子元素有相似偏移,优先修容器;如果某个子元素 residual 很大,再单独修它。表格整体是校准单元,单元格主要用于发现列宽和对齐问题。
常用修复手段
letter-spacing。
表格 cell padding:表格过高时减少 th/td 的上下 padding,必要时设 border-spacing: 0。
Grid 重排:当 PDF 的行列、跨栏或非均匀列宽无法用普通 gap 表达时,重算 row/column track。
特殊换行:对 shape-outside、drop cap、复杂 wrapping 使用逐行 bbox 推导参数,不靠肉眼试错。
资产重提取:图片裁剪、纹理、阴影、透明度或比例本身错了,CSS 修不了,需要重新提取 asset。
硬约束
- 所有 CSS 数值都应从 ground truth bbox、measurement delta 或逐行 bbox 推导,不硬编码拍脑袋常量。
- 不要给 flex children 加 padding;不要轻易用
position: absolute,它会脱离文档流并破坏父子布局。 - 每轮修复后重新跑
measure.py;measurement 工具当黑盒使用,不读源码、不逆向。 - 字体大小调整是最后手段,优先使用
letter-spacing、max-width和容器宽度。 - 如果 rubrics pass count 下降,说明新改动引入回归,应先诊断或换方案,再继续。