# 0908 日报（接手后,Claude 线,第 2 天）

更新时间:2026-09-08 10:30(Asia/Shanghai)。前一天见 `0907日报-接手后.md`;全部结论与数字以 `0908-RL9B最终报告.md` 为准,本文件只记当天时间线。

## 结论先行

1. **harness 修复本身值 +9.1 分**(47.6% → 56.7%,其中 ≈1.6 是 sphinx 镜像伪像修正、≈4.4 是超时 ×2、≈3.1 是 conda env + 爆上下文照判)。
2. **RL(v2b 臂,51 步、8122 条判过的轨迹)在训练集内部第 4 遇同题比第 1 遇高 +6.2 分(CI [+2.9, +9.6],剔 sphinx +3.8 [+0.5, +7.2])**,
   但前 3 遇基本不动,信号在 step 40 之后才出来;含记忆成分(题池 = 评测集)。
3. step-20 终评 54.6%,对基线 −2.1 分(CI [−5.5, +1.3]),无 uplift;**step-45(inst1,n=1)与 step-50(训练集群,n=2)终评进行中**,结果待填(见文末)。

**池内/池外拆分(17:20)**:step-50 对同栈基线,训练过的 250 题 **+5.8 [+0.6, +11.2]**,未训练的 250 题 **−0.4 [−2.8, +2.0]**——增益全在见过的题上,没有迁移证据。

## 时间线

| 时间 | 事 |
|---|---|
| 00:30–03:00 | inst1 base-v2 的 380 条超时条目按 ×2 重跑完:52.3% → **56.7%**(567/1000);step-20 候选评完 54.6%,配对 −2.10 |
| 02:50 | surpport3 审计发现 P2P 罚里 17%(133/784)是 sphinx tox.ini 伪像(pre_install 改过没 commit,模型 `git checkout` 还原后 pytest 丢 -rA)→ 44 个 test.sh 加"文件干净时重套 pre_install",训练即时生效(wv 33–35 伪像 10 → 0);v1 基线据此修正 238 → 246/500 |
| 03:00 | 最终报告骨架起草(surpport3);generator 加 `finalize_reward_scale` 旋钮(默认 1.0,这臂不重启) |
| 10:15 | 训练停在 step 51(~20.5h);export step 20/45/50 |
| 10:15 | 双路终评启动:训练集群评 step-50(n=2,×2,joint 12 引擎 + 4 卡 policy,96 并发;19:22Z 进 eval,权重经 NCCL 同步进 12 引擎);inst1 评 step-45(n=1,×2,同栈 vLLM 0.25.1) |
| 10:20 | step-50 锚点同步往 inst1(17G,约 20 MB/s),备用 |
| 13:14 | step-50 终评 998/1000 判完:**59.1%,配对 +2.30 [−0.60, +5.20]**,方向为正未达门槛;最后一题 sklearn-14710 verifier 挂死(基线同题也是 VerifierTimeout),停驱动省下 2h 重试 |
| 19:56 | step-45 同栈 n=2 评完:59.1%,+2.80 [−0.10, +5.80],剔 requests +2.24;与 step-50 互比 −0.1。requests 的 unset 代理修法让 verifier 直连 PyPI 拖死 5 条,改成 pytest 行 `env -u` 去代理(保留代理装依赖) |
| 16:25 | step-45 终评(inst1,n=1)跑完:56.8%,配对 +0.10 [−3.20, +3.50],无 uplift;三个候选点 −2.1 / +0.1 / +2.7 |
| 15:50 | 同栈基线 999/1000 判完:56.4%,两基线互比 −0.4(栈差异≈0);step-50 对同栈 **+2.70 [−0.20, +5.50]**;停驱动;requests 8 题 test.sh 加 unset 代理(验证中) |
| 13:20 | 训练集群起 base-v2 同栈 n=2(`sbv500-v2-base-cluster-n2-0908`),消掉 vLLM 0.28 vs 0.25.1 的栈差异 |

## 与 codex(gpt-6-astra)两轮讨论(16:24–17:00)

纪要 `rl/cc和codex交流/0908-讨论纪要.md`。它驳回了我 4 处解读(kl/clip、P2P 规则、CBF 归因、栈差异),全部核实成立已改;按它建议做的池内/池外拆分改变了结论(增益全在训练题);下一臂改为「从 base 重开、150 训练 / 100 留出、留出 n=16 终评、成功标准只看留出集」,预注册表在最终报告 ⑥。今晚 21:30 后不起新任务。

## 训练读数(v2b 全程,surpport3 复算)

