VerifierBench:V4V、合法替代解与全拒绝判分器
VerifierBench:V4V、合法替代解与全拒绝判分器
知识点轴:benchmark-evaluation / sandbox-security / harness-runtime。
为什么今天从 raw-only 晋升
10-28/29 仅捕获全文、仅读入口,不能把“有 hidden verifier”当成题目可信。今天补读论文主文、V4V/变异附录、计分合同与局限,核数据版本说明和相关公开 metrics 代码,终于能回答:判分器能抓住坏解,是否只是因为它拒绝了一切?
这对私有 coding-agent 题池、Hermes 自动验收、llm-wiki 入库门都重要:只加安全负例会奖励不可用的系统;只用参考答案自测又会奖励“只认这一条合法路线”。正式沉淀的是双边判分合同,不是新模型排行。
任务究竟测什么
作者让 agent 只拿普通 solver 可见的 instruction/environment 与 verifier I/O 约定,生成一个固定的 executable verifier;参考判分器与候选测试集在生成阶段隐藏,随后用多个合法/错误候选评测它。工具调用题、状态题和代码题的可见输入不同,不能将 transcript 比对替代状态/补丁验证。
论文 v1 的最终集合为 222 题、4,993 候选:222 个 gold、1,344 个合法变体、2,629 个普通错误、798 个攻击例;合法变体包括表面变化与不同实现/路径。798 攻击例中只有 2 个 process_violation,不能把整个攻击集解释为全面安全行为覆盖。统计来自作者论文,本机只做结构/算术与少量计分函数检查,不是重跑全部候选。^[raw/articles/verifierbench-v4v-deep-reading-and-pinned-implementation-2026-10-30.md]
一阶机制:先验证“题和答案的关系”,再测模型
V4V 六门
| 门 | 验什么 | 容易误读的地方 |
| Replay | 每个候选的 source verifier 决策与构造标签对应 | 二者一致仍可能共同误解需求 |
| Repeatability | 同 reset 状态重跑决策稳定 | 单次 PASS 不代表稳定 |
| Provenance | 决策绑定候选内容、题目/判分器版本 | 文件名或屏幕截图不是版本证据 |
| Input-label consistency | 同题下完全相同的可见输入不能相反标签 | evaluator 可见但 verifier 不可见的信息不能偷偷决定标签 |
| Trivial baselines | always-accept / always-reject / gold-exact-match 均会暴露 | 只有正负例还不够;exact-match 需要合法替代解击穿 |
| Mutation testing | 原判分器改单一检查后,至少一例产生不同的有效决策 | crash/无效输出不算“抓到变异” |
作者先从 267 题排除 45 题,其中全部 37 个 Terminal-Bench 题被排除,35 个涉及 skipped tests 被解析为通过;这是被采样的源题/解析器缺陷,不应扩展为所有 Terminal-Bench 版本都无效。保留的 222 题据作者冻结记录均过六门。^[raw/articles/verifierbench-v4v-deep-reading-and-pinned-implementation-2026-10-30.md]
附录 B 的 1,410 是 task×mutation-operator 配置数,不是独立运行次数。检测要求 original 与 mutated 在同一例上均给有效 PASS/FAIL 且不同;当前人工 operator 集全覆盖不证明所有未见缺陷可被发现。论文 C1—C6 与历史字段编号不同,应按语义映射而不是按数字同名拼接。
指标要同时惩罚误收、误拒和无决策
先逐题计算合法候选接受率与非法候选拒绝率,再跨题等权平均为 TPR/TNR;BA_norm = TPR + TNR − 100,不是把所有候选混成一个大分母。崩溃、缺 verifier、超时或畸形输出保留分母、不给正确性信用;内部异常被吞掉后返回 FAIL 在接口层仍是有效拒绝,因此必须另做 execution-health 诊断。
all-reject 的含义是同一题每例都返回有效 FAIL:TPR=0、TNR=100、BA_norm=0。论文分析的归档记录中,87.9%—96.0% 的误拒来自这一类;这个归因样本不是所有最终模型全部逐题结果,不能把比例写成任何 agent 的普遍规律。FPR_h 还要单列,不能用更高总分掩盖攻击误收。
重复计分应按论文附录选择 median-BA 的完整 round,而非给每类挑最好轮;同一 AST 决策复制多 round 不是新独立采样。论文没有对每个配置反复生成 verifier 或给显著性结论,跨 harness 也混有 prompt/tools/reasoning 设置,因此只能比较完整配置,不作组件级因果断言。^[raw/articles/verifierbench-v4v-deep-reading-and-pinned-implementation-2026-10-30.md]
版本与实现:定位了什么,没证明什么
- 论文固定
2610.28679v1;复用 10-28 的完整原件,不覆盖旧 raw。 - HF 元数据 revision
b0def08be79e1e059496e862e11232b410f9aa13;README/USAGE 声明 public generation bundle 不含标签/候选、evaluator-only bundle 才含;AppWorld 需本地重建并受上游许可约束。本轮没有下载/解析 parquet,也未检查 bundle 的实际隐藏材料可达性。 - 相关公开 verifier-suite 当次 5 stars,固定
5a56b62f38ee65a38aca1623596bd7a9dabb9d41。已读 README 与 oneclick/runner/metrics.py:其代码校验 runtime/config/artifact/decision receipts,保留错误与 abstention 的分母,并明确 partial coverage 不能直接比 full benchmark。静态代码存在不代表这些断言已在全量运行中成立。 - 仓库另报 Gavel 排名/分数,不把这些 README 新结果混入论文实验或独立复现。完整 suite 文档要求 Linux x86_64、特定 Docker 线与大量磁盘,本轮不在 Mac Mini 安装或执行它。
对用户实践的落地合同
结合 Agent-Benchmarks、revivebench-hidden-verifier-audit-and-harness-parity、verifier-hardening-output-boundary-and-fresh-solvability 与 agentproofbench-initial-state-reuse-and-gate-policy-outcomes:
- 每题固定正例组:参考修复、至少一种不同合法修复、格式/顺序/默认参数等语义等价变体;不得凭模型偏好的 patch 路径或工具白名单添加需求。
- 每题固定反例组:no-op、near-miss、旧功能回归、伪造成功输出;执行失败单列,不当安全拒绝。
- 生成前隐藏,生成后冻结:公私视图分离,固定 BASE/需求/runner/verifier/candidate hashes;记录实际可见域,不只看目录名叫 private。
- 六门先过,再看 agent:记录 reset、重复次数、变异集合和不同有效决策 witness;对 all-reject 与只认 gold 的判分器直接诊断,不靠一个总分掩盖。
- 安全评测双向约束:网关拒绝非法 origin/owner 之外,同组合法请求必须可达真实业务终态;这与 MCP-Gateway-Runtime、A2A-Agent2Agent-Protocol 的 owner×operation 与零 effect 负例互补。
这是题池/验收规范建议,不是已为用户私有仓库生成或运行了这些题。
局限与开放问题
有限构造集与 reference agreement 不是语义正确性证明;人工 mutation 也有覆盖盲点。个案源码/轨迹分析解释可能机制,不估计总体发生率。自测轨迹没有重建每次 verifier 精确版本,不能将关联视为干预因果。仍待独立检查数据行、V4V receipts、隐藏视图隔离与完整 native replay;本轮只关闭“摘要未深读”缺口,不冒称全量复现完成。
写入记录
- 2026-10-30 09:11 CST:补读主文/V4V/计分与局限后从 raw-only 晋升;保留旧归档,新增版本化深读 dossier,区分合法替代解、全拒绝、无决策与作者/相关仓库结果,明确未运行全量评测。