案例截图评分规则 v3
本规则于 2026-10-22 启用。评分衡量归档证据中可见的任务成果与视觉质量,用于同主题内选择代表实验。截图及操作日志不能证明算法正确、真实手势追踪、全部交互、后端或性能;不同任务的分数不作为统一模型能力排名。
唯一现行机器定义是 scoring-rubric.json,按 topicId/promptId 登记八项任务检查及任务正文指纹。本文件是新增、导入、补拍及重评共用的执行规则;不再维护日期命名的待实施方案或另一份现行规则。全量复核的历史结果见 v3 报告,历史评分与规则快照留在 catalog/score-reviews/,不作为新案例的操作入口。
v3 针对旧方案的六类问题增加约束:拆开混合任务要求、分别记录视觉子项、统一桌面和手机取景、展开隐藏流程并补齐输入状态、绑定全部采集证据,以及明确区分可见成果与功能验证。后续案例直接执行本规则。
先判断证据状态
status |
条件 | 分数和站点选择 |
|---|---|---|
rated |
有可辨主体,能够逐项评价;初始网格也可评价,未展示的路径不当作已有结果。 | 有总分,参与最高分选择。 |
insufficient |
只有加载态、空画布、规划目录或画外主体,无法评价任务成果。 | 分数为 null,显示“证据不足”,不参加评分选择。 |
unavailable |
没有真实实验截图。 | 分数为 null,不得用主题缩略图猜分。 |
pending |
尚未完成视觉复核、没有截图的工作草稿。 | 不得作为正式入库记录。 |
captureState 另记取景状态:result 结果态、initial 有可辨主体的初始态、partial 局部展示、blocked 明确的核心运行环境阻塞;证据不足用 undemonstrated,无截图用 null。
只有明确显示核心运行阻塞的画面才适用 blocked 的 39 分上限。各项仍独立评分,total = min(维度合计, ceiling),不能倒推维度凑总分。没有错误说明的空画布标为证据不足,不能据此判定实现失败。按钮、FPS 数字、说明文字和代码声明不证明对应功能。
二十项独立观察
每项均为 0–5 的整数分,先写具体观察再评分。五个维度由对应子项相加,不再直接给一个笼统的维度分。
| 维度 | 满分 | 子项 |
|---|---|---|
任务可见覆盖 taskCoverage |
40 | 对应任务正文的八项检查,定义在机器规则的 tasks 中。 |
构图与层级 composition |
20 | 主体与视线、区域与层级、对齐与节奏、比例与密度。 |
可读性 readability |
15 | 文字数值、前背景区分、主体与图例。 |
操作表达 interactionClarity |
10 | 操作命名、状态与反馈。 |
视觉精修 craft |
15 | 组件或造型一致、素材完整、边缘与细节。 |
| 分值 | 锚点 |
|---|---|
| 0 | 没有可见证据。 |
| 1 | 仅名称、入口或符号。 |
| 2 | 局部可辨且存在明显缺口。 |
| 3 | 基本形成但仍有实质缺口。 |
| 4 | 清楚完整,仅有小缺口。 |
| 5 | 对应要求充分、清楚地展示。 |
同一问题指定主要扣分项,不能重复扣遍各维度。文字过小主要影响可读性;缺少结果影响任务覆盖,不自动否定清楚的布局。不给厂商、档位、费用、实验日期、代码量或任务复杂度加减分。没有强制分布,1–2 分差异不解释为模型能力差异。
按该 run 的完整原始输入判断范围与设计授权。视频原型逐模块交付时不补造“一次完成全部模块”的要求;明确要求全部模块的输入需逐项核对。原型中画外流程记为未展示,不宣称源码缺失。算法实验不因没有营销横幅扣分,设计原型不因没有真实后端扣分,允许的原创插画不自动当作占位图。没有实际相机、手部或追踪画面时,相应任务项按可见证据评分,鼠标、键盘及自带演示不能替代真实识别证据。
confidence 独立记录为 high、medium 或 low,不加分、不作乘数。清晰且状态覆盖充分可记高;局部缺失或资源不稳定记中;主体难辨、加载受阻或无截图记低,具体原因写入 limitations。五维观察分别描述该案例,不能复用一段空泛评语。
采集与复核
- 阅读任务正文、完整原始输入与追加要求,登记八项任务检查。批量模型实验先执行
npm run topics:active;已归档主题继续检查历史链接和证据,不因此重跑模型。 - 采集真实桌面和手机画面,默认 Chromium、DPR 1、1440×900 与 390×844。适用时通过实际控件输入种子、选择预设、运行寻路、注入流体、上传相同测试图片,记录操作、等待与结果态。原型检查登记入口、内部导航及横向隐藏页面。
- 懒加载、长页、内部滚动容器及初始化等待需要补充取景;记录滚动范围和实际位置,不宣称穷尽无限信息流。补拍使用新批次、新 PNG,保留旧图、失败尝试和原始采集清单;不改页面内部状态、不伪造网络返回或真实相机。
- 新案例使用
node scripts/review-captures.mjs --run <run-id> --batch <最终批次>生成匿名联系图;已有评分的记录默认读取其绑定的完整采集清单,批量复核可用npm run review:scores。--topic <topic-id>可限制主题,--output <空目录>可指定输出。直接调用 node 可避免部分 PowerShell/npm 包装脚本吞掉参数。工具不自动识图、评分或代写观察。模型标签和旧分隐藏,原始输入仍可能包含模型信息,因此不宣称严格双盲。 - 逐张查看清单中的全部帧;长图、小字、遮挡和高低分候选放大原图校准。先判证据状态,再写五维观察、二十项分数、置信度和限制。不同输入、取景、资源环境均须说明,禁止从旧分换算。
- 将已复核的真实帧选作封面,登记完整证据指纹,并在
changes说明维护者的采集与重评。没有可运行入口的历史记录保留unavailable,不制造占位产物。 - 保留前次评分和规则快照,执行生成、验证、测试和实际页面验收后提交。操作日志记录发生的操作,不替代独立功能测试。
采集清单位于 catalog/screenshot-captures/<batch>/<run-id>.json,PNG 位于对应 run 的 captures/<batch>/。补充清单通过 previousCapture 及其 SHA-256 保留来源链;后续清单包含已归并的历史帧。只读静态服务器不启动历史后端,不改外部部署;采集和测试屏蔽正式统计访问。
新案例可复用命令
下列 <run-id>、<batch>、<source-batch> 均须替换为本次实际值。批次统一使用 YYYY-MM-DD-label,每轮补拍用新标签;所有命令都复用现有工具,不重建一次性迁移或评分脚本。
- 填完 draft 的完整输入和预览配置;构建型案例先 build。执行
node scripts/demo-sync.mjs <run-id>同步输入与任务正文的首次指纹,此时列出截图、评分缺项是正常现象。新任务将八项检查登记到当前机器规则,其promptHash取已同步的任务元数据。 - 在独立终端运行
node scripts/serve.mjs --read-only,默认本地地址为http://127.0.0.1:4173/。采集前实际打开新入口,确认统计被屏蔽且页面主体可运行。 - 执行
node scripts/capture-screenshots.mjs --run <run-id> --batch <batch> --base-url http://127.0.0.1:4173/ --navigation commit --bounded-font-wait。该命令采集已登记的本地页面,只保存真实截图和采集清单,不改 run.json 或自动评分。外部部署须人工从真实 HTTPS 页面采集并按同一清单结构登记;不能用本站记录页或本地空页替代。无入口、加载失败或缺少结果时先判断是否需要补拍。 - 纵向补拍使用
node scripts/capture-scroll-evidence.mjs --run <run-id> --source <source-batch> --batch <新批次> --base-url http://127.0.0.1:4173/;横向补拍使用node scripts/capture-horizontal-evidence.mjs的相同参数。两者必须显式指定来源,取最近已核对的完整清单,不回退到某次历史批次。 - 内部导航、上传、切换场景及延长等待使用
capture-review-states.mjs,从标准输入读取 JSON:指定runId、新batch、source清单相对路径、baseUrl和states。每个 state 明确独立id、真实actions及必要的preActionWaitMs/settleMs(0–30000ms);按下文协议补充取景,失败尝试同样保留。PowerShell 可用Get-Content -Raw <计划文件> | node scripts/capture-review-states.mjs。 - 对最终完整清单执行
node scripts/review-captures.mjs --run <run-id> --batch <最终批次>,阅读 manifest 中的原始输入差异,查看所有联系图并按需打开原 PNG。人工填写下节字段及确实看过的全部帧 ID,不能让脚本默认宣称已看图。 - 将所选帧相对 run 的 PNG 路径登记到
screenshot,采集日期取该帧所属原始清单的capturedAt,不能使用末次补拍日期替代。score.captureManifest指向最终完整清单,首次证据指纹留null后执行node scripts/demo-sync.mjs <run-id>自动补写。已有非空指纹失效时先人工重评、留档,再更新评分,禁止仅刷新哈希。 - 执行
node scripts/demo-sync.mjs <run-id> --check,完成实际预览验收后再--finalize。最后按维护指南执行生成、校验、测试并提交。新增案例不运行全量评分迁移,也不改旧案例的输入或评分。
补拍操作协议
capture-review-states.mjs 的 states[].actions 使用 kind 和真实 selector,支持 click、pointer-click、pointer-drag(起点与终点均为目标框内 0–1 的相对坐标)、double-click、press(Home/End/方向键/Enter)、upload-review-fixture(已提交且固定指纹的测试 PNG)和 scroll(明确页面滚动元素或内部容器)。选择框可通过真实按键操作;不使用脚本注入选中状态。记录请求动作、实际位置、等待、资源错误和采集方式。其他已登记入口由基础采集处理;补拍只展开任务相关的实际页面。
当默认 Chromium 渲染环境丢失 WebGL 上下文时,补拍计划可设置 renderingBackend: "d3d11" 请求 ANGLE D3D11;清单记录请求的渲染方式,不推断实际硬件,既有帧的环境以其来源清单为准。原失败证据和来源链仍须保留。
长页及小字必须查看原图,联系图缩放不构成读过全部细节的证明。CDP 视口采集仅用于截图等待受阻时保留真实视口,明确 captureMethod: "cdp-viewport";不重绘页面或替换素材。自动化操作失败不得直接推断人工点击也失败。
数据字段与校验
run.json.score 使用 rubricVersion: 3。除状态、总分、日期、截图状态和上限外,必须保存以下复核证据:
taskChecks:该任务的八个具名子项;visualChecks:十二个视觉子项。dimensions分别为对应子项之和,正常上限 100,明确阻塞上限 39。observations:五维的具体观察;evidence:可见成果与主要限制;confidence、limitations:独立置信度及证据边界。inputHash绑定完整原始输入;screenshotHash绑定选中 PNG 的 SHA-256;criteriaHash绑定对应任务定义。rubricHash绑定除tasks外的全局规则;新增其他任务不使既有评分失效,修改既有任务由criteriaHash检出。captureManifest指向当前完整证据清单;evidenceSetHash为该清单解析后JSON.stringify的 SHA-256;reviewedFrames必须包含该清单全部帧 ID。captureInventoryHash绑定该 run 全部采集清单:按路径排序后,对每份清单的原始字节计算 SHA-256,再对路径与指纹列表计算 SHA-256。新增旁支或补充清单也会使评分失效,封面不变不能绕过重评。
insufficient 的总分、维度、两组子项和上限均为 null,仍需完整观察、原因、日期及证据指纹。unavailable 没有 PNG,screenshotHash 为 null,仍绑定真实输入、任务规则和无图采集清单;不得补造数值。pending 仅供未完成草稿使用。
人工填写 status、captureState、assessedAt、二十个具名子项、维度及总分、observations、confidence、limitations、evidence、captureManifest 和 reviewedFrames;子项键以当前任务和视觉检查定义为准,不能复用旧版的四项键。rubricVersion 取现行版本,所有首次指纹由 demo:sync 补写;不手工计算哈希、不生成模拟评分,不复制其他案例的评语。
npm run validate 同时检查规则、schema、八项任务与十二项视觉分数、五维观察、加总、上限、封面归属、全部证据帧及采集历史。所有 PNG 核对指纹与实际尺寸,历史来源链也要有效。截图、输入、规则或补充证据变化必须重看相关完整证据,不能只刷新指纹。demo:sync 只为 draft 补写尚未记录的机械指纹,不覆盖已有失效指纹。
展示与长期维护
首页从当前筛选范围的 rated 中选最高总分实验,分数、封面和预览取自同条记录;并列按实验日期降序、实验 ID 升序。不可评分状态不当作 0 分。主题实验默认按评分排序,模型代际仅用于显式 sort=model。
主题页的评分明细展示五维观察、二十项分数、限制、置信度、采集环境与全部已复核原图入口。首页摘要只保留版本、状态和总分,完整评分从主题详情数据加载。
后续新增、迁移和截图更新均执行相同复核。修订时在 catalog/score-reviews/ 新增审阅记录,保留前次评分及依据。历史规则快照只用于验证当时的审阅档案,与唯一现行规则分开。全局权重、锚点或状态门槛改变时递增规则版本,同步 schema、脚手架、展示和校验器,并重新看图;仅增加新任务无需升级全局版本。只改说明文字且不改变任务或证据无需重评。
被现行规则替代的阶段计划和旧版说明可以删除,相关引用改到有效说明或历史数据快照。生成阅读页由 generate 一并清理;不要把历史评分 JSON、规则快照、原始输入和真实截图当作过期文档删除。