摘要
战斗中点开一堆生物,面板上会显示它的数量,形如 340/385(左值是当前数量,右值是这堆兵的另一个显示值,项目不擅自认定它就是开局数)。视觉模块已经能读出这个字段,但状态估计(SE)——把观察累积成对局状态和对手构筑推断的模块——在生成“同一兵种前后变化”的历史说明时,只收集了攻防、士气、幸运,没有用到数量。
本实验做了最小的消费修复:把同帧、同主体的面板数量双值写进已有的历史说明。已知阵营的相邻面板之间如果没有可见的生命周期断点(召唤、被摧毁、复活),就计算左右显示值的条件性净差;未知阵营的面板逐条列出、不跨帧合并。在两份真实保存请求上,只有历史说明改变,其他所有结果完全相同。
要回答的问题
能否在不改公共格式、不读新图片的前提下,让 SE 历史说明消费已读到的面板数量,同时不把数量差当成死亡数、不在缺读或身份断点处续接?
数据与来源
- 一份官方 AI 对战的训练局保存请求(8 帧),两张真菌伊利亚德面板在媒体 92.2 秒和 223.8 秒,自动读数都是 52/52;沿用 SE 已有的阵营判断。
- 10 月 1 日训练局的 4 张真实重读面板(媒体 766.99、1,014.60、1,484.38、1,671.59 秒),数量 123/150、340/385、16/29、133/215;阵营未确认。
都是已有训练数据的保存 JSON 重放,不是新 OCR、完整视频分析或独立准确率。媒体秒来自已有选帧记录;SE 请求本身只有帧顺序,不从文件名猜时间。
方法
- 从同帧同主体的真实面板任务里读取唯一的候选数量双值,进入已有的历史说明;输出格式和原始观察不变。
- 已知侧:单张数量也保留;相邻面板之间没有可见生命周期断点时,计算左右值的条件性净差。
- 缺读不填零;同一已归属组内不跨“数量缺读”的面板续接。
- 未知侧的中间面板单列;已归属的两端仍可条件比较,但说明中注明“不证明中间观察完整”。
- 被摧毁/召唤/复活沿用原有保护。
- 不把右值说成开局数;不把净差当死亡或复活;净差为 0 也不证明期间没有伤亡或恢复。
- 规则模拟器生成的显式多实例数据保持原路径,不套“同方同兵种唯一”的前提。
设置
修复前后都通过 App 的真实 Core 脚本和 SE 公开入口重放同一份 12 帧保存请求,保存完整输入输出,原输入不改。之后用 App 严格读取器、攻击详情和保存 HTML 核对显示。
结果
| 真实来源 | 修复前 | 修复后 |
|---|---|---|
| 官方 AI 训练局:92.2/223.8 秒真菌伊利亚德 | 请求里有 52/52;历史不含数量 | 2 条完整字面和来源帧,52 → 52 净差 0;原有“英雄攻击 12→14、生物 19→21”解释保持 |
| 10 月 1 日训练局 4 张面板 | 请求里有数量;历史没列出 | 123/150、340/385、16/29、133/215 逐帧可见;4 张所属侧仍未知,没有跨帧数量差 |
两次完整 SE 结果只有推断说明不同;观察、攻击条件、技能排除、构筑候选、阵营等全部不变。App 严格读取通过,两次独立的离屏界面显示与清空通过,截图已查看。保存的旧快照不会自动变化,需要用已有的“仅重算 SE”功能才会产生新说明;如果旧 OCR 本身错,重算 SE 不会重做 OCR。
软件检查:新增 28 个场景,旧实现 15 失败 13 通过;修复后相关 3 个文件 58 项通过,扩大到 8 个文件 176 项通过;App 3 个相关文件 60 项通过。审阅后补一个“己方 52 → 未知侧 48 → 己方 45”回归(48 单列,52→45 仍是已归属两端的条件解释),最终 59 项通过。去重合计 237 项 SE/App 软件检查,另有 9 项日志合同检查;这些不是真实场景数。
失败与负结果
- 真实输入里没有出现数量净减、增长或生命周期断点,这些边界只有软件测试覆盖,仍需真实证据。
- 首次代码检查指出测试里 3 处写法问题,已修正,不影响生产行为。
局限
- 只是对既有数量的消费,不是新公式,也不是完整时序认证;按请求顺序形成条件解释。
- 用户手工绑定没有被读取;未识别兵种或资料基础不可用的面板不进入这条路径。
- 截图序号不是事件时钟;命中时的数量没有确认;不新增伤害推断或敌方构筑结论。
- 安装版 App 没有更新。
外部审阅与采纳
外部审阅(只看提交的代码和报告,没有访问原图或运行测试)提出两点,均已处理:
- 核对视觉模块日志生产者的完整句式表:复活在日志里表现为“恢复”加显示的复活数量,没有单独的“复活”输出;因此不为历史误用的字符串加兼容分支。
- 补上“未知侧夹在中间”的回归,并在说明里写明“不证明中间观察完整”。
结论与下一步
已读到但没被使用的数量现在出现在历史说明里,并且严格区分“已知阵营的条件差”和“未知阵营的单条记录”。下一步不再扩展数量展示,而是检查已有准备页条件基线的防御净残差 −2 能否用规则模拟器的公开规则筛选来源(见 E023)。
Comments