# 当前实验：同一轮同时扩展和调难

核对日期：2026 年 10 月 31 日。以下描述当前冻结实现；新一轮正式实验尚未启动，没有这版方法的正式成绩。

主问题是：能否持续把太难或太简单的训练题，调整成能让模型学到东西的题，再把学到的能力带到未见过的任务上？Wide 围绕失败扩展同能力新题；Deep 沿同一能力调难，并保留对旧题的追踪；纠错是另外可以开关的一步。

## 十组如何分工

| 组 | 名称 | 第二、三轮的题 | 谁分析和出题 | 主练之后 |
| --- | --- | --- | --- | --- |
| N | 不训练 | 无训练题 | 无 | 直接测试原始模型 |
| O | 固定母题 | 重复同一批母题 | 无 | 无纠错 |
| R | 随机训练题 | 每轮一批预先随机抽定的训练目标 | 无 | 无纠错 |
| WT | 老师 Wide | 从失败扩展同能力新题 | 老师 | 无纠错 |
| WS | 学生 Wide | 从失败扩展同能力新题 | 学生 | 无纠错 |
| D | 学生 Deep | 调难、保留可学题、回考旧题 | 学生 | 无纠错 |
| DR4B | Deep＋学生纠错 | 同 D | 学生 | 学生提修改 |
| DRL | Deep＋老师纠错 | 同 D | **出题仍是学生** | 老师提修改 |
| WD | Wide＋Deep | 同轮混合两种题 | 学生 | 无纠错 |
| WDR | Wide＋Deep＋学生纠错 | 同轮混合两种题 | 学生 | 学生提修改 |

九个训练组第一轮都直接做共同母题。O 与 R 同时保留：O 衡量反复练原题，R 衡量不看错误、单纯换题。学生出题组的分析、选重点和出题都由学生负责，不悄悄换老师。

## 每一轮的顺序

1. 第一轮直接拿共同母题；第二、三轮读取上一轮的正式作答和历史，组成新一轮题目。
2. 每道题做八份完整作答，每份最多二十四个动作，做成即停。整轮做题期间不改模型。
3. 收齐整轮答案后统一学习一遍，最多调整一次模型。
4. DR4B、DRL、WDR 使用已有失败答案提出修改，放回原题执行。收齐合格修改后，再统一学习一遍，最多调整一次模型。
5. 保存完整答案、结果和这个阶段的模型，进入下一轮；第三轮后直接测试。

没有独立摸底，没有训练后再做一轮原题检测，没有额外生成八份简单题或八份原题作为纠错参考。上一轮八份答案是当时模型的表现，不把它说成训练后的新成功率。

所有训练组共用完全相同的首轮答案和首次主练的完整结果，然后各自分开。三个纠错组的首轮纠错仍各自执行；N 不加载训练结果。共用的不是只有模型参数，还包括继续学习所需的完整状态。

## 数量

优先每轮二十题；完整实验预计超过三十小时，所有组统一改为十六题，最终测试不缩减。两套输入已准备，但实际耗时还没有在目标 GPU 上确认。

| 项目 | 二十题 | 十六题 |
| --- | ---: | ---: |
| 每题完整作答 | 8 | 8 |
| 每组每轮主练答案 | 160 | 128 |
| 每组三轮主练答案 | 480 | 384 |
| 九个训练组逻辑上合计 | 4,320 | 3,456 |
| 首轮共用后实际新增主练答案 | 3,040 | 2,432 |
| 十组最终测试答案 | 1,500 | 1,500 |
| 全场普通完整答案总数 | 4,540 | 3,932 |
| 全场候选题位置最多 | 280 | 224 |
| 全场分析请求最多 | 280 | 224 |
| 全场纠错方案最多 | 540 | 432 |
| 每个纠错组每轮方案最多 | 60 | 48 |
| 每个纠错组每轮改正动作最多 | 180 | 144 |

九组各三轮，逻辑上有二十七个主练阶段；首轮主练只计算一次，实际最多十九次。三个纠错组各三轮，纠错最多九次。没有有效学习内容时，保留结果但不调整模型。

总答案数不含候选题的环境搜索、出题请求和纠错方案执行，这些也会花时间。当前安排一次运行一个方法，同题两份一起做；八份分四批收齐，批次之间不训练。

