摘要
一次 AI 训练(带合法动作掩码的 PPO 强化学习,第 25 轮)的开发评测第 5 场,在第 38 步中断:基线 AI 读取合法菜单的规则说明时,Simulator(本项目的战斗规则引擎)的公开恢复类法术查询抛出“施法开始加成必须是 0 或 1”。原因是查询把“最终咒力差值”误当成“原始成长次数”。修复只放宽这一处数值校验,公式、目标、数据格式和保存字段都不变。原故障 38 步重放、340 个菜单和 7 个 +2 恢复查询核对一致。
要回答的问题
这是新规则需求,还是既有合同里的局部缺陷?修好后会不会改变其他已保存的对局?
方法与分析
- 公开施法成长查询已经计算出最终咒力(SP,法术强度)差值。原始成长 +1 经过英雄百分比加成和取整后,最终差值可以是 +2;攻击和持续时间查询早已支持这一点,唯独恢复容量分支错用了“只能 0 或 1”的检查。
- 修复把这个二值检查换成已有的整数校验:仍然拒绝负数、布尔值、浮点数、NaN、无穷大和不可表示的大整数;未知仍返回未知。这是恢复既有合同,不是新增规则版本。
- 新增双侧“治疗之水”回归:明确熟练度 1,原始 SP 9 加 15% 显示为 10,施法成长后最终 SP 12,公开容量 = 50 + 5×12 = 110,与手动解析后查询和执行预览一致。
结果
- 6 类错误差值检查和 2 个 +2 回归,连同相关套件共 327 项通过。
- 独立的原故障验证重放 38 步,核对 340 个菜单和 7 个 +2 恢复查询,基线 AI 的选择和单步重复转移都相同。
- 规定的训练 6 局(662 次转移、333 次公开编码、12 个概率回执)以及已经开始的开发 5 局(416 次转移),修复前后都通过核对;修复后的报告另存,原失败记录未被覆盖。
失败与负结果
初版测试把期望容量误填为 150,按已有法术定义纠正为 110;公式本身没有改动。
局限
- 引用的原生施法顺序研究来自旧版本 0.80.48,不是本轮对当前安装游戏的新审计。
- 没有回放全部 600 局训练,也不声称商业正确性全覆盖。
- 修复后没有重新开始开发评测、也没有生成保留评测;原来的 4 局终局、1 局故障、75 局未开始的状态保持原样,训练后续决定见对应 AI 训练报告。
结论与下一步
这是一个局部校验缺陷,已按最小范围修复并有回归;它解释了那一场开发评测的中断,但不改变那次训练的任何结论。
Comments