摘要
SE(状态估计)会把 Logs 战斗日志里的“A 攻击了 B”和紧接着的“B 受到了 N 伤害”配成一对,再结合之前读到的生物面板攻防,做“这次伤害在什么属性条件下成立”的参考。上一轮的建议是检查:日志中的状态变化(获得/失去某效果)会不会让本来不受影响的历史属性也被一律作废,从而丢掉有用的参考。
本实验只读两局已保存的请求和结果,没有重算 SE、没有新 OCR 或录像。结论:没有发现状态变化错误作废属性的证据;真正的问题在别处——一局里已读到的 6 条攻击/反击动作,由于日志在动作和目标受伤之间插入了其他单位的受伤行,被“只接受相邻行”的配对合同挡住,最终攻击候选为 0。
要回答的问题
- 已保存结果中,有没有因状态变化导致历史属性参考被错误丢弃的情况?
- 如果没有,攻击候选少(甚至为 0)的真实原因是什么?
数据与来源
两局已曝光训练材料的保存请求和结果:
| 来源 | 帧 | 生物面板 | 攻击/反击字面行 | 攻击候选引用 |
|---|---|---|---|---|
| 10 月 10 日 01:39 训练局 | 49 | 18 | 6 | 0 |
| 10 月 10 日 16:57 训练局 | 58 | 10 | 17 | 12 |
审计脚本只枚举保存字段,属于轻量 JSON 读取,不是新的软件测试或准确率。另外目视核对了 01:39 第 32 帧原图上的日志行顺序(没有播放视频或重跑识别)。
方法
逐条查看每一局的攻击/反击字面行、它们后面的日志行、已形成的配对引用和对应的生物面板;对“没配上”的动作找出具体阻断原因;再对照 SE 的配对合同和已有离线工具,判断是不是读取问题、配对能力问题,还是规则问题。
设置
不放宽任何规则,不新增实现,不更新安装版。
结果
16:57 局: 12 个候选页引用实际是 3 种攻击字面配对,只有“织光者”有匹配面板;既有的“攻击 20、伤害 314”条件参考正常保留。未配对的 5 条都是同一时刻“星之子攻击神化者”的页面引用,下一行先记录的是骑兵受 472 伤害。没有发现需要修复的错误状态作废。
01:39 局: 两页共 6 条动作字面(每页 3 条)都被正确读到,但攻击候选为 0。原图上的行顺序是:
- 第 6 行“凤凰攻击了观世者”,第 7 行却是“太阳圣盾受到 1141 伤害”,第 8 行才是“观世者受到 821 伤害”;
- 第 11 行第二次攻击后,同样隔着太阳圣盾的受伤/摧毁行;
- 第 23 行凤凰反击圣殿狮鹫后,第 24 行是凤凰自己受 680 伤害,第 25 行才是圣殿狮鹫受 1060 伤害。
SE 的攻击证据合同明确只接受相邻的动作/伤害行;中间插入不同的受伤主体,配对就失败。这是当前关联能力和合同的限制,不是攻防没有读到。
另外,有些摧毁、施法行因为玩家名没读全而没有形成声明;当前合同要求非空玩家字面,本轮不伪造玩家名。
已有能力复查: 视觉模块已有一个离线工具,能把“唯一一次施法后连续同秒的伤害行”分组,但只支持施法,解决不了物理攻击中间夹着别的受伤主体或自伤的情况。另有文档记录了多目标伤害不能全部当作单一基础攻击。因此不需要重建一套通用事件管线。
失败与负结果
- 原假设(状态变化错误作废历史属性)没有找到证据,相关调查到此结束。
- 不能把 821/899/1060 自动归给前面的攻击,也不能猜测 1141/1200/680 的因果机制。
- 截图文件时间和日志时钟都不是已认证的媒体时间;原图显示的玩家名与 OCR 字面不完全一致,不能把 OCR 字面当真实用户名。
局限
- 只看两局固定保存请求;01:39 这份请求的候选为 0 不推翻其他请求曾有更多候选的历史记录。
- 只读审计,没有新的 SE 推断或准确率结论;全实体/触发/公式组合覆盖仍未完成,本审计不计入机制覆盖。
结论与下一步
不修改历史属性保护,也不擅自扩大“相邻配对”合同或加“同秒跳行”规则。外部审阅支持结束无实证的状态调查,并建议下一项只做展示:把尚未正式配对的已读动作和它周围的原始日志行(包括未知行)显示出来,读取请求里的原始行而不是已过滤的行,保留行号和状态,明确“上下文不等于因果”;不得增加正式配对、命中条件、规则查询或独立事件计数,也不能按数值吻合去挑伤害行。App 已有让用户关联面板时展示攻击行和下一行原文的窗口,下一项应复用这些原始来源。
Comments