十八、10-02:追查结案 —— 那不是"她退化了",是我们【量错了】

1.6k 字 · 源文件 进度.md 第 657 行起 · goal ruler selfcorrect

#★★★★★ 结论(一句话)

她一直都能把字写对(走到 100%)。 09-27 的一次改动让【评估时回合在打对那一刻就结束】, 于是我们量到的是"被截断"的数字(0.2 左右),而不是她的能力。

#证据链(全部同种子、同数据、只差代码)

代码状态stop_on_correct步300步400
bf8eb3d / 914f032(09-27 之前)False0.917 / 0.969 / 0.938 / 0.927 / 0.979全部 100%
19ee290(09-27 15:09)True0.250 / 0.2190.333 / 0.438
★ 只删掉那两行传参False★ 0.917100%
当前代码(12 个种子)True0.115 ~ 0.3230.35 ~ 0.44

#★ 元凶的确切一行

python
class="tok-com">## 19ee290 之后(错的):
stop_on_correct=not a.play        class="tok-com"># a.play=False 时 -> True  != ReadScreen 的默认 False
class="tok-com">## 现在(已修):
stop_on_correct=False

含义:stop_on_correct=True = "打对之后立刻结束回合"。 于是终点量到的不再是"她把这个字写完了吗",而是别的东西。

#★ 这也解释了那个一直很怪的读数

"认字(第一笔对)两边都是 100%,而整字只有 0.2~0.4" —— 因为她本来就认得出,只是回合在打出第一笔(打对)时就结束了。

#★★ 我错在哪(记下来,别再犯)

我从未【求值】not a.play。 我把它读成"和默认等价的表达式", 而它在 play=False 时是 True —— 与默认恰好相反。

新铁律: · "没影响"的标准是【删掉它测过】,不是【读代码觉得它对】 · "看似等价"的表达式必须【求值】,不能靠读

#★★★ 影响面(这两天哪些读数不能用)

受影响说明
★★★ 今天全部 12 个基线(BASE_s* / PH_s*)都是"被截断"的量
★★★ 09-27 15:09 之后的所有认字跑次同上(含 var_s2)
★ var_s0 / var_s1(1.0)★ 在改动之前跑,所以是真实的 —— 她是真的会写
★ 接地线(exp41)待查有没有同型问题

#✅ 怎么撤回

python
class="tok-com">## 一行:experiments/exp31_read_rl.py 第 1704 行附近
stop_on_correct=False     class="tok-com"># (原为 not a.play)

#★ 下一步

#做什么
1验证修复(FIX_s2 应 ≥0.80)
2★★★ 重修基线(好配方 + stop_on_correct=False,≥3 种子)—— 之前的 MDE 要重算
3然后才做原计划的条件 (3)(4)(5)
4查 exp41(接地线)有没有同型问题

← 返回《进度.md》目录