# 知识体系的价格：原型报告

2026-10-30，同日按用户决定修订三次（修订记录见第 7–9 节）。

- 定义见 [KB_price_definition.md](KB_price_definition.md)，可视化见 [kb_price.html](kb_price.html)。
- 所有数字由 [`scripts/kbp_compute.py`](scripts/kbp_compute.py) 从已有数据算出，存于 [`data/results.json`](data/results.json)。
- 本原型没有调用模型、没有训练、没有新实验。

## 0. 结论

1. **体系本身是一个答案规则，可以直接用三轴和 ρ\* 定价。** 全 KB（8 族、28 条有效规则）答 349/500 题，u = 0.302，域内 e = 18.9%，ρ\* = 7.0%。改用族作为单位后，这些数字没有变；变的是归因和解读。
2. **计价单位是族。** 35 条主张归为 10 族。位移族的 25 条（20 条有效）是同一条机制，只差阈值、范围、校准、代理量这些参数。
   - 按族留一：位移族多答 230 题、多错 20 题。
   - 逐条留一再相加：只有 111 题、6 个错。另外 119 题没有任何一条得到功劳。
3. **族的价格是前沿。**
   - 位移族的成员从（243 题，e = 11.1%）到（126 题，e = 4.0%），ρ\* 在 18.5%–21.5% 之间。
   - KB 实际用的配置落在前沿上。
   - 在合同上挑参数：样本内误差平均偏低 1.8 点（标准差 3.0）。
4. **跨族相互作用很少。** 28 对族里 21 对从不在同一题说话，交互效应恰为 0。有交互的 3 对：
   - 冲突：K0033 对 D\* 族，25 个冲突对里 D\* 族对 23 个；
   - 冗余：螺旋深残差与 D\* 族在 10 个候选对上全部一致；
   - 组合：位移族与 K0238 合起来答出 1 题。
5. **原型第一版里的“冲突”“否决”“前提链”大多是位移族内的参数分歧。** K1071、K1072 定饱和上限，K1012b 定 margin，K1019 定校准，K1004 定适用范围。本 KB 没有跨族否决。
6. **成对合同给单条成对主张定了价。**
   - K1001 在 1500 个候选对上答 488 个，e = 10.5%，成对 ρ\* = 18%。
   - K0016 在整题合同上一题也答不出，在成对合同上 5 对全对。
7. **标准读数是按族留一的转移表，不设回退（用户已定）。** 位移族的标准读数：多答 230 题、多错 20 题，新答题准确率 91.3%、ρ\* = 21.5%，即 Δe = +4.0 点、Δc = −46 点。回退到截断试探或闭卷模型的数另报为“对某个使用者的价值”。
   - **族只报前沿，不指定代表成员（用户已定）。** 需要单个数时固定一轴来读，例如位移族在 e ≤ 5% 时最多答 202 题。
8. **没有合成标量；暂不做 2×2 消融。**

## 1. 做了什么

### 1.1 合同

本原型有两份合同，分开报，不合成【用户】。

**整题合同。** ArchitectureIQ v1.5 主榜 500 题：优化器题 168、架构题 170、混合题 162。默认题池 `kb_science_pool_v1` 的 arch170 就是其中的架构题。

- 每题提供 3 个候选的结构化配置、10 种子真值，以及每个候选完整的训练曲线。
- 截断基线：每个候选训练到自身预算的 ρ 倍，看 10 种子均值曲线，选当前领先者；0.5% 网格，取首次追平点。
- 这个口径复现了已有面板的数字：ρ = 10% 时 79.4%，ρ = 30% 时 89.4%。

**成对合同。** 上述 500 题里的 1500 个候选对，其中 1380 对的胜负超过 2 个标准误。截断基线在成对上选两者中当前领先者，10% 预算时成对准确率 81.4%。

