# 评测 harness 改造设计(概念层) > 目标读者:创始人。状态:**概念设计已定稿(三条独立概念评审收敛),实现细节后续进行**。 > 本文记录评测 harness(replay-eval)从"仓外密封 vault"迁到"一切落库"的**概念决定**:明确的意图、清晰的边界、六条概念原则及其依据。实现(引擎强制、常设不变量、完成判据重设计等)另起任务。 > 关联 SoT:领域索引 §3、05 §7、06 §7、08 §5(本文原则已落进这几处)。 ## 1. 改造的意图(明确) 评测 harness 的根本目的有三层,分属不同的主人: 1. **防泄漏(实验有效性)**:writer 不能看到目标章答案。这一条**从来不是仓外 vault 在服务**——它由 as_of 冻结、泄漏审计、盲评输入边界这些逻辑机制保证。 2. **留存卫生**:全文、oracle 答案、完整 prompt 不能漏进 Git、不能漏进对外报告。这是 vault 真正服务的。 3. **证据托管 + 独立性**:迁移回执给出证据监管链;证据放在另一个物理底座,意味着即使生产库被破坏,评测证据还在,评测仍能充当对生产系统的**外部见证**。这一条**过去从未写成目的,是隐性目的**。 **改造的真实意图是理念转变,不是技术简化**:把评测纳入"一切落库、单一事实源"。它对前三层中的两层半忠实甚至更强(append-only 比 0700 更不可变、评测候选隔离可机械验证),但**静默放弃了第四层——证据独立性**:评测证据从此与生产库共享同一个信任根,从"独立见证"降为"系统自身账本里的一类行"。 **意图的明确表述**:改造服务留存卫生与防篡改(且强化),放弃证据底座独立性(换可观测性与全文可走查)。这是单用户本地场景下的**刻意取舍**,不是无损迁移。 ## 2. 边界(清晰) 物理隔离与逻辑隔离**不是强弱的同一种东西,是两种不同种类的东西**: - **物理隔离 = "不可能"**:评测物料不在生产访问域里,越界在拓扑上不成立,不依赖系统自己的正确行为。 - **逻辑隔离 = "被禁止"**:物料在同一访问域,靠规则(run_type、状态机、访问控制)隔开,完全依赖系统在每个访问点永远正确地执行规则。 改造后,评测与生产**同库**,边界靠:`run_type`(eval/production)+ 候选状态机(评测候选 DB 级禁接受)+ 访问控制(raw 默认不进检索)。这是逻辑隔离,不是物理隔离——**继续叫它"隔离"是第一个泄漏点**,应叫"访问分离 / 引擎强制"。 **边界的结构性弱点**:边界锚在标记(run_type / eval_draft)上,必须正确传播到每个派生产物、并在每次读取时被正确检查——而没有一个集中的强制点,是**分布式约定**。最戏剧性的路(评测正文→正式书)防御最厚、破了会被看见;真正脆的是**安静的派生路**(评测卡喂生产检索、评测评分混进生产质量视图、run_type 被翻),防御薄、破了没人知道。**防御的轻重是反的。** ## 3. 六条概念原则(全认) 1. **升级口号**:把"一切落库、单一事实源"改述为"**单一基底、分层权威、分区治理**"——库是唯一存放处(基底统一),但正式内容与评测区是**不同治理区**;评测独立性由 run_type + 四层隔离 + oracle + 盲评 + 人审承载,**不由物料位置承载**。 2. **把代价写成明账**:在 SoT 明说"评测证据与生产共享同一信任根,是单用户场景的刻意取舍,换可观测性 + 防篡改,放弃证据底座独立性 / 外部可审计性"。不假装没丢。 3. **救回 COMPLETED**:完成判据必须核对"本轮声明要产出的 raw 集合"=="实际落库集合"才置完成;"有行落库了"不是判据。**一道不可能失败的门不是门。** 4. **强制收拢到引擎一个点 + run_type 钉死**:让评测行对生产读默认不可见由数据库**单点强制**(生产只读角色对评测行默认不可见,显式可审计 opt-in 角色才可见);`run_type` 插入后不可变(或引擎约束使 `(eval, accepted)` 永不可达)。打结构弱点,一次覆盖所有派生路。 5. **从"靠预防"迁到"靠发现"**:逻辑隔离永远做不到完全预防,必须靠**常设不变量**持续抓越界——没有评测派生卡绑定到生产、没有评测质量结果出现在任何生产视图、没有正式正文块的来源能追溯到评测候选。违反即报警。**从物理隔离迁到逻辑隔离的那一刻,必须同时从"靠预防"迁到"靠发现"。** 6. **oracle 读侧硬红线 + 改词**:把"oracle / 全文不进任何模型输入上下文、只供人走查"写成**可机械验证的红线**(写侧已有硬强制,读侧不能只靠查询纪律);把"隔离"统一改成"访问分离 / 引擎强制"——机械验证全绿之前,不许说"密封从物理变逻辑"。 ## 4. 概念依据(三条独立评审收敛) 三条独立概念评审(意图/目的论、边界/隔离、一致性/哲学)独立得出,高度一致: - **共识**:改造概念上成立,拆掉了一个**假二元性**——仓外 vault 的"外在性"从来是幻觉(同一台机器、同一个 agent 治理,`rm` 一个 0700 文件比绕过 DB 触发器容易得多)。评测真正的独立性在裁判标准(oracle/盲评/人审),不在物料位置。搬库不是降级,是把力气从错处挪回对处。 - **共同指出的欠款**: - 代价被写成纯赚(证据独立性 / 外部可审计性 换了全文可看性,文档叙述成纯进步)。 - 口号没说出让它安全的"分区治理"("单一"在做意识形态工作,侵蚀真正的分区)。 - 完成判据退化("已落库"趋恒真,丢"封存"内涵)。 - 边界锚在可变分布式标记上,安静路径防御最薄。 - oracle 读侧软边界。 - 认识论底色:这是**带锚点的自我评估**,不是独立评估,终极锚点是创始人——哲学不该把它包装成"独立评测"。 - **底线**:边界守得住,对单用户本地工具甚至可能比文件时代更硬——**条件是**强制压进引擎、标记锚死不可变、配一套常设不变量持续发现越界。现在的规格是"约定强度",还配不上"隔离"这个词。 ## 5. SoT 落点(已落) | 原则 | 落点 | |---|---| | 1 升级口号 | 领域索引 §3(单一基底、分层权威、分区治理) | | 2 代价明账 | 08 §5(raw 边界:用外部可审计性换全文可看性,明账) | | 3 救回 COMPLETED | 06 §7(轮次封存:核对声明集合 == 实际落库集合) | | 4 强制收拢 + run_type 钉死 | 05 §7(引擎单点强制、run_type 不可变) | | 5 从预防迁到发现 | 05 §7 / 06 §7(常设不变量) | | 6 oracle 读侧红线 + 改词 | 05 §7(oracle 不进模型上下文红线;"隔离"→"访问分离") | ## 6. 实现(后续,本文不展开) 以下为概念决定的实现项,另起任务: 1. 引擎单点强制:生产只读角色对评测行默认不可见 + 显式评测可见角色;`run_type` 不可变约束(或 `(eval, accepted)` 不可达约束)。 2. COMPLETED 重设计:轮次封存核对"声明 raw 集合 == 实际落库集合"。 3. 常设不变量:评测卡不绑生产、评测分不进生产视图、正式正文来源不追溯到评测候选——持续跑、违反即报警。 4. oracle 读侧红线:可机械验证"oracle/全文不进任何模型输入上下文"。 5. 术语统一:全文"隔离"→"访问分离 / 引擎强制"。