- 五步桶 judged 通过率后半程 62.1 / 66.9 / 65.5 / 62.1%(wv 31–35 … 46–50),比前 10 步的 58% 高 4–7 点;剔 sphinx 61.8 / 65.4 / 64.0 / 62.2%。
- 同题跨遍:第 3 遇 − 第 1 遇 +2.9 [+0.2, +5.8](242 题);第 4 遇 − 第 1 遇 **+6.2 [+2.9, +9.6]**(182 题);末遇 − 首遇(≥3 遇)+6.4 [+3.7, +9.2],剔 sphinx +4.3 [+1.6, +7.2]。
- CBF(拖到被切)非 sphinx 从 wv 16–30 的 25–30% 自行回落到 wv 46–50 的 11.5%;P2P 回归 12–14%;格式错误 ≤1.4%。
- wv 38、39 没有轨迹、wv 40 有 544 条:是 **epoch 边界抽干流水线**——step 40 只用了 95 s(吃掉缓冲区存量),step 41 等了 4500 s 让新 epoch 从零填满缓冲(16×8×(1+staleness 3)=512≈544 条全记在 wv 40);与 0907 v1 臂第 18 步后等 45 分钟同一机制,一天损失约 1 小时 16 卡。8250 目录里 128 条被停时截断无 result.json。
- run_progress 逐遍 pass@1(250 题池,judged 8094/8122):第 1 遍 56.7% → 第 2 遍 58.3% → 第 3 遍 59.5% → 第 4 遍 64.1%(182 题)→ 第 5 遍 66.0%(75 题);全程 raw reward 从 0.44–0.55 抬到 0.55–0.70,entropy 0.35–0.44 无坍缩,grad_norm 0.08–0.11。

## 终评(待填)

| 口径 | 结果 | 配对差 vs base-v2 |
|---|---|---|
| base-v2(inst1,n=2,×2) | 567/1000 = 56.7% | — |
| RL step 20(inst1,n=1,×2) | 273/500 = 54.6% | −2.10 [−5.50, +1.30] |
| RL step 45(inst1,n=1,×2) | 284/500 = 56.8% | +0.10 [−3.20, +3.50],赢 66 / 输 60 / 平 374 |
| RL step 50(训练集群,n=2,×2,vLLM 0.28 栈) | 590/999 = 59.1% | +2.30 [−0.60, +5.20],赢 86 / 输 64 / 平 350 |
| base-v2 同栈补跑(训练集群,n=2,×2) | 563/999 = 56.4% | 对 inst1 基线 −0.40 [−3.30, +2.60](栈差异≈0) |
| RL step 45 同栈(训练集群,n=2,×2,19:56 完) | 591/1000 = 59.1% | +2.80 [−0.10, +5.80];剔 requests(判分器口径不同)+2.24 [−0.61, +5.18];vs step-50 −0.1 |
| **RL step 50 vs 同栈基线** | 59.1% vs 56.4% | **+2.70 [−0.20, +5.50]**,赢 83 / 输 59 / 平 358 |

声明门槛不变:配对差 ≥ +4 分且 CI 下界 > 0。

## 坑

- **requests 判分器在 gpu08 uv1 镜像上还有第二个伪像**:2931/5414/6028 的 `httpbin` fixture 报 "recursive dependency involving fixture 'httpbin'"(pytest-httpbin 插件与 conftest 冲突),所有打 httpbin 的测试 ERROR at setup;inst1 官方镜像同题 P2P 130/130 全过。这与代理无关,test.sh 加 NO_PROXY 修不了,要钉 pytest-httpbin 版本,留给下一轮;所以训练集群上 requests 8 题里至少 3 题仍不可信。
- **`unset` 代理的修法是错的**:requests 新题的 verifier 要 pip 装一堆依赖,直连 PyPI 从国内拖到 verifier 超时(step-45 同栈评测 5 条因此没判);已改成只在 pytest 那一行 `env -u` 去代理(NO_PROXY 老 requests 不认,也试过不行);1724 镜像内实测两条 P2P 恢复 PASSED、2 分钟跑完。

- **gpu08 uv1 镜像的 requests 8 题判分器又有伪像**(surpport3 13:40 发现):pytest 版本过新,`pytest.raises(ValueError, "…")` 字符串形式报 TypeError、test_no_content_length fixture 起不来,F2P 全过只挂 P2P;inst1 官方镜像同题全过。step-50 因此被压约 0.9 点(requests 68.8% → 12.5%);同栈基线两边同中招所以配对公平。test.sh 钉 pytest 要等同栈基线跑完再做,否则前后半程判分器不一致。

- 训练集群 eval 沙箱名是 `<task>-<rep>-<8hex>-main-1`,不带 `__env`,清理脚本按名单删。
- run_progress.py 要传 run 名不是路径。