**闭卷模型的复核。** 按逐题文件重算 ρ\*，除最强模型外都与面板一致。最强模型的逐题文件给出 76.4%（ρ\* = 7.0%），面板写的是 77.6%（8.5%）；面板用的快照不在本机。

### 1.2 主张与族

35 条主张全部取自两个真实 KB，由我们写成读结构化配置的引理：

- **qwen KB**：`kb_evolve_*` 快照，部署实验 +15.8 / +3.3 / −3.3 用的就是它。
- **soa KB**：`soa_async_v1/kb_live.json`。K1001 和它原文里点名引用的条目都取自这里。

按“同一机制、同一预测方向，只差参数”分族，以 KB 的合并与引用记录作初分：

| 族 | 成员 | 有效 | 说明 |
|---|---:|---:|---|
| 位移族 | 25 | 20 | K1001 是默认成员；校准、margin、饱和上限、范围、代理量由其余成员设定 |
| D\* 族 | 1 | 1 | K0329；临界点 D\* 是补的参数 |
| 螺旋深残差 | 2 | 2 | K0030、K0038 |
| K0052、K0238、K0055、K0078、K0033 | 各 1 | 各 1 | 架构类单条主张 |
| K0249、K0236 | 各 1 | 0 | 在 v1.5 上声明域为空 |

边界情形：K0009、K0010 用名义学习率代替 Δ，K1071 在饱和带以上把方向反过来。两者都已由用户定为位移族成员，代理量和饱和带都是族的参数。

另外，35 条中有 7 条声明域为空：K0073、K0212、K0166、K0015、K0012、K0249、K0236。

### 1.3 体系

合成规则 σ = 选择规则 + 传递闭合 + 可选的回退。默认选择规则是“具体者优先”，只用声明域大小，不看真值。

## 2. 价格

### 2.1 体系与族（整题合同）

| 答案规则 | 条数 | 作答 | u | e（95% 上界） | c | ρ\* |
|---|---:|---:|---:|---:|---:|---:|
| 位移族：K1001 原文 | 1 | 156 | 0.688 | 12.2%（17.4%） | 0 | 18.5% |
| 位移族：soa 的配置 | 7 | 226 | 0.548 | 8.4%（12.1%） | 0 | 21.5% |
| 位移族：KB 全部成员 | 20 | 229 | 0.542 | 8.7%（12.4%） | 0 | 21.5% |
| D\* 族 | 1 | 109 | 0.782 | 33.0%（41.2%） | 0 | 4.0% |
| 架构类 7 族合计 | 8 | 119 | 0.762 | 38.7%（46.6%） | 0 | 2.0% |
| 全 KB（8 族） | 28 | 349 | 0.302 | 18.9%（22.7%） | 0 | 7.0% |
| 全 KB + 回退到最强闭卷模型 | 28 + 1 | 500 | 0 | 22.2% | 0（惯例） | 8.5% |
| 位移族 + 回退到 10% 截断试探 | 20 | 500 | 0 | 18.4% | 5.4% | 11.5% |
| 最强闭卷模型 | — | 500 | 0 | 23.6% | 0（惯例） | 7.0% |
| 截断试探 10% | — | 500 | 0 | 20.6% | 10% | 基线 |

### 2.2 位移族的前沿

把 K1001 原文没给数的参数扫一遍，得到 64 个成员。参数有四个：SGD 是否校准、margin（0 / 25% / 100% / 300%）、饱和上限（不设 / 1 / 0.3 / 0.1）、是否扩到架构不同的对。扫描没有代理量这一维。K0009、K0010（名义学习率）只通过 KB 配置进入前沿：“qwen 合并前（13 条）”和“位移族全部（20 条）”含它们，后者就是下表的“KB：位移族全部成员”；成对合同的前沿上没有含它们的配置。前沿取在“扫描成员 ∪ KB 配置”上，下表列前沿的几个代表点：