## 奖励与实际学习内容

环境判定完成目标为 1，正常用完二十四个动作仍未完成为 0。老师不打分，没有难度分、部分进度分、短答案奖励或反思奖励。中断和环境异常不是普通答错。

同题八份答案只和彼此比较：有成功也有失败时，成功答卷中的动作获得正向信号，失败答卷中的动作获得反向信号。主练不逐步判断动作对错，也不会单独排除失败答卷里原本正确的动作。不是“只拿成功答案来模仿”。题目、环境返回和出题理由不是主练要输出的目标。

| 八份表现 | 这轮主练 | 后续安排 |
| --- | --- | --- |
| 0/8 | 不提供对比信号 | Wide 可扩展；Deep 尝试降难；纠错组可修原失败 |
| 1–7/8 | 八份都进入对比学习 | Deep 通常保留；Wide 可从其中失败扩展；纠错可修失败 |
| 8/8 | 不提供对比信号 | Deep 回考同能力未掌握旧题，或尝试升难 |

例：二十题中只有六题出现有对有错，则这轮主练真正使用的是六题的四十八份答案，不是一百六十份全都能推动学习。

主练按每题八个 0/1 结果计算组内相对优势，使用样本标准差和 0.000001 的稳定项。整轮按模型生成的动作文字长度累计学习，最后才改一次模型。所有动作概率沿用实际采样时记录，不另做一次模型作答。

## Wide：围绕失败扩展

来源必须有至少一份真实失败。分析输入含八份结果、一份动作种类最多的完整失败答案，以及存在时最短的一份完整成功答案。模型自己挑具体制作能力，引用真实答案中的位置；可选能力来自原配方中与目标有关的制作步骤。

新题换成另一种官方训练目标，要求仍离不开该能力、难度接近。类别之间轮流分配位置，同一类、同一道来源题可以出多题。单独 Wide 每轮最多占二十个或十六个候选位置，不是每类各二十个。

同来源、同能力、同方向的候选最多两道一起请求。每个位置只有一次候选机会，拒绝就保留来源题；内容不合格不无休止重出。所有题全对时，没有失败来源，就保留现有题。

## Deep：调难，并记住旧题

全错尝试变简单，全对先回考同能力未掌握旧题、否则尝试变难，有对有错通常保留。若一道题是从难题降下来的，只要它出现成功，后面优先回到还没掌握的原难题。被本轮位置挤出的旧能力分支也保留，之后可回来练。

改变的是同一制作能力真正必需的依赖链和起始材料，不是加长描述。原配方、规则和二十四动作上限不变，允许跨不止一个难度层级。链已经只有一步时，保留原题，不再请求“更简单”。

追踪按经过验证的具体能力关系进行，不能因为同一母题下的一项能力做对，就把其他能力也算作已掌握。简单题成功不删除原难题的未掌握记录。八份全对只是此次安排课程用的标准。

这次三轮只有两次课程调整；它可以检查追踪机制能否运行，还不能检验长期持续提升。

## Wide 与 Deep 同时做

WD、WDR 的第二、三轮共用一个题池。二十题默认十个 Wide 位置、十个 Deep 位置；十六题为八个加八个。Deep 的位置可以是新难题、新简单题、保留题或回考题。没有可用 Wide 来源时，位置转给 Deep。

整轮一起做八份、一起学习，不先 Wide 训练一次再 Deep 训练一次。重名换皮不算新题；整轮内容去重，缺位由上一轮或母题补齐。计划的十个 Wide 位置不保证最后有十道合格新题，实际构成会记录。

## 怎样确认题目符合方向

原题与新题必须来自官方训练目标，保持原配方和规则；材料明确，不能开局就给目标物品。固定测试目标不能用作训练目标或送进初始背包。两题都必须能在二十四步内做成，选定能力在两题中都不能绕开，并且确实用来完成目标。

| 变化 | 验证标准 |
| --- | --- |
| Wide | 换训练目标；必要能力链深度差至多 1；最少动作数差至多原题最少动作的四分之一向上取整，最少允许 1 |
| Deep 升难 | 必要能力链严格变深，最少动作数不能下降 |
| Deep 降难 | 必要能力链严格变浅，最少动作数不能增加 |

