摘要

用户新要求:Arena 网页里每个 AI 动作不超过 5 秒。此前 deep 一步约 60 秒(实验 0500)。做法是让网页 AI 在一个可强制终止的独立进程里思考,四秒内依次尝试 fair(只用公开信息的规则 AI)、quick(只展开一步的研究搜索)和所选档位,返回最近一个已完成的合法选择;动画用请求开始后 4.5 秒内的剩余时间。四个档位各打一整局网页对局,共 273 次 AI 行动,0 次超过 5 秒,最大 4.540 秒。但要如实说明:strong 局 121 次里只有 21 次真正完成了 strong,deep 局 31 次里只有 1 次完成了 deep,其余用的是更浅的档位。

要回答的问题

在真实的“HTTP 请求 → AI 选择 → 动画 → 画面更新”路径上,每一步能否控制在 5 秒内,同时保存、恢复、回放都不出错?

方法与设置

  • 限时前的离线基线(同一存档的分支):quick 续玩到终局 125 步,平均 0.530 秒、最慢 4.093 秒;fair 20 步最慢 0.107 秒;deep 开局单步 59.634 秒。
  • 网页验收:独立测试服务 + 无头 Edge(1600×1000),玩家一方由公开 fair AI 代选并走真实战斗 HTTP,只省略玩家演出;AI 保持正常请求与动画。正常 100 回合上限,限 8 核、低优先级、串行。
  • 每次请求必须恰好新增一个事件;终局后检查完整回放与从存档新建会话恢复一致。

结果

局 结局 AI 请求 平均 / p95 / 最大(秒) 实际完成的档位
fair,种子 42 第 10 回合蓝胜,120 事件 56 3.533 / — / 4.540 fair
quick,种子 81 第 6 回合蓝方 AI 胜,99 事件 65 3.220 / 4.532 / 4.538 全部 quick
strong,种子 7 第 10 回合红方 AI 胜,179 事件 121 4.316 / 4.533 / 4.537 strong 21、quick 100
deep,种子 20 第 3 回合蓝方 AI 胜,54 事件 31 4.329 / 4.529 / 4.532 deep 1、quick 28、fair 2

四局都无恢复错误、JS/控制台错误为 0,终局截图已目视,回放与恢复一致。用户的主服务在获得“全部允许”的答复后,经原启动器入口重启,三个可恢复存档仍能恢复,但重启本身不增加耗时样本。

失败与负结果

  • 扩大检查时复现了一个真实阻断:刀锋舞者被贴身后网页误调用近战战技预览,导致 POST 400 / GET 500(修复见实验 0418)。
  • quick 首轮复验脚本等待“回到玩家”只给 30 秒,而第 65–72 个事件是 8 次连续合法 AI 行动,各约 1 秒,于是测试超时退出。这不是单步卡 30 秒;脚本改为逐个回执检查进展后从头重跑,两次不合计为两局。
  • 一次 deep 尝试遇到外部视频分析任务启动,主动停止;另一次多档位矩阵也因同样原因中断。这些不完整结果保留,不计入。

局限

  • 四场 Simulator 局面,不是 273 个独立对局;不证明普遍五秒保证、真实规则或棋力。
  • quick/strong/deep 是读取对手隐藏构筑的研究策略,只有 fair 是公开信息策略。
  • 进程有四秒截止,但菜单准备、进程启动、磁盘、锁排队和系统调度都不是硬实时;重负载、多窗口、更多构筑仍待验收。

结论与下一步

五秒的可玩性目标在四个档位的单局中都达到了,代价是高档位大多退回较浅搜索。下一步看四秒内到底能完成多少深层比较(实验 0504),并评估限时选择的战术质量。