| 前沿上的点 | 作答 | e | ρ\* |
|---|---:|---:|---:|
| 校准，扩到异构对，不设 margin、不设上限 | 243 | 11.1% | 18.5% |
| 校准，margin 25%，上限 0.3，扩到异构对 | 231 | 9.1% | 21.0% |
| KB：位移族全部成员 | 229 | 8.7% | 21.5% |
| KB：soa 的配置 | 226 | 8.4% | 21.5% |
| 校准，margin 25%，上限 0.1，扩到异构对 | 202 | 5.0% | 21.5% |
| 校准，margin 25%，上限 0.1 | 126 | 4.0% | 21.5% |

从这张表可以读出四点：

- **饱和上限主导误差。** K1001 原文说“只在饱和以下”，却没给上限。原型第一版因此不设上限，取的是误差偏大的一端：原文直译答 159 题，e = 13.2%。
- **KB 配置比通用参数更好。** KB 的配置落在前沿上，而且比 4 个通用参数扫出的同覆盖成员略好。原因是 K1071、K1072 这类按任务族定的饱和带，不在通用参数里。
- **ρ\* 沿前沿几乎不变**（18.5%–21.5%）。沿前沿变的是覆盖与误差的配比，平均到每道题值多少试探算力基本稳定。
- **挑参数有乐观偏差。** 在本合同上按误差最小挑成员是拟合。两折交叉验证（20 次随机划分，共 40 折）下，样本内误差平均比留出部分低 1.8 点（标准差 3.0）。

D\* 族（K0329）的前沿由 D\* 一个参数决定：

| D\* | 作答 | e | 说明 |
|---|---:|---:|---|
| 0 | 128 | 39.1% | 只用后半句：按 depth、width、residual、LN 依次比 |
| 0.05 | 109 | 33.0% | 原文 |
| ∞ | 92 | 22.8% | 只用前半句：按 LayerNorm 层数比 |

D\* 族其实是两条子主张：前半句成对准确率约 80%，后半句约 59%。

## 3. 找到的实例

### 3.1 按族留一

从全 KB 里一次拿掉整族，答案的变化如下：

| 族 | 转移 | Δ作答 | Δ错题 | 新答题：准确率 / ρ\* |
|---|---|---:|---:|---|
| 位移族 | 不答→对 210，不答→错 20 | +230 | +20 | 91% / 21.5% |
| D\* 族 | 不答→对 57，不答→错 38 | +95 | +38 | 60% / 1.5% |
| K0238 | 不答→对 9 | +9 | 0 | 100% / 51.5% |
| K0033 | 对→错 6，对→不答 5，不答→错 5，错→对 1，不答→对 1 | +1 | +10 | 17% / <0.5% |
| K0052 | 不答→对 1 | +1 | 0 | 100% / <0.5% |
| 螺旋深残差、K0078 | 无变化 | 0 | 0 | — |
| K0055 | 错→错 1 | 0 | 0 | — |

标准读数由同一份转移表直接得到，不设回退；后两列是另报的“对某个使用者的价值”：

| 族 | 标准读数：不设回退（= §2.4 直接训练） | 对使用者：回退到 10% 试探 | 对使用者：回退到最强闭卷模型 |
|---|---|---|---|
| 位移族 | Δe +4.0 点，Δc −46 点 | Δe −2.2 点，Δc −4.6 点 | Δe −0.2 点 |
| D\* 族 | Δe +7.6 点，Δc −19 点 | Δe +4.2 点，Δc −1.9 点 | Δe −0.6 点 |
| K0033 | Δe +2.0 点，Δc −0.2 点 | Δe +1.6 点，Δc ≈0 | Δe +1.4 点 |
| K0238 | Δe 0，Δc −1.8 点 | Δe −0.2 点，Δc −0.2 点 | Δe −0.6 点 |

标准读数和“对使用者的价值”的符号可以相反。D\* 族在标准读数和对 10% 试探使用者的读数下都让误差升高，对最强闭卷模型的使用者却让误差降低，因为模型在架构题上本来就弱（58.2%）。