这些来自真实环境搜索，不采用模型自报难度；加无关支线不算升难，直接赠送关键成品绕过该能力不算降难。每项搜索上限为三千状态、三万个转移、十二秒；一个候选有多项搜索，十二秒不是整道验题总上限。搜索没完成不能算合格，真实执行异常单独暴露。

结构合格之后不另做八份试答。它有没有真的更适合模型学习，直接看下一轮正式八份是否出现 1–7 份成功。因此验题合格率和可学题比例是两个不同指标。

## 纠错：必须把原失败真的改成功

纠错在本轮主练之后进行，使用此时的学生或指定老师。每个训练位置最多三个方案：在错误前改正、保留错误后补救、再对另一份失败尝试提前改正；只有一份失败时可以再次使用这一份。

模型看完整失败和已有的同能力成功参考，指出一到三个失败相关位置，提出后续完整动作，并挑一到三个值得学习的改正动作。若当前练的是从难题降下来的简单题，纠错目标回到原来的失败难题。成功参考只能提供思路，不会把简单题的额外材料送给原题。

修改在原题、原材料、原规则、原二十四步总额度下执行。提前改正保留错误之前的原动作；事后补救还要保留那次错误及其真实后果。只有完成原目标、相关能力确实参与目标达成、并留下有意义改正动作，才能用于学习。

不学习反思文字、不学习环境反馈，不学习没变化的正确动作、查询背包、无效动作、没被执行到的后续动作或对目标无用的生产。相同输入下的相同改正去重。收齐整轮后，只对留下的改正动作做一次集中模仿学习，最多调整一次模型；没有合格动作就不调整。

这是主练之外的独立纠错学习，不会把老师修改硬塞成“学生本来采样到的成功答案”，也不会更改原八份奖励。

## 最终测试

从官方一百道测试任务中预先固定五十题，抽样种子 618050，保留官方原始顺序。所有组用相同题目，每题两份随机作答加一份固定作答，最多二十四步，共每组一百五十份、全场一千五百份。

随机作答种子为 618001、618002；固定作答使用 618001，但每次选最可能的下一步，不做随机抽样。测试不训练、不纠错、不提供训练参考答案。先让所有组完成训练和前三十题，再一起完成后二十题；前段不用于挑选要不要继续的组。

分别报告一百份随机答案的成功率和五十份固定答案的成功率，保留每题记录；不把两份随机里“只要有一份成功”写成单份成功率。

训练是提前给定有限材料、不能另取料的任务；测试按官方任务从空背包开始，可以按规则取得原材料。因此最终测试也在检验学到的制作能力能否迁移到完整任务。

## 当前数值设置

| 设置 | 当前值 |
| --- | --- |
| 学生 | Qwen3.5-4B |
| 老师 | openai/gpt-6-luna；WT 分析与出题、DRL 纠错 |
| 起始随机种子 | 163 |
| 训练轮数 | 3 |
| 每轮题数 | 20；整场预计超过 30 小时则统一 16 |
| 每题作答 / 同时作答 | 8 / 2 |
| 每份动作上限 | 24 |
| 最大输入 | 4,096 token，保留完整所选历史；放不下不截断成另一题 |
| 每次动作最大输出 | 64 token |
| 分析和出题最大输出 | 2,048 token |
| 纠错方案最大输出 | 512 token |
| 同请求最多候选数 | 2 |
| 联合组 Wide 比例 | 0.5 |
| 每题纠错机会 | 3 |
| 每方案相关位置 / 最多学习动作 | 1–3 / 3 |
| 随机作答温度 | 1.0 |
| top-k / top-p / typical-p | 0 / 1.0 / 1.0 |
| beams / 重复惩罚 | 1 / 1.0 |
| 额外思考输出 | 关闭 |
| 每轮主练数据遍数 / 最多调整 | 1 / 1 |
| 每轮纠错数据遍数 / 最多调整 | 1 / 1 |
| 学习率 | 0.00001，即 1e-5 |
| 优化器 | AdamW |
| 权重衰减 | 0.01 |
| Adam 动量参数 | 0.9、0.999 |
| Adam 稳定项 | 1e-8 |
| 梯度范数上限 | 1.0 |
| LoRA rank / alpha / dropout | 16 / 32 / 0 |
| LoRA 范围 | 所有线性层；基础模型不更新 |
| 计算精度 | GPU 基础模型 bfloat16，可训练参数 float32 |
| attention / gradient checkpointing | SDPA / 关闭 |
| 主练下侧 / 上侧截断参数 | 0.2 / 0.3 |
| 主练双重截断参数 / 重要性权重上限 | 3.0 / 2.0 |
| KL 系数 | 0.0，无额外参考模型惩罚 |
| 组内标准差 / 稳定项 | 样本标准差 / 1e-6 |
| 纠错学习目标 | 仅被选中且真实修复成功的动作文字的交叉熵；按整轮输出 token 总数归一化 |
| 环境搜索单项上限 | 3,000 状态 / 30,000 转移 / 12 秒 |
| 官方测试 reset 种子 | 42 |
| 最终测试题数 / 每题答案数 | 50 / 3 |
| 老师同请求最多物理尝试 | 3；只对已记录临时网络失败重试，内容不合格不重写 |

