tb-v2-selfctx CLM L2: 56/89 · 0.629
CLM Context-as-File L2 全量验证失败沉淀报告:-9pts(对照 tb-v3 64/89 · 0.719)。机制健康,输在压缩保真度 + 任务不匹配。已 revert(57b5e6e / revert 5a752a5)。
总体:-9pts,翻转明细
对照组 tb-v3 与实验组 tb-v2-selfctx 同模型(flash 虽轻量但公开评测显著强于 Qwen3.6-27B,本次结论不受“模型太弱”影响)。Clean-room:仅借鉴 CLM 论文思想,未拷贝 context-language-models(CC BY-NC 4.0)任何代码 / 文本 / 格式。
| tb-v3(对照) | tb-v2-selfctx | |
|---|---|---|
| mean reward | 0.719(64/89) | 0.629(56/89) |
| AgentTimeoutError | 12 | 5 |
| 纯失败(reward=0,无异常) | 13 | 28 |
| llm.start 总数 / 中位 | 4256 / 40 | 5255 / 45 |
| llm>100 的长尾 trial | 12 | 24 |
| 跑满 ≥115 iters 的 trial | 3(extract-moves-from-video 121、qemu 121、install 116) | 18(含 build-cython-ext、caffe-cifar-10、filter、fix-ocaml-gc、git-multibranch 等 15 个 121 跑满) |
丢 15(lost)
得 7(gained)
机制侧:L2 实现本身是健康的(非实现 bug)
自研过程曾抓到并修复过一个真 bug(workspace 文件滞后被误判为模型编辑,导致 syncs≈tools 自激振荡;修法:turn-start render 基线 + metadata 剥离 + stale-file section-prefix guard + receipt view-only,回归测试覆盖)。修复后的 full suite 数据证明机制健康。
丢分归因(以 trace + verifier 产物为准)
方法:逐个检查 15 个丢失任务的 <trial>/result.json(verifier_result.rewards.reward、exception_info)、trace 的 verification.passed/failed 事件、verifier/test-stdout.txt 尾部断言。结论先行:14 个正常结束的丢失任务里,没有一例是 harness submit 校验误杀 —— harness 的 submit 门(verification.passed)与 benchmark 的 reward 判定(verifier 容器内跑测试)是两套独立判定。报告初版“压缩洗掉 evidence 导致 submit grounding 不过”的说法是错的,特此收回。
2.1 · submit 通过、但 benchmark 判 0(8 个:真实任务失败,与 harness 无关)
这 8 个 trace 里都有 verification.passed(submit 门已过),reward=0 来自 verifier 容器内测试断言失败:
| 任务 | verifier 结果(test-stdout 尾部) |
|---|---|
| bn-fit-modify | 7 passed / 2 failed:学到的 DAG 结构断言挂 · 0 syncs |
| dna-insert | 引物 Tm 差 7.95 > 5(assert abs(fwd_tm − rev_tm) ≤ 5) |
| feal-differential-cryptanalysis | attack.py: ValueError: no key5 candidate consistent · 0 syncs |
| mcmc-sampling-stan | 5 passed / 1 failed(hierarchical model 未实现) |
| mteb-retrieve | result.txt 写成 HumanEval 那行,期望 MTEB 行(见 2.4 单例) |
| sanitize-git-repo | 2 passed / 1 failed(secret 替换断言挂) |
| torch-pipeline-parallelism | 2 passed / 2 failed(rank 微差 0.0417) · 0 syncs |
| winning-avg-corewars | 2/5 对手达标(stone 54% < 75% 等) · 0 syncs |
2.2 · 从没 submit、跑满 121 iterations(6 个:没做出来,不是被 harness 卡住)
trace 最后一条全是 verification.failed missing=['submit_result'] / budget exhausted without a valid submit_result call。harness 只要求“调一次 submit_result 即可交卷”,是模型自己 121 轮都没调。这 6 个与“高频大压缩 + 跑满”高度重合(fix-ocaml-gc 15 syncs / maxcut 87%,llm-scheduler 14 syncs,mteb-leaderboard 6 syncs,filter 10 syncs),但因果只能说“相关”(见 2.4 仅有的单例实锤),不能说“压缩导致交不了卷”。
2.3 · 超时类(1 个)
financial-document-processor(AgentTimeoutError)。两组各有超时,属环境 / 网关抖动。(selfctx 全组 error 更少:5 vs 12,疑似压缩降低单轮 token 从而减少 stream 超时,但未严格归因。)
2.4 · 压缩洗掉关键信息:mteb-retrieve 单例实锤(可重建)
trace 里 llm.start 的 messages 快照就是压缩前后的 view,可直接对比。以 mteb-retrieve iter22→23 的 sync(44669→10763 chars)为例:
该 trial 最终失败恰是 result.txt 写错行(HumanEval: … vs 期望 MTEB: Massive Text Embedding Benchmark)—— 而第 5 名的判定恰恰依赖被洗掉的分数表。从机制(有损 apply_mirror)到结果(写错行)的链条在这个单例上是完整的。但仅此一例,不能推广到全部 15 个;2.1 的 8 个里其余 7 个均有各自独立的任务失败原因。
2.5 · 反向 7 个得
caffe-cifar-10(6 syncs / maxcut 87%)等 —— 长 trial 里水位管理更好反而帮了忙。说明压缩在部分任务上是正收益,只是不稳定。
对最初四个目标的裁决
附:LLM 调用 +23%(4256→5255)的构成
中位数仅 40→45,典型 trial 开销没涨;涨的是长尾:跑满 ≥115 的 trial 从 3 个涨到 18 个,差值最大的 10 个 trial(adaptive-rejection-sampler +88、git-multibranch +84、headless +82…)全是 selfctx 跑满 121 而 baseline 早提交的类型。压缩降低了“被迫结束”的压力(view 一直能塞下),模型把省下的预算全花成更多轮次,但多花的轮次没换成更多通过(6 个跑满未交卷 + mteb-retrieve 类做错)。baseline 的 llm_summary 在水位高时更快把模型逼向终局(好坏参半:逼出提交,也逼出 error 12 vs 5)。
结论:revert 正确,思想未被证伪但在此配置下失败
- -9pts 的构成:约一半是噪声(0-sync 短 trial 翻转,如 bn-fit-modify 等 4 个 0-sync 丢失);另一半里,8 个 submit 通过但 benchmark 判 0 的全有各自独立的任务失败原因(DAG 断言、Tm 超差、attack 失败、精度差等),与压缩无直接因果;只有 mteb-retrieve 是“压缩洗信息→写错行”的单例实锤,6 个跑满未交卷与高频压缩相关但因果未定。判定:L2 + deepseek-v4.1-flash + TB 短任务 = 没赢。
- 不证伪 CLM 思想:CLM 是全量改写(无协议折损)、论文任务是长程。要证伪至少需要“原生级保真 + 长程任务”对齐,而本次(保真、任务长度、skill/RL 调优)都没对齐。诚实结论止于“此实现此配置失败”。
- Revert(57b5e6e)正确:self_managed_file 默认关闭,留着是 dead code + 第 4 个 memory 分支的维护负担;护栏路线违背初衷,剩下路线(原生保真重写 / P2 / 长程任务)投入大,不值得现在继续。
若将来重做,前提清单
- 任务先换长程(水位贴墙、rollback 真触发),TB 上不值得。
- 保真先行:tool 结构 native 保留或 [KEEP-PAIRING] 默认开,而不是先压再说。
- 先重跑确认噪声基线(翻转任务子集 ×2),再谈优化。
- P2 skill 进化(用本次 362 条 sync 事件做冷启动)优先于任何手工护栏。