### 3.2 族内：参数分歧与冗余

这些在原型第一版里被当作相互作用；按族的原则，现在归为参数。

**合并。** K1001 合并了 14 条旧主张，它们都是位移族成员。有声明域的 11 条中，9 条加在 K1001 之上边际作用为 0；3 处单对分歧都是 K1001 对。合并丢掉的 7 题，都被 soa 的其余成员答回。

**范围参数。** K0019（T ≈ 500–2000）与 K0198（T ≤ 256）的声明域不相交，两者都落在 K1001 之内。

**参数分歧。** 例外参数在自己的范围里通常更对：

| 分歧 | 候选对 | 按例外参数对 | 按默认参数对 |
|---|---:|---:|---:|
| K1071（饱和带）vs K1001 | 8 | 6 | 2 |
| K1019（校准）vs K1001 | 7 | 6 | 1 |
| K1071 vs K0019 | 4 | 4 | 0 |
| K1072（饱和上限）vs K1001 | 1 | 1 | 0 |

**否决参数。**

- K1012b（margin）切走 K1001 的 17 个结论。这部分上 K1001 错 35.3%，留下部分错 9.6%。
- K1004（范围排除）切走 14 个，这部分错 14.3%，与留下部分的 10.3% 相差不大。

两者都是族内否决，按已定的方式体现在前沿上，不单独报价。

**族内合取。** K1019 只比 SGD 与自适应优化器，K0009 只比两个自适应优化器的学习率。单独都选不出胜者的 24 题，合起来答对 22 题。在全 KB 里，这 24 题本来就由 K1001 回答。

### 3.3 跨族：冲突、冗余、组合

- **冲突。** K0033 族说小学习率下 pre-LN 残差网络起步慢；D\* 族在位移很小时说 LayerNorm 层数多者胜。两者预测方向相反，32 个重叠对里冲突 25 个，D\* 族对 23 个。

  K0033 声明域更小，具体者优先听它的。两族合用比各自之和更差：回退到最强模型时交互 −1.0 点，合起来才答出的 2 题都错。
- **冗余。** 螺旋深残差族在 10 个候选对上与 D\* 族全部一致，它在全 KB 里的留一边际作用为 0。这是经验冗余。
- **组合。** q_14d21e 上的推导分两步：
  1. 位移族比较 A、C：同为 GRU，Δ 大者胜；
  2. K0238 比较 B、C：同一优化器，GRU 胜 Transformer。

  两族单独都答不出，合起来答对。
- **定理检验。** 28 对族里，21 对从不在同一题说话，交互恰为 0。同题说话的 7 对里，3 对有非零交互。

### 3.4 误差传递

“前提”指推出答案用到的全部成对结论，包括传递链中间那一对。

| 两条前提 | 族内 / 跨族 | 合用答出 | 实际错误率 | 宽域前提误差之和 | 本域前提误差之和 |
|---|---|---:|---:|---:|---:|
| K1019 + K0009 | 族内 | 24 | 8.3% | 20.6% | 29.2% |
| K1071 + K0009 | 族内 | 7 | **14.3%** | 12.3%（失效） | 28.6% |
| K0019 + K0009 | 族内 | 5 | **40.0%** | 25.0%（失效） | 60.0% |
| 其余 5 组 | 族内 | 3–11 | 0% | 0–24.6% | 0–20% |

- 本域之和在 8 组里全部成立。
- 宽域之和有 2 组失效：错误集中在两条前提交叠的窄域里。
- 推理核心的这条规则对族内、跨族同样适用。跨族组合只有 3 道题，太少，不足以检验。

### 3.5 边际作用依赖谁在用

把规则加到不同的闭卷模型之上（规则作答，其余题交给模型）：