主练用当前计算结果的停止梯度副本作为近端参照，实际采样概率只用于独立的重要性权重。因为整轮只更新一次，不能把这些设置等同为旧版多次更新学习器。主练遍历动作累计，模型是在整轮结尾更新，不是每题改一次。

## 保存与删减

保留完整答卷、每题八份汇总、每轮选题和取舍、能力追踪、主练结果、纠错方案与执行结果、每阶段模型、最终每题成绩和总表。阶段模型同时保留优化器、随机状态、已经学过哪些内容及完成到哪一轮，避免恢复后再学一遍。

完成一份答案才保存，不逐动作写文件；环境在内存中继续真实执行。共用首轮模型避免重复计算和重复占用大文件，后续组互相独立。恢复只生成缺失的完整答案，读取最近需要的阶段，不从第一轮反复加载所有模型。

保留必要的题目合格性判断、原题修复执行和完整答案计分。移除单独摸底、额外参考题作答、重复读取固定材料、无用途旧指标和全历史复制扫描。中途恢复的剩余随机答案可能与完全不中断的一次运行不同，实际作答和批次会记录。

## 比较能回答什么

| 对比 | 回答的问题 |
| --- | --- |
| O 对 N | 只反复练固定题是否有帮助 |
| R 对 O | 普通换题相对反复练题是否有帮助 |
| WS 对 R、O | 根据失败扩展是否优于不看错误的换题或重复练题 |
| WT 对 WS | 老师分析出题相对学生分析出题的差别 |
| D 对 O、R | 调难与保留旧题的组合是否有帮助 |
| WD 对 WS、D | Wide 与 Deep 同轮结合是否更好 |
| DR4B 对 D；WDR 对 WD | 加上学生纠错是否更好 |
| DRL 对 DR4B | 老师纠错相对学生纠错是否更好，出题者保持学生 |

纠错组有额外模型请求和学习数据，因此还应比较达到同等效果所用时间和费用。D 组并未再拆出“有调难但无长期追踪”，十组里也没有“无课程、只有纠错”，所以本次不能单独归因追踪收益或严格测出纠错与 Deep 的交互收益。

## 应观察的结果与还缺什么

最先看：每轮多少题出现 1–7/8、多少题真正参与主练、生成的新题实际留下多少、多少纠错真正把原题改成功、最终五十题有没有提升。

新实现尚未进行正式 GPU 训练；离线脚本案例和小模型检查说明链路能工作，不是方法在 Qwen3.5-4B 上有效的成绩。当前每组只有一个训练随机起点、三次主练调整，无法证明稳定性或长期优势；两份随机测试也不是两次独立训练实验。

环境可以验证题目能做成、方向是否符合结构要求、修改是否成功，但不能直接证明模型解释的失败原因就是唯一原因，也不能保证结构变难就一定让该模型的成功率下降。真正的学习信号和迁移收益要由正式作答与固定测试给出。

这十组是同一实现内的机制比较，不是已经复现了外部论文全部训练设置。形成论文还需要不同训练随机起点、更多轮次或任务、独立外部方法以及计算成本一致的比较。


## 本页公开材料

- 当前提示词：prompts.json
- 历史真实实例：examples.json
- 代码函数地图：code-map.json
- 相关论文核对：related-work.json
- 公开来源摘要：sources.json
