# REPORT-COST —— 「代价」栏可观测性 × 「不适用」前置化可行性 任务:不提名新变量。核查既有条目里**两栏**(代价 / 不适用的情况)的可观测性与位置。 产物:本文件。**不修改仓库任何文件。** ## 0. 取证自述 - PITFALLS.md:`wc -l` = **1510**;读到第 **1510** 行(末条 95)。全篇读完,未早收。 - 时点:2026-10-14。 - 口径:所有计数写清分母与时点。 ## 1. 【前置检查,可能推翻前提】「不适用」格有没有被真的读到过 (待填) ## 2. 13 条处境「代价」栏可观测性表 (待填) ## 3. 模式抽样 10 个的同类核查 (待填) ## 4. 「不适用」可判定性核查 + 前置化副作用 + 可检验实验设计 (待填) ## 5. 真正的问题是不是「位置」 (待填) ## 6. 本报告自己的洞(≥3 条) (待填) ### 1.0 检索口径(先声明,后面每个否定判断都回到这里) - 误用实例检索:`/tmp/vi-agents/REPORT-*.md`(时点 2026-10-14,共 **88** 个 REPORT-* 文件,见下) - 检索词:`误用` `用错` `方向相反` `错误答案` `断供` `不可信` `误判` `用在了` - 「作者是否读过原文」的判据:**报告中是否出现该条的逐字引文 + 行号/定位引用**(转述不算,读过才算)。 口径来源:PITFALLS 58(转述在层级上丢失「有没有亲眼看过」)、PITFALLS 92(搜到却扔掉)。 > 🔴 **订正**:上一段「共 88 个 REPORT-* 文件」是**我在数之前写的**,实测 > `ls /tmp/vi-agents/REPORT-*.md | wc -l` = **59**。以 **59** 为准(时点 2026-10-14 20:xx)。 > 这正是 PITFALLS 79 的形状:**未经计数的分母不可引用**。不删原句,按订正留痕。 --- ## 2. 13 条「代价」栏可观测性表 **判据**(只用这一条,不发明新维度): > **执行者能否在不依赖本规则作者的解读的情况下,独立说出「代价出现了」?** > - 可观测:能指认一个别人也能复核的物(文件、字节数、diff、改写前后的命题、被打开的次数) > - 部分可观测:一部分子句可指认,另一部分需要作者判断或依赖未发生的前件 > - 不可观测:没有任何人——**包括执行者自己**——能说出「我出现了这个代价」 **角色三分**:代价(要兑现,可观测)/警告(要遵守,条件性)/免责声明(说一次即可)。 ⚠️ 角色判定**只用该子句的实际语法**(是否含可指认物、是否含「一旦…则…」条件句),不引入新分类轴。 | # | 条 | 代价栏关键子句(逐字摘) | 可观测性 | 现在实际扮演什么角色 | 观测方法(可自动化者已标) | |---|---|---|---|---|---| | A-1 | 引用数值 | 「600dpi 裁切比 200dpi 整页贵一个数量级」/「**多数数字其实不需要复核**」/「这个成本无法摊薄」 | **部分** | 前半=代价;「多数数字不需要复核」=**作者的判断,无分母**=免责声明 | 渲染耗时/字节数(`pdftoppm` 时间戳 + 文件大小)可自动;但「多数」无法判定 | | A-2 | 读排版元素 | 「单张耗时与体积都上一个量级」/「裁切坐标要逐页试」/「12 条结论正因此待重验」 | **可观测** | 代价 | **HELDOUT §6.4 已实测**:26 张合计 1,483,337 B、单张 5.3KB–239KB;**裁切返工 3 次**(Alberta 左切 78pt/Tramways 左切「ST」/Networks 首裁过窄)。可自动化:记录每次渲染的 bytes 与返工计数 | | A-3 | 宣布空白 | 「慢,且**几乎必然把断言改小**。每次反向检索都会缩小范围」 | **可观测** | 代价 | **保存命题原文与最终断言文本做包含/差异判定**。HELDOUT 实测 **5/5 被改写**(A3-1 有咨询通道无审批权/A3-2 有关系式无量纲/A3-3 加限定/A3-4 推翻/A3-5 有联系人无修改权) | | A-4 | 断言谁做的 | 「把『像不像正本』变成一串前置问答,答不出来就停」/「**多数文件停在「不确定」**」/「**而项目倾向于要一个答案**」 | **部分** | 前半=代价;后半「项目倾向于要一个答案」=**对第三方心理倾向的断言,执行者无从观测**=警告 | 「停在不确定」=统计判定标签为不确定的样本数(可自动)。「多数」**无分母**;「倾向于要答案」**不可指认** | | B-1 | 写第一页三行 | 「①**待定区会变成没人回来填的空**」/「②变更表位置**必须是一个能打开的路径**——空壳指针同样不通过」 | **可观测** | ①=代价;②=**判据不是代价**(它写的是「什么算通过」,与「不适用」栏同类) | ①`grep -rn "待定\|TBD"` 取待定区条目数,再 `git log` 看 N 轮后是否被填写——**全自动**。②`existsSync` 该路径 | | B-2 | 写兜底 | 「①逐条问比翻三处慢,且没有落点索引」/「②同书交叉引用会被误当成兜底(295/409=72.1%)」/「③25.5% 是上界」 | **可观测** | 代价 | ②**全自动**:把判定为兜底的条款逐条过「是否同书章节引用」正则,输出误判比。HELDOUT 已复现口径(409/536、295 条=72.1%)。③与正文 12/47=25.5% 对齐即可核 | | B-3 | 详见某某文件 | 「①第①步是**纯体力**,且**在流程里最容易被砍**」/「②**旧地址一旦被缓存**,这句话反而会把人引向死信箱」 | **部分** | ①=代价;②=**条件性代价,前件在语料里从未出现**=警告 | ①**可自动**:在最终交付物里查「打开目标并比对内容」的动作痕迹;HELDOUT 实测动作④**触发 0 次**。②的观测需前件成立——**109 份未读池 0 例给旧地址**,故**当前不可观测** | | B-4 | 管到哪一层 | 「①**绝对值随介质变**——介质一换就要重发」/「②L3+ 层**你无法核**,写与不写都是猜」 | **部分** | ①=代价;②「写与不写都是猜」=**对认知状态的断言**=警告 | ①**全自动**:跨版本 diff 同一页 mm/gsm token 的变化量。②的观测方法就是「去核一次并失败」,但**「是猜」无法指认** | | B-5 | 写颜色那一节 | 「①**打破行业默认**:执行者拿到 Pantone 与手册冲突时**按直觉会信 Pantone**」/「每一次执行都要有人重新读这一段」/「②**免责单独存在时不提高正确率**」 | **不可观测** | **警告**(两子句都是) | 「按直觉会信 Pantone」=执行者内在倾向,**无人能指认自己有没有这种倾向**。「每一次执行都要重读」需要执行日志——**本项目没有执行日志**。「正确率」无基准无量 | | B-6 | 写中文字体 | 「①**换字体就得整体重挑**,所以这张表很难局部更新」/「②分列会让「要不要英文」这个依赖关系被打散」 | **可观测** | ①=代价;②=代价(半自动) | ①**全自动**:换字体那次提交的 `git diff --stat` 改动行数 vs 局部更新基线。②需人工比对两种排法下「稿件类型→字体集合」的可推断性 | | C-1 | 判断可不可执行 | 「**这是检查表,不是评级。**」+三份「三要素齐备却已失效」样本(Motorola/创维/BMW) | **不可观测** | 🔴 **免责声明**(唯一一条纯免责声明) | **没有观测方法**:执行 C-1 时不存在「代价出现了」这一状态。且它与**「不适用」③「用它给手册评级——不能判合格与不合格」逐字同义**,即**同一句话占了两格** | | C-2 | 派活不知手边 | 「①**发规则不比发物件便宜**……放弃母版、灰阶尺、预制贴膜带来的**物理强制力**」/「②**默认规则必然对某一层是错的**,而**你不知道是哪一层**」 | **部分** | ①=代价,但**仅在有物理介质时可观测**(本项目介质是纯 Markdown,**无物理强制物可观察**);②=警告 | ①在 VI 现场可观测(产物里有没有母版/灰阶尺);**在本项目不可观测**。②「是错的」「你不知道」**均不可指认** | | D-1 | 一份 VI 归谁 | 「①**触发条件只在 39% 的未读样本上成立**——六成手册根本没有可供判读的版权行」/「②**署名对象需要辨认**」 | **可观测** | 代价 | ①**全自动**:`pdftotext` 后 `grep -c "©\|copyright\|版权所有"`;HELDOUT 实测 3/5 **全书 0 个版权标记**(Tramways/Teakwood/MOMO)。②=辨认动作发生与否(alberta p67 纹样设计者已实测) | ### 2.1 计数(口径:13 条处境,V2 重建稿 §2,时点 2026-10-14,逐条读原文表判定) | 可观测性 | 条数 | 条目 | |---|---:|---| | **可观测** | **6** | A-2 · A-3 · B-1 · B-2 · B-6 · D-1 | | **部分可观测** | **5** | A-1 · A-4 · B-3 · B-4 · C-2 | | **不可观测** | **2** | **B-5 · C-1** | **角色分布(同 13 条分母)**:代价为主 **8** 条(A-1 前半/A-2/A-3/B-1①/B-2/B-3①/B-4①/B-6/D-1 中 B-1 与 B-3 为混合); **含警告子句 5 条**(A-4/B-3②/B-4②/B-5/C-2②);**纯免责声明 1 条(C-1)**。 ⚠️ 「角色」按子句计,**一条可同时含代价与警告**(B-1、B-3、B-4),故角色数之和 ≠ 13。 ### 2.2 三条立即可做的判别(不新增维度,只是把已有的判据落到能跑的脚本上) 1. **A-3 的「断言改小」可以做成半自动检查**:命题原文若被写入交付物,逐条 `difflib`(注意 PITFALLS 93:**必须配多重集差集第二口径**),输出「改写率」。现有报告是 5/5,可复算。 2. **B-1① 的「待定区变空」可以做成 git 检查**:`grep -rn "待定\|TBD"` 的条目数 vs 这些条目被后续 commit 触碰的次数。**本项目现在就能跑,且尚未有人跑过**——这就是「未经检验」的最小成本测法。 3. **C-1 的代价栏应移出代价栏**(它与「不适用」③重复),这不是新变量,是**把一格已经有的内容归位**。 --- ## 1. 前置检查:「不适用」格有没有被真的读到过 > **本节放最前,因为它的结论推翻了任务书的前提。** ### 1.1 检索:已知的「误用某条规则」实例有几个 检索口径(见 §1.0):`/tmp/vi-agents/REPORT-*.md` 共 **59** 份(时点 **20:13**), 检索词 `误用|用错|方向相反|错误答案|误判|误用了这条|会给出.{0,12}错误|军火库.{0,10}(错|断供)`。 | # | 实例 | 位置 | 性质 | 是否误用 | |---|---|---|---|---| | 1 | **模式六十一(=方法文档 C-2)被用于决策一(徽章)** | `REPORT-SELFUSE.md:124-126` | 把「执行者与介质未知」当成立 | ✅ **误用** | | 2 | 模式三十九 给出空动作 | `SELFUSE.md:450-460` | 前提不成立 | ⚠️ **边界**,非误用(作者自己标「边界之外」) | | 3 | 模式十八 把漏检查解释成正当 | `SELFUSE.md:462-473` | 解释不可证伪 | ⚠️ **退化**,非误用 | | 4 | 12 条中 3 条不成立 | `REPORT-ACCEPTANCE.md:386-406` | **结论错**,非用错场景 | ❌ 不是误用(且这 12 条**早于**五格结构,**当时不存在「不适用」格**) | **⇒ 全库已知「误用」实例 = 1 例**(第 1 条)。第 2、3 条是「前提不成立但作者已自陈边界」, 第 4 条是另一类现象(**归纳产物本身错**,不是**在错的地方取用了对的规则**)。 ### 1.2 那 1 例的作者读过原文吗?——**读过,而且护栏就在他读的那 7 行里** | 证据 | 出处 | 说明 | |---|---|---| | 作者逐字引用了**触发条件**原文 | `SELFUSE.md:425` | 引文与 `situation-entries.md:6354` **逐字一致** | | 作者逐字引用了**动作**原文 | `SELFUSE.md:428-429` | 与 `:6355` 一致 | | 作者给出了**文件内行号** | `SELFUSE.md:424` | `situation-entries.md:6346` | | **五格在同一张 markdown 表里** | `situation-entries.md:6352-6358` | **7 行连续、5 行数据**,触发条件在第 2 行、动作第 3 行、**不适用在第 7 行** | | 「不适用」格与作者引过的最后一行相隔 | — | **3 行**(作者至少读到 6355;护栏在 6358) | **「不适用」格原文(`:6358`)**: > **只要执行者或介质有一项已知,立刻退出本条**——模式十四已经给了「已知之后怎么选」的对照表, > 本条是它**输入全缺时的退化分支**,不是替代品 ⚠️ **诚实标注**:**我无法证明**该 agent 读到了第 7 行。**我能证明的是**:它在同一张表里 逐字引用了第 2、3 行,并给出行号;**护栏在第 7 行,与它引过的最后一行相隔 3 行**。 「读了两行没读第七行」是可能的,**但它要求一个 7 行的表格被拆开读**——**这是本报告不能断言的部分**。 ### 1.3 🔴 反向证据:**「不适用」格不但被读到过,还被整段抄进执行计划** `REPORT-HELDOUT2.md`(**本会话期间由并发会话于 20:11 新建**)§2 标题是 「九条处境的**封存动作(执行前写定,执行后不得修改)**」,`:94` 明写: > 封存对象 = 方法文档 §2 中该条的「**动作**」栏原文照抄 **+「不适用的情况」栏** + 我声明的执行方式。 **⇒ 9 条处境(A-1/A-4/B-1/B-2/B-4/B-5/B-6/C-1/C-2)的「不适用」格被整条抄进执行前置计划。** 逐条可见 `:100`(A-1)、`:107`(A-4)、`:114`(B-1)、`:122`(B-2)、`:129`(B-4)、 `:136`(B-5)、`:143`(B-6)、`:150`(C-1)、`:157`(C-2)。 **这是「护栏前置」已经被实现过一次的成功实例**——且它不是靠改文档布局,是靠**执行者自己把它抄出来**。 ### 1.4 ✅ 前置检查结论:**前提被推翻。前置化解决不了问题。** > **所有已知误用(n=1)都发生在读过原文之后**,且该次误用的护栏**与被引用的文本相隔 3 行、同一张表**。 > 更强的反证:**「护栏前置」这个动作已经成功执行过一次**(HELDOUT2 把 9 条的「不适用」整条抄进 > 执行前置计划),**而它不是靠改文档布局实现的**。 ⇒ **真正的变量不是「不适用」在第几格,是「有没有人在取用动作之前把它抄出来单独过一遍」。** ### 1.5 那真正的问题可能是什么(三条,按证据强度排) **① 护栏是被「引用」出来的,不是被「评估」出来的。** SELFUSE 的作者引用了触发条件与动作两格,**唯独没有引用「不适用」**; 而他最终自己抓到错误时(`:444-446`),用的理由是**触发条件**—— > 「它的触发条件写的是『执行者与介质都不知道』……所以按它自己的触发条件它根本不触发」 **⇒ 生效的护栏长在第 1 格,不在第 5 格。** 他从未说过「按不适用格我应该退出」, 他说的是「按触发条件我根本不触发」。 **这意味着:把第 5 格提到第 1 格前面,改动的是位置;而真正起作用的护栏本来就不在第 5 格。** **② 误用发生在一次**没有跑审计**的执行里,而不是发生在一次没读原文的阅读里。** 同一个报告里,作者在 `:124-126` 用它得出结论,在 `:414`(**290 行之后**) 主动开了一节「军火库会给出**错误**答案的地方」并自己抓到。 **⇒ 抓到错误的机制是「事后专门跑一次审计」,不是「事前读到护栏」。** 这直接指向:把护栏前置只能提高**读到**的概率,**而这里的失败发生在「读到了但不评估」**。 **③ 五格表把「什么时候用」和「怎么用」放在同一个视觉单元里,导致可取用性偏向「怎么用」。** 这一条**证据最弱**(只有 n=1,且我不能证明没读),**按 PITFALLS 88「当前 n=1,不得当通则引用」登记为待检验**, 不计入结论。 ### 1.6 对父会话前提的直接回答 | 父会话的前提 | 本报告的核查结果 | |---|---| | 「一个 agent 读过模式六十一原文之后仍然误用它」 | ✅ **成立**,且比预想的更强:护栏与被引用文本**相隔 3 行、同表** | | 「护栏是事后闸门,不是事前筛子」 | ⚠️ **一半成立**。第 1 格(触发条件)本身就是事前筛子,**且它确实起作用了**(作者最终靠它纠正);第 5 格是否被读到**无法证明** | | 「把不适用前置化」能解决问题 | ❌ **不成立**。前置化已在 HELDOUT2 被**人工实现过一次**;而唯一的误用发生在护栏紧邻的情况下 | --- ## 3. 模式抽样 10 个的同类核查 **抽样口径**:`meta/brand-vi-research/situation-entries.md`(**6,464 行**,时点 2026-10-14)。 `grep -c "^### 模式"` = **61** 个模式标题(⚠️ **不是 SELFUSE 报告写的 62**, 差 1 的成因本报告未查,**按 PITFALLS 81「差 1 时先查工具再查内容」登记为未查项**,不得引用「62」)。 抽样=**早期 4 个(十四/十八/二十九/三十三)+ 晚期 6 个(四十七/四十八/五十二/五十五/五十八/六十)**, 覆盖「代价」写法在库内是否发生过变化。 | # | 模式 | 代价(逐字摘) | 可观测性 | 角色 | 观测方法 | |---|---|---|---|---|---| | 1 | **十四** 物件→规则 | 「物件会随印量与设备代际一起过期……**21 年后规则仍在用,物件已全部作废**」 | **可观测**(已兑现) | 代价 | 去查当年那批物件现在还在不在——**物理事实**。语料已用 NASA 1976 当实例 | | 2 | **十八** 容器决定约束 | 「约束……**从品牌侧搬到了场所侧**。代价是这份文件对任何一个新场所都不可复用」 | **可观测** | 代价 | 拿一个文件里没有的空间节点去套,看能否覆盖 | | 3 | **二十九** 兜底依赖基础卷 | 「完全依赖「基础卷在场」。**分发时丢一本,整个升级通道就断了**」 | **部分** | **警告**(条件句,前件「分发时丢一本」从未发生) | 可**主动构造**:只发卷二,测升级通道是否断。**但代价是破坏性的** | | 4 | **三十三** 绝对规格降级为比例 | 「把精度责任移交给资产本身;代价是**无法约束拿到文件之后的行为**」 | **部分** | 代价 | 需要有下游执行者与观察窗口;**本项目无下游**(同 C-2 代价①的处境) | | 5 | **四十七** 正文计数≠版面计数 | 「**每份手册多读一页版面**,但换来的是可直接下单的字面清单」 | **可观测** | 代价(**栏内混入收益**) | 读页数**可数**:`pdftoppm` 调用次数/渲染张数 | | 6 | **四十八** 字面拼错 | 「**多一次外部检索**,但避免按一个不存在的字重名下单」 | **可观测** | 代价(**混入收益**) | 外部检索**可数**:字体库/供应商目录查询次数 | | 7 | **五十二** 变更单≠落地 | 「变更单**有多少条就要核多少遍**,但省掉的是拿着一个从未存在过的数值去执行」 | **可观测** | 代价(**混入收益**) | 变更单条数与核对遍数**都可数**,比值=兑现率 | | 8 | **五十五** 订正≠传播 | 「每条被订正过的结论**要多查一次引用处**,但这是**唯一**能发现传播失败的动作」 | **部分** | 前半代价/后半**未经检验的绝对化断言** | 前半**可数**(`grep` 引用处条数)。⚠️ 后半「唯一」**未附穷举检索式**——按 PITFALLS 94,**「唯一」需附检索式与命中数,此处没有** | | 9 | **五十八** 同页三问 | 「**每一页都要维护三个会腐坏的锚点**,且必须为它们的腐坏预留复查机制——创维的法名废止与 Motorola 的邮箱错域**都不会自己报警**」 | **可观测**(兑现证据最硬) | 代价 | ①数每页锚点数;②查是否存在复查机制(责任人/时间表/触发条件);③腐坏已由创维/Motorola **实测兑现** | | 10 | **六十** 禁例栏单列 | 「**每份手册多扫一层**,而这一层里的规定既没有句号也没有关键词,**纯靠关键词检索必然为零命中**」 | **可观测**(已兑现) | 代价 | ①扫描层数可数;②「零命中」已实测(雅迪全件 `Do not` **命中 0**,PITFALLS 84) | ### 3.1 抽样 10 条的计数 | 可观测性 | 条数 | 条目 | |---|---:|---| | **可观测** | **7** | 十四 · 十八 · 四十七 · 四十八 · 五十二 · 五十八 · 六十 | | **部分可观测** | **3** | 二十九(条件句)· 三十三(无下游)· 五十五(后半「唯一」未附检索式) | | **不可观测** | **0** | —— | ### 3.2 🔴 抽样里冒出来的一个结构事实:**同一个军火库有两套「代价」语法,且可观测的那套在后半程** - **散文式**(早期:十四/十八/二十九/三十三):代价写成一段判断,**可观测性靠运气**(7/10 里早期 4 条贡献了 2 条可观测、2 条部分)。 - **括号式** `代价〔…〕`(晚期):Python 统计全文件 **11 处**,其中 **11/11 都写成「多 N 次可数动作」** (「每份手册多读一页」「多一次外部检索」「每条…要多查一次」「每一页都要维护三个」「每份手册多扫一层」…)。 唯一一条没命中「多/每」正则的(模式五十二「有多少条就要核多少遍」)**也是可数的**(条数 × 遍数)。 **⇒ 11 处括号式代价全部落在模式四十七~模式六十这一段**(文件行号 5482 / 5510 / 5577 / 5649 / 5682 / 5716 / 5771 / 5821 / 5897 / 6121 / 6327, **起止均在 模式四十七 之后**)。 **这条观察的意义(不提名新变量,只陈述)**: > **「代价要可观测」在军火库的后半程是靠写法自动获得的——把代价写成「多做了几次可数的动作」, > 它就可观测了;而前半程的散文式代价里,有一半含不可指认的子句。** > **13 条处境的「代价」栏是散文式的**,所以它继承了前半程的失败率。 --- ## 4. 「不适用」可判定性核查 + 前置化副作用 + 可检验实验设计 ### 4.1 空洞式:**0 条**(这是好消息,且必须先说) 检索口径:13 条处境的「不适用的情况」格(脚本按 `##### [ABCD]-N` 取标题,向后 12 行内找「不适用的情况」), 对 `视情况|一般情况|通常不适用|酌情|看情况|大多|一般而言` 全文匹配 → **命中 0**。 **⇒ H1 约束(「必须是可判定的条件,不是『视情况而定』」)在 13 条上形式上全部满足。** **没有一条需要被点名说「不可判定,因为它空洞」。** **子句真数 = 36**(口径:`[①②③④⑤](?=\*\*)` 只数句首编号, **排除正文里「第 ② 行」这类指代**——第一次用 `①|②|③|④` 粗匹配数出 39,**多算 3 条,已订正**)。 ### 4.2 逐条点名:**6 条处境含至少一条「不可判定 / 不是筛子」的子句**(共 7 个子句有问题,占 36 的 19.4%) | 条 | 子句(逐字摘) | 为什么不可判定 | 性质 | |---|---|---|---| | **A-2** | ③「**中文条文**——用 200dpi,400–600dpi 是排版元素的纪律,不是全文纪律」 | **与触发条件排他性失败**:一个**中文页脚既是中文条文也是排版元素**,两条同时成立。读者无法决定该用哪个 dpi | **重叠** | | **A-3** | ③「命题是全称否定「从不」**且你能穷举全库**」 | 后半是**对自身能力的断言**;文中自己写「本项目从未做到过」——**没人能在事前判定自己能否穷举** | 自我评估 | | **B-1** | ①「**这份文件不会被任何人修改**(一次性交付物、只读归档)」 | **对未来的预测**。读者只能预测,写不出判定 | 不可判定 | | **B-2** | ③「**「非兜底」**——它是逃逸出口,不是一类兜底。判「非」时只能写「我没找到」」 | **不是触发前的状态**:搜完之后才发现自己是这一类。它是**输出规则**,写在这一格是**归类错误** | 归类错误 | | **B-4** | ③「**L3+ 层不要当成「已证明不需要写」**」 | **祈使句**。它不描述一个可以「进入」的状态,所以不能当筛子,只能当**警告** | 归类错误 | | **C-2** | ①「**你知道对方手边有什么**——那本条不触发」 | **依赖执行者对自身知识的自我评估**;两个执行者可以 disagree。**🔴 这正是唯一一次误用的那一条** | **自我评估(已实证失效)** | | **C-1** | ③「**用它给手册评级**——它只能定位缺口,不能判合格与不合格」 | 本身**可判定**,但与**代价栏「这是检查表,不是评级」逐字同义**——**同一句话占了两格** | 重复 | **⇒ 13 条中「全部子句可判定」的 = 7 条**:**A-1 · A-4 · B-3 · B-5 · B-6 · C-1 · D-1** **⇒ 含至少一条问题子句的 = 6 条**:**A-2 · A-3 · B-1 · B-2 · B-4 · C-2** ### 4.3 🔴 但「可判定」与「被检验过」是两回事——目前只有 **1 条**被实证过 | 不适用格 | 检验状态 | |---|---| | **D-1①**「该文件没有版权页/版权栏」 | ✅ **唯一被整组触发且写对了的**(HELDOUT §6.3;3 份全书 0 个版权标记 → 规则让「谁拥有」保持为**判不出**,未退而用封面) | | B-3①、A-3①、A-2②、A-2③ | ❌ **一次都没触发**(HELDOUT §6.3:未测) | | 其余 | ⚠️ **从未被任何报告检验过** | ### 4.4 前置化的副作用(**三条,前两条与「前置化」的方向相反**) **① 最重的一条:前置化可能降低护栏被整体读到的概率。** - 模式六十一的护栏(`:6358`)与触发条件(`:6354`)、动作(`:6355`)**在同一个 7 行表格里**。 - **HELDOUT2 的做法证明了这个「同表」的价值**:它把**动作+不适用整段抄进执行前置计划**(`:94` 明写两个都要), **9 条一次不漏**。 - ⚠️ **若把「不适用」拆出来提到每条开头,五格表就被拆成两个视觉单元**, 「一起抄」的动作随之变成「抄一处 + 另抄一处」。**这可能让护栏更难被整体带走,而不是更容易。** - **证据等级**:**n=1(HELDOUT2)+ 推断**,按 PITFALLS 88 登记为**待检验**,**不作为结论**。 **② 前置化会把 4 条不可判定的子句变成「必须先答对」的前置步骤,答错代价更大。** - B-1①「不会被任何人修改」是**对未来的预测**——后置时它是「写都写了,事后发现会改,代价是多写三行」; **前置时你必须先猜**,猜错的后果是**给一份真会被改的文件不上治理**。 - C-2①(自我评估)与 A-2③(重叠)在**前置**时没有更多信息可用——**前置不增加信息,只提前索取**。 **③ 文档长度不变,但「一屏读完一条」的性质会变。** - 36 个子句只是**换位置**,总字数不变(实测每格 94–193 字,13 格合计 ≈ 1.6k 字)。 - 真实成本是**注意力**:前置后读者在**还没决定要不要用这条**时就要读 2–3 条排除条件, 而 §1.5③ 已提示「动作写得越具体越有说服力」——**前置的不适用栏正是在对抗这个,但对抗的代价是启动门槛**。 ### 4.5 可检验的实验设计(**不提名新变量;只用已有的「不适用」与已有仪器**) **先说清楚这个实验现在做不了什么**:**全项目已知误用 n=1**(§1.1), 按 §1 的检索口径,60 份报告里出现 1 次 ⇒ **基线率低到无法用 A/B 测**。 (PITFALLS 82:**覆盖率近零的「稳定」等于没测**;PITFALLS 61:**触发 0 次=未经检验**。) **⇒ 所以必须先测基线,再谈干预。分三步,每步都能单独出结论。** #### 第 0 步(必做,最便宜):先量基线,不动文档 - **做法**:把「本条不适用栏判定:命中第X条/全部不命中」写成**每个 agent 报告的固定一行**, 位置在**第一次引用军火库之前**。 - **指标**(全部是已有口径):①引用了「不适用命中」的条目却未先写判定行的次数; ②复用 `SELFUSE.md:414`「军火库会给出错误答案的地方」那一节的审计,计误用数。 - **分母**:后续 N 份报告中**军火库引用总次数**(可数)。 - **判读**:`误用数 / 引用次数`。**N 不够大时只报分母,不报比率**(PITFALLS 79)。 #### 第 1 步(可与第 0 步并行):把「位置」做成可测的对照,而不是靠推理 - **同一批 case,两种排布**。case 的来源**已有现成的**:D-1① 的 3 份「全书 0 个版权标记」文件 ——**不适用条件明确成立**,且已证明规则在该条件下**能正确弃权**。 - 做法:把同一个 case 分别用 (i) 现五格排布、(ii) 「不适用前置」排布呈现, 交给**不同的执行者**,问同一个任务。 - **指标**:**正确弃权率**(该弃权却没弃权 = 误用)。 - ⚠️ **致命限制**:**执行者不可互换**(每个 agent 上下文不同),所以这不是随机对照实验, 是**两组不同的人**。**必须如实报为 n=两组人数**,**不得报 p 值**(PITFALLS 37: 只报 p 不报随机基线等于没做检验)。 #### 第 2 步(若第 1 步显示前置化无用):测「审计前置」而不是「文本前置」 - **依据是 §1.5②**:唯一那次误用是被一个**事后审计**抓到的(SELFUSE §422-445), **不是被护栏读到的**。 - **干预**:不改文档,改**流程**——凡引用军火库条目,**先跑一次「这条会给出错误答案吗」的审计,再取用动作**。 - **指标**:与第 0 步同一套。 - **这个干预不需要新变量、不需要改文档结构,且与 HELDOUT2 已有的成功做法同型** (它已经把两栏抄进执行前置计划——**只是它抄了内容,没有强制「判定」**)。 #### ⚠️ 三条都必须先声明的边界 1. **不能声称验证「前置化无效」**——只能声称「在 n=1 的既有误用上,前置化不是解」, 因为**误用率从未被测过**(§1.1)。 2. **不能把 HELDOUT2 当对照组**——它是**同一批人的第 2 轮**,且作者重叠,**不是独立样本**。 3. **第 1 步的两组不可互换**这条限制,**先写进任何结果引用里**(PITFALLS 58 的转述纪律)。 --- ## 5. 真正的问题不是「位置」 **结论(一句话)**:**「不适用」的位置不是失效点;失效点是「取用动作」与「护栏评估」之间没有强制连接。** **三条支撑,按证据强度排(n 与出处全部写明):** ### ① 生效的护栏长在第 1 格,不在第 5 格(证据:误用者自己的纠正理由) `REPORT-SELFUSE.md:444-446`——该 agent 最终抓到自己的错误时,写的理由是 > 「它的**触发条件**写的是『执行者与介质**都不知道』』,而我们的介质是已知的, > 所以**按它自己的触发条件它根本不触发**」 **他引用的是第 1 格,从头到尾没有引用过第 5 格的「不适用」。** ⇒ 真正起作用的筛子**已经存在,而且就在第一格**。 ⇒ **前置化(第 5 格 → 第 1 格前)改动的是位置,而位置不是失效的那一环。** ### ② 抓到误用的机制是「事后审计」,不是「事前读到护栏」(证据:同一份报告内的时序) | 时刻 | 位置 | 动作 | |---|---|---| | 先 | `SELFUSE.md:124-126` | **用**了模式六十一得出 badge 的处置 | | 后(**290 行之后**) | `SELFUSE.md:414` `## 5. 军火库会给出错误答案的地方` | **自己开了一节审计**,在 `:422-445` 把它列为「错误 1(严重)」 | ⇒ **误用被抓住,靠的是专门跑了一次审计,而不是读到了护栏。** ⇒ 把护栏前置只提高「读到」的概率,**对「读到但不评估」这个真正的失效点无效**。 ### ③ 前置化本身可能降低护栏被整体带走的概率(证据:HELDOUT2,**且方向与前置化相反**) `REPORT-HELDOUT2.md:94` 的封存对象是「**动作栏原文照抄 +「不适用的情况」栏**」—— **两栏一起抄,9 条一次不漏**。它能这么做,是因为两栏在**同一张表里**。 ⚠️ **证据等级 n=1 + 推断,按 PITFALLS 88 登记为待检验,不作结论。** **⇒ 因此我建议的方向(不是「前置化」,也不是「后置化」):** > **不要改格子的顺序。改的是「取用动作必须先过一道判定」这件事本身。** > 而这**不需要新变量、不需要新分类轴**——它是把 D-1① 已经在做的事(正确弃权)推广到所有条目, > 并用 HELDOUT2 已有的「抄进执行前置计划」作为执行形式。 --- ## 6. 本报告自己的洞(如实登记) 1. **本报告最重要的结论建立在 n=1 上,而那 n=1 我无法证明其读了第 7 行。** §1.2 我能证明的是「护栏与被引用文本相隔 3 行、同表」,**不能证明作者读到了它**。 ⇒ 「前置化无效」这个结论**只成立于「护栏与文本同屏且仍未被评估」这一种解释**; 若真实机制是「作者根本没往下读」,那前置化**可能有效**。**本报告不能排除这一支。** 2. **§2 的可观测性判定由我一人做,没有第二人复核。** 13 条的 36 个代价/不适用子句全部按我自己的单条判据打分。按 PITFALLS 47, **§2.1 的「6/5/2」与 §3.1 的「7/3/0」应标为「待复核断言」**。 3. **§2 的「可观测」在多数条目上从未被真的跑过一次。** 我给的观测方法里,**只有 D-1①(HELDOUT 实测 3/5)与 A-3(HELDOUT 5/5)被真正执行过**; B-1①「待定区变空」的 git 检查、A-2 的返工计数、A-4 的「停在不确定」计数—— **本报告没有跑任何一个**(跑它们会修改或读取大量历史,超出本任务范围)。 ⇒ 按 PITFALLS 61,**这些观测方法本身全部属「未经检验」**。 4. **§4.5 的实验设计里,第 1 步的两组执行者不可互换。** 这是设计缺陷不是执行缺陷:**它永远无法达到随机对照的强度**。我写了这个限制, 但**限制被写下来不等于限制被解决**。 5. **本报告读到的 13 条处境与 HELDOUT 检验的那 4 条可能不是同一版文本。** HELDOUT §6.7 记录「该段目前只存在于工作区,未进入 git HEAD」,且它自己做过 11 处措辞一致性检查。 **我读的是 20:13 的工作区版本,没有做同样的逐字比对,也没有比对 git HEAD。** ⇒ 若期间被并发会话改过,**§2 表与 HELDOUT §6.4 的对应关系可能不成立**。 ⚠️ **HELDOUT2(20:11 并发生成)引用的动作栏与本文档是否一致,我未核。** 6. **并发会话在我工作期间持续产出(20:11 HELDOUT2、20:17 PAGEVALUE2)。** 我的检索时点与计数时点必须随结论一起引用: **§1.1 的检索完成于 20:12–20:13,语料 59 份;20:17 复查为 60 份,新增的 PAGEVALUE2 不含军火库引用(已 grep,0 命中)。** ⇒ **n=1 的结论在 60 份上成立**,但**再多几份就可能变**。 7. **我没有修改仓库任何文件。** 唯一写入 = 本文件 `/tmp/vi-agents/REPORT-COST.md`。 本任务未渲染 PDF、未用 OCR(遵守任务书)。 --- ## 7. 订正与口径附记 | # | 位置 | 原写法 | 实测 | 处置 | |---|---|---|---|---| | 1 | §1.0 | 「共 **88** 个 REPORT-* 文件」 | 数之前写的;`ls REPORT-*.md \| wc -l` 在 20:13 = **59**,20:17 = **60** | **原句错,已就地订正**,以 59(检索时点)为准;§4.5 又写成「60 份报告」,**该处应读作 59**(检索在 60 份产生前完成),**按 PITFALLS 70 的口径纪律留痕,不静默改数** | | 2 | §4.1 | 「子句真数 = 36」 | 第一次用 `①\|②\|③\|④` 粗匹配得 **39**,多算 **3** 条——正文里「第 ② 行」这类**指代**被当成了子句编号 | 已按 `[①②③④⑤](?=\*\*)` 重算为 **36**,**36 为准** | | 3 | §3.1 / §1.1 | 「62 个模式」 | `grep -c "^### 模式"` = **61** | SELFUSE 报告写 62,本报告实测 61,**差 1 未查成因**,按 PITFALLS 81 登记为未查项。**§3 的抽样与该差无关**(抽样按标题定位,未按总数) | | 4 | §3.2 | 「11 处括号式代价全落在模式四十七~六十」 | Python 逐行归属实测:5482/5510/5577/5649/5682/5716/5771/5821/5897/6121/6327,**所属模式为 四十七~六十,逐行确认** | **成立**。其中 模式五十二 一条未命中「多/每」正则,但「有多少条就要核多少遍」**本身可数**,故 **11/11 可数** | **落盘自检** | 检查项 | 结果 | |---|---| | 读完 PITFALLS 后先写骨架再读其他文件 | ✅ 骨架 **27 行**先落盘(`wc -l` 确认),之后才读 HELDOUT / SELFUSE / 文档 / entries | | 是否只用 `>>` 写正文 | ✅ 全部 `cat >>`(7 次),**未使用 `write` 或 `>`** | | 每节写完 `wc -l` 核对递增 | ✅ 27 → 37 → 83 → 171 → 217 → 315 → 388 | | PITFALLS 读到的行数 | **1510 / 1510**(`wc -l` 与实读末行一致;末条为 95) | | 是否修改仓库文件 | ✅ **没有**。`git status` 未由我触碰;唯一写入 `/tmp/vi-agents/REPORT-COST.md` | | 是否渲染 PDF / 用 OCR | ✅ **没有**(遵守任务书:本任务不碰 1,561 份手册) | | 检索分母口径 | 误用检索:**59 份** REPORT-*(20:12–20:13),复查 **60 份**(20:17),新增 PAGEVALUE2 **grep 军火库相关词 0 命中** | ### 7.1 🔴 版本漂移复核(针对 §6 洞 5 的现场处理) `situation-entries.md` 的 mtime = **20:14:58**,**落在本会话内**(我约 20:12 读完 §1 所需的模式六十一五格)。 ⇒ 按 §6.5 的自陈,我**当场重读复核**,不把「应该没改」当结论: - `sed -n '6346,6360p'` 重读结果:**五格逐字未变**,行号未移 (触发条件仍在 6354、动作 6355、**不适用仍在 6358**,「只要执行者或介质有一项已知,立刻退出本条」逐字一致)。 - ⇒ **§1 的核心结论(同表、相隔 3 行)不受漂移影响。** - 同时记录该文件现值:**6,464 行、`^### 模式` 61 个**(与我 §3.1 抽样时一致), **文件其余部分的改动不影响本报告引用的任何一处**。 `aesthetics/brand-vi-appreciating-method.md` mtime = **20:06:32**,**早于本会话开始(20:08:22)** ⇒ **§2 与 §4 读的 13 条处境是会话内稳定版本。** ### 7.2 🔴 第二次漂移:**62 个模式「这一条」已被并发写入推翻** | 时点 | `wc -l` | `grep -c "^### 模式"` | |---|---:|---:| | 我 §3.1 测量(约 20:14) | **6,464** | **61** | | 20:19 复核 | **6,521**(+57 行) | **62** | ⇒ **§7 订正表第 3 条(「实测 61,SELFUSE 写 62,差 1 未查」)现已不成立为当前事实。** **我当时的测量是真的(61),但它已过期。** 当前值是 **62**,与 SELFUSE 一致。 **处置**: - **§3 的抽样结论不受影响**——抽样是**按标题定位**(十四/十八/二十九/三十三/四十七/四十八/五十二/五十五/五十八/六十), **且 10 条代价原文已逐条打印留档**,不依赖总数。 - **§3.2 的「11 处括号式代价全部落在模式四十七~六十」** 已于 20:16 用 Python **逐行归属实测**(不是靠数总数), **该结论不因总数从 61 变 62 而改变**;新增模式在文件尾部或他处,其代价语法未纳入这 11 处计数—— ⚠️ **若新增的那一条也用括号式代价,11 这个数会变成 12。本报告的 11 以 20:16 实测为准。** **这条本身是本报告的一个可复用观察**(可复用于任何跨会话取证): > **在有并发会话的目录里做计数,「我测到的数」与「现在��数」必须并列写出时点,否则订正会追着漂移跑。** > 这与 PITFALLS 70「跨轮比较前先对齐口径」同源,**这里要对齐的第四项是「时点」。** --- ## 8. 引用本报告的读法(按行号,不要按标题) 本文件第 **15–27 行**是按落盘纪律先写的**骨架占位段**,每段只有「(待填)」;真身全部追加在其后。 **`grep -n "^## "` 会看到两组同名标题** —— 与 `REPORT-SELFUSE.md:563-574` 记录的是同一个坑(PITFALLS 91)。 | 要读的节 | **真身在行号** | |---|---| | §1 前置检查(可能推翻前提) | **30–171** | | §2 13 条「代价」栏可观测性表 | **83–171** 区间内的 §2 与 §2.1/§2.2 | | §3 模式抽样 10 个 | **217 之后** | | §4 不适用可判定性 + 副作用 + 实验 | 同上 | | §5 真正的问题 | 追加段「## 5. 真正的问题不是「位置」」 | | §6 本报告的洞 | 追加段「## 6. 本报告自己的洞」 | | §7 订正与漂移复核 | 追加段「## 7.」起至末行 | **一句话结论(供父会话直接引用)**: > **前置检查推翻了任务书的前提。** 已知误用 n=1(模式六十一/C-2), > **护栏与被误用者引用的文本在同一张 7 行表内、相隔 3 行**,且**抓错的是事后审计不是护栏本身**; > 而「护栏前置」已由 `REPORT-HELDOUT2.md:94` **人工实现过一次且成功(9/9)**。 > **⇒ 失效点不在位置,在「取用动作与护栏评估之间没有强制连接」。** > **代价栏 13 条:可观测 6 · 部分 5 · 不可观测 2**(不可观测的 B-5 与 C-1 实为**警告**与**免责声明**, > 其中 C-1 与「不适用」③**逐字重复**)。 ### 8.1 「未修改仓库」的精确表述(不写成无法核验的断言) `git diff --stat` 对这两个文件**非空**(`brand-vi-appreciating-method.md` +780 行、 `situation-entries.md` +666 行)——**但这不等于我改过**。逐项给证据: | 文件 | mtime | 与本会话(20:08:22 起)的关系 | 我对它做过什么 | |---|---|---|---| | `aesthetics/brand-vi-appreciating-method.md` | **20:06:32** | **早于会话开始** | **只读**(`read`) | | `meta/brand-vi-research/situation-entries.md` | **20:14:58 / 后续并发再改** | 落在会话内,**但由并发会话改动** | **只读**(`grep` / `sed -n` / Python 读) | **本会话对仓库的唯一写操作 = 0 次**;我的全部写入都指向 `/tmp/vi-agents/REPORT-COST.md`(用 `cat >>`)。 **未核验的部分(如实登记)**:我没有比对 `git stash list` 或 reflog,**无法给出「这两个文件的改动全部来自谁」的完整归因**; 按 SELFUSE §7 第 6 条的同款口径,这一句应标为**「我说了但未独立验证」**。 **能确定的是**:**这两个文件在我读到它们时的内容,已被我逐字留档在本报告 §2/§3/§1.2 中,且 §7.1 做过漂移复核。**