| 基模型 | 单独误差 | + 位移族 | + 全 KB |
|---|---:|---:|---:|
| 最强（GPT-5.6 Sol） | 23.6% | 23.4% | 22.2% |
| GPT-4o | 39.8% | 28.8% | 27.0% |
| Gemini 2.5 Pro | 44.2% | 35.2% | 28.6% |

### 3.6 知识的价值随试探预算变化

“规则作答 + 规则不答的题回退到试探 ρ_f”在低预算处胜过纯试探。预算超过约 23%（全 KB）或 52%（位移族）后，规则锁死的错误比试探更贵，两条曲线交叉。

### 3.7 部署中的 LLM + KB 体系

同一 KB、同一批 120 题次，只换渲染策略：

| 渲染策略 | 不带 KB | 带 KB | 提升（± 配对 1 SE） | ρ\* 带 KB |
|---|---:|---:|---:|---:|
| 置信度前 40 + 试用槽 | 45.8% | 61.7% | +15.8 ± 5.0 | 5.0% |
| PUCT 前 40 | 49.2% | 52.5% | +3.3 ± 5.0 | 2.0% |
| PUCT 前 20 | 45.0% | 41.7% | −3.3 ± 4.7 | < 0.5% |

- 配对比较带 KB 臂：置信度前 40 比 PUCT 前 20 高 20.0 ± 5.0 点。
- 三组“不带 KB”臂之间最多相差 4.2 点，所以 PUCT 两组的 ±3.3 点都在噪声内。
- 已定暂不做 2×2 消融。

### 3.8 稳健性

kb_evolve 的 run 在 v1.5 上见过 225 道题。按题型分开比较全 KB 的误差，见过与没见过的题之间没有系统差异：

| 题型 | 见过 | 没见过 |
|---|---:|---:|
| 优化器题 | 8.8% | 9.1% |
| 架构题 | 39.8% | 33.3% |
| 混合题 | 0% | 11.3% |

## 4. 定义在哪里不够用

1. **族的划分要人来定。**
   - 本原型的规则是“同一机制、同一预测方向，只差参数”。
   - 本 KB 的边界情形（K0009、K0010 用名义学习率代替 Δ；K1071 在饱和带以上反转方向）是判断问题，已由用户定为位移族成员。
   - 划分不同，族的前沿和按族留一的数都会变。
2. **族的参数空间写不全。**
   - 4 个通用参数扫不出 KB 按任务族定的饱和带，也没有代理量这一维，所以前沿取在“扫描成员 ∪ KB 配置”上。
   - 参数空间的边界本身是一个建模选择。
   - 在合同上挑参数有约 1.8 点的乐观偏差。
3. **标准读数不选 ρ_f，代价只按“省下的完整训练”计。** 和预算有关的判断（第 3.6 节的交叉）不在标准读数里，要看“对使用者的价值”和代价—误差平面。
4. **只报前沿时，单个数依赖固定哪一轴、固定在哪。** 例如位移族固定 e ≤ 5% 时最多答 202 题，固定 e ≤ 10% 时最多答 236 题；这些读数都是样本内的。
5. **跨族否决在本 KB 里没有实例。** 已定的报价方式（按对目标 (e, u) 的改变）在本原型里无法检验。
6. **闭包只做到传递性。** 冗余是经验冗余；换一个更宽的 Ω，螺旋深残差族可能不再冗余于 D\* 族。
7. **c 轴在规则体系里退化成 0。** 闭卷模型推理开销记 0 只是惯例；如果 c 要计入信息与推理，需要统一口径（SAI 定义 §6.3 已列为未决）。
8. **小声明域上的 e 与 ρ\* 不稳定。**
   - 只答 1 题且答对时，e 的 95% 上界是 95%。
   - ρ\* 取决于声明域内的题对截断有多难。K0238 单独用时答 8 题全对，ρ\* < 0.5%；按族留一时新答的 9 题（多了一道跨族组合题）也全对，ρ\* 却是 51.5%。
