From 2516e2dc4819204b77f89b234bdc97259dadd515 Mon Sep 17 00:00:00 2001 From: JianFeeeee Date: Sat, 26 Sep 2026 01:43:21 +0800 Subject: [PATCH] =?UTF-8?q?=E2=98=85=E2=98=85=E2=98=85=E2=98=85=20?= =?UTF-8?q?=E5=86=8D=E6=9B=B4=E6=AD=A3:=20=E6=88=91=E5=9C=A8=20`5608e6e`?= =?UTF-8?q?=20=E5=86=99=E7=9A=84"=E5=86=B3=E5=AE=9A=E9=A1=B9=3D=E5=8C=B9?= =?UTF-8?q?=E9=85=8D=E7=82=B9**=E4=B9=8B=E5=90=8E**=E5=AD=97=E8=8A=82?= =?UTF-8?q?=E6=95=B0"**=E4=B9=9F=E8=A2=AB=E6=88=91=E8=87=AA=E5=B7=B1?= =?UTF-8?q?=E7=9A=84=E5=AE=9E=E9=AA=8C=E6=8E=A8=E7=BF=BB**=20=E2=80=94?= =?UTF-8?q?=E2=80=94=20=E5=90=8C=E6=96=87=E4=BB=B6=E5=90=8C=E5=AD=97?= =?UTF-8?q?=E8=8A=82=E6=95=B0=E3=80=81=E5=8F=AA=E6=8D=A2=E7=94=9F=E4=BA=A7?= =?UTF-8?q?=E8=80=85=20=E2=87=92=200/100=20vs=2090/100?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit ★★ (A) 决定性对照(**冻结字节数**,只换生产者进程): `deploy/redeploy-gateway.sh` 注入后 原 31115B / strip 后 11833B cat | grep -q ⇒ 141 **0/100**(两轮 0/100、0/100) sed | grep -q ⇒ 141 **90/100**(两轮 90/100、86/100) ⇒ 字节数**完全一样**、结果 0 vs 90 ⇒ "匹配点之后字节数"**被直接证伪** ★★ (B) 真正相关的量: 生产者**每次 write 的块大小**(同数据 110898B、匹配@1,每格 60×3 轮) dd bs=512 55/54/52 dd bs=4096 5/13/11 dd bs=16384 12/10/4 dd bs=65536 **0/0/0** cat **0/0/0** sed -n p 32/60 实测 `F_GETPIPE_SZ` = **65536B** ⇒ **写块越大越不易 141**(一次 write 进缓冲) ⚠️ 非干净单变量: 4096(5–13) 与 16384(4–12) 区间重叠 ⇒ 方向明确、**未定阈值**、不声称唯一 ★★ (C) 我连错两次、方向相反(pi 说"之前"、我说"之后"),**错在同一个方法论**: 我从"某量变、结果也变"推出"那就是决定项",**没做"冻结该量、只改另一量"的对照** —— 而 (A) 之所以有效正因为它冻结了字节数,**这恰是我前两次都缺的那一步** ⇒ 记法: **"相关"升级为"决定",必须排除"该量不变而结果仍变"的反例** ⇒ 与 `75bd500`("结论方向被我读反")**同源不同面**: 那次读反、这次把相关当因果 ★ 围栏 1026(偶)放行 --- docs/API.md | 45 +++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 45 insertions(+) diff --git a/docs/API.md b/docs/API.md index 5d3e165..d4d7451 100644 --- a/docs/API.md +++ b/docs/API.md @@ -6390,3 +6390,48 @@ window.__AGENTMAIL_TOKEN__ = ''; // 省略则走 Cookie ⇒ 实用差别很大: 若"确定性",测一次就够、可预算;若"竞争", **一次绿不构成"这条路径没问题"** —— 必须**重复**或**改掉写法** ``` + +--- + +- ★★★★ 再更正: 我在 `9bf5776` 里写的"决定项是**匹配点之后**的字节数"**也被我自己的实验推翻** —— + 同一份文件、同样的前/后字节数,**只换生产者进程**,结果从 0/100 跳到 90/100: + + ## (A) 决定性对照: 同文件同字节数,只换生产者 + ``` + deploy/redeploy-gateway.sh(注入裸赋值后): 原 31115B,strip 后 11833B + 生产者 141 出现 + cat **0/100** ← 同文件、同字节数 + sed 's/#.*$//' **90/100** ← 同文件、同字节数 + ★ 两轮重复: cat 0/100、0/100;sed 90/100、86/100 ⇒ 稳定复现 + ⇒ ★ 若"匹配点之后的字节数"是决定项,两者**必须同结果**(字节数完全一样) + ⇒ 我的规则**被这个对照直接证伪** + ``` + ## (B) 我随后找到的**真正相关量**: 生产者**每次 write 的块大小** + ``` + 同一份数据(110898B、匹配@第 1 行)、同一总量,只改写入块大小(每格 60 次、三轮): + 生产者 轮1 轮2 轮3 + dd bs=512 55/60 54/60 52/60 + dd bs=4096 5/60 13/60 11/60 + dd bs=16384 12/60 10/60 4/60 + dd bs=65536 **0/60** 0/60 0/60 + cat **0/60** 0/60 0/60 ← cat 用大块(典型 128KB) + sed -n p 32/60 ... ← sed 小块 + ※ 管道缓冲实测 F_GETPIPE_SZ = **65536B** + ⇒ 形状: **写块越大 ⇒ 越不容易 141**(一次 write 装进 64KB 缓冲 ⇒ 读者退出前写者已写完) + 写块小 ⇒ 写者要多次 write ⇒ 读者退出后仍有数据要写 ⇒ EPIPE + ⇒ ★ 这**同时解释了 (A)**: cat 用大块、sed 用小块 ⇒ 同字节数、不同结果 + ⚠️ 但它**不是干净的单变量**: `dd bs=16384`(4–12/60) 与 `bs=4096`(5–13/60) 区间重叠, + 而 `bs=512`(52–55/60) 明显更高 ⇒ 方向明确、但**我未定出阈值**,也不声称它是唯一因素 + ``` + ## (C) 两次更正的关系(我连错两次,方向相反) + ``` + ① pi 说: 决定项 = **匹配点之前**的字节数 ⇒ 我用 2×2 证伪(前大/后小 ⇒ 0/40) + ② 我说: 决定项 = **匹配点之后**的字节数 ⇒ 被"同文件换生产者"证伪(字节数相同、结果 0 vs 90) + ⇒ ★ 两次都错在**同一个方法论**: 我从"某个量变了、结果也变了"推出"那就是决定项", + 而**没有做"控制该量不变、只改另一量"的对照**。 + (A) 的对照之所以有效,正因为它**冻结了字节数**——而这恰恰是我前两次都没做的。 + ⇒ 记法: **"相关"要升级成"决定",必须有一个"该量不变而结果仍变"的反例被排除**; + 我前两次都是**只做了正向相关观察就下了因果结论**。 + ⇒ 与我 `94bfec3` 那条("同一个观察,结论方向被我读反")不同: 那次是**读反**, + 这次是**把相关当因果** —— 同源(证据强度不足就下结论),不同面。 + ```