9. **截断曲线不单调，首次追平口径偏向基线。** ρ = 9% 与 10% 时准确率相同，所以“截断试探 10%”自己的 ρ\* 是 9%。
10. **成对合同的真值有噪声。** 1500 个候选对里有 120 对的胜负不到 2 个标准误；页面另报了只算显著对的 e。
11. **操作化由我们完成。** 每次把文本写成引理，都是在族里挑一个成员；前沿就是为了把这种自由度摆出来。

## 5. 决定

**2026-10-30，用户“按建议定”：**

1. 计价单位是族（用户原则）。
2. 加成对合同，给单条成对主张定价；体系的价格仍在整题合同上报；两份合同分开报，不合成。
3. 否决不定汇率，归合法性核心。跨族否决按它对目标 (e, u) 的改变报价；族内否决作为族的参数，体现在前沿上。
4. 暂不做 LLM+KB 的 2×2 消融。

**2026-10-30，用户“改用族级读法”：**

5. 标准读数：按族留一，读边际域上的转移表，汇总成 Δ作答、Δ错题和新答题上的 ρ\*；不设回退，等于定义稿 §2.4 回退到直接训练。回退到截断试探或闭卷模型的数，标为“对某个使用者的价值”另报。
6. 代表成员：不指定。族的价格只报 θ 上的前沿；需要单个数时固定一轴来读，并注明在合同上挑 θ 的样本内偏差。

**2026-10-30，用户“算作位移族”：**

7. K0009、K0010 用名义学习率代替 Δ，算作位移族成员；名义学习率是族的一个参数（代理量）。原型本来就这样处理，数字不变。K1071（饱和带以上反转方向）已随前面的决定归入位移族，族划分的边界情形至此都已定。

## 6. 复现

```bash
python3 kb_price/scripts/kbp_compute.py
python3 kb_price/scripts/kbp_page.py
```

对外版本把闭卷模型名匿名为 Frontier-1…10：两条命令前都加 `SAI_PUBLIC=1`。KB 来源名（qwen / soa）在对外版本里是否也要匿名，需要另定。

数据源全部只读：

- `ArchitectureIQ/aiq_bench_repo/data/v1_review/`：v15_questions.json、v15_curves/；
- `aiq_bench_repo/data/evals/server_results/aiq/v15_main500_p2/`；
- `ArchitectureIQ/aiq_rl/data/kb_scratch/`：kb_evolve_*、kb_science_loop/soa_async_v1/kb_live.json。

`AIQ_KB_DATA/runs/` 里只有定向研究和发布记录，没有逐题解题记录，所以本原型没有用到它。

## 7. 修订记录（2026-10-30，按用户决定第 2–4 条与“族是计价单位”）

**改动的文件：**

- `KB_price_definition.md`、`KB_price_report.md`：按族重写，标出已定与待定。
- `README.md`：补新脚本与决定。
- `kb_price.html`：重新生成。
- `data/results.json`：新增族、前沿、成对合同、否决切分等字段，原有字段保留。
- `scripts/kbp_rules.py`：新增族划分 `FAMILIES`，每个成员注明它设定的参数。
- `scripts/kbp_family.py`：新文件，位移族的参数化成员与扫描。
- `scripts/kbp_data.py`：截断计算拆出逐候选的曲线值，新增成对截断与成对 ρ\*。
- `scripts/kbp_system.py`：新增成对合同定价 `PricedPairs` 与否决切分 `veto_split`。
- `scripts/kbp_compute.py`：新增族级计算（按族留一、族前沿、跨族关系与交互、成对合同、否决切分、交叉验证）。
- `scripts/kbp_page.py`：页面改为按族组织，新增族前沿、族级边际作用、族间关系、成对合同等图表。

**数字：**

- **体系价格不变**：全 KB 349/500、e 18.9%、ρ\* 7%。各条规则单独用的价格、成员级留一、误差传递表的数字也不变。
- **新增**：
  - 族级留一，例如位移族 +230 题 / +20 错，对照逐条相加的 111 / 6；
  - 位移族前沿，从（243，11.1%）到（126，4.0%），ρ\* 18.5–21.5%；
  - D\* 族前沿；
  - 成对合同上的价格，例如 K1001 为 488 对、e 10.5%、成对 ρ\* 18%；
  - 否决切分，例如 K1012b 切走部分 e 35.3%、保留部分 9.6%；
  - 族层面定理检验，21/28 对不相交，交互全为 0。
- **重新归类**：原型第一版的“冲突、否决、前提链”大多改为位移族内的参数；跨族相互作用只剩 3 对。
- **挑参数的乐观偏差**：讨论时报的是 0.9 点，那次扫描没有包含“扩到异构对”这个参数；加上后为 1.8 点（标准差 3.0）。
- **保存精度**：`results.json` 的保存精度从 4 位小数改为 6 位，避免页面上的百分数被舍入两次。页面上十几处一位小数的百分数因此变动 0.1 点，例如 K1001 的成对误差从 10.4% 变为 10.5%（实际值 10.45%）。本文引用的数字不受影响。

## 8. 修订记录（2026-10-30，按用户决定第 1 条与代表成员）

**改动的文件：**

- `KB_price_definition.md`：
  - §2.2 写入“只报前沿、不指定代表成员、固定一轴来读”，并给出固定一轴的读数与样本内偏差；
  - §4.1 写入标准读数（转移表，不设回退）和“对某个使用者的价值”另报；
  - 删去全部“待定”标记，§6 相应改写。
- `KB_price_report.md`：第 0、3.1、4、5 节按决定改写；本节为新增。
- `README.md`：已定与待定改为全部已定。
- `scripts/kbp_page.py`：
  - 族级边际作用改为“标准读数”一张表，外加“对使用者的价值”另报一张表；
  - 族的前沿一节新增“固定一轴的读数”表；
  - 页首、结论、定义卡片、“不够用”清单删去待定项。
- `kb_price.html`：重新生成。

`results.json` 和其余脚本没有改动，没有重算。

**数字：** 没有数字变化，只有标注变了：

- 原来的“读法 A”就是现在的标准读数；
- 原来的“读法 B”和模型读数，现在标为“对某个使用者的价值”。

新增的“固定一轴”读数都取自已有结果：位移族在 e ≤ 5% 时最多答 202 题，e ≤ 10% 时最多答 236 题；作答 ≥ 230 题时 e 最低 9.1%。

**样本内偏差的数字：** 用户的决定文本引用的是讨论阶段的 0.9 点（标准差 3.3）。本文和页面写的是现在完整扫描的 1.8 点（标准差 3.0），并注明 0.9 点来自少了一个参数的扫描。

## 9. 修订记录（2026-10-30，用户“算作位移族”）

用户确认 K0009、K0010 算作位移族成员，名义学习率是族的一个参数（代理量）。原型本来就这样处理。

**改动的文件：**

- `KB_price_definition.md`：
  - §1.3 边界情形改为用户已定；
  - §2.2 补一句：扫描没有代理量这一维，K0009、K0010 只通过 KB 配置进入前沿；
  - §6 第 1 条相应改写。
- `KB_price_report.md`：第 0、1.2、2.2、4、5 节相应改写；本节为新增。
- `README.md`：这一边界情形移入“已定”。
- `scripts/kbp_rules.py`：位移族的说明文字（写进 `results.json` 的 note）。
- `scripts/kbp_page.py`：页首“已定”、结论第 2 条、族的前沿一节、“定义在哪里不够用”第 1、2 条。
- `data/results.json`、`kb_price.html`：重新生成。

**数字：** 没有变化。重跑后 `results.json` 只有位移族说明这一个字符串变了，其余字段逐项相同。
