返回博客列表

项目复盘

开物扫雷 PPO 智能体项目复盘

腾讯开悟清扫大作战项目已经完成并跑通全流程:PPO 智能体、GRUSentry、BFS 路径规划、guardrail、A/B 双线、地图恢复和隐藏图评估都留下了工程证据。

先补充完整背景

开物扫雷需要按一个完整跑通的强化学习竞赛项目记录。这个项目已经把主要流程做完并跑通:从官方 PPO 基线出发,完成特征工程、模型结构迭代、规则防护、地图恢复、训练分支、checkpoint、验证脚本和评估记录。

它仍然不是我个人主导或获奖经历,所以不适合放到首页核心代表项目里;但作为一个完整跑通的强化学习竞赛项目,它值得比上一版博客更认真地记录。

项目目标

赛题是腾讯开悟 2026 的清扫大作战:控制扫地机器人在 128 x 128 网格地图里尽可能多地清扫污渍,同时管理电量、利用充电桩、躲避官方机器人。

难点不只是“往污渍多的地方走”。智能体需要同时处理:

架构演进

项目经历了几次明确的技术转向。

第一版是轻量 MLP 基线:91D flat -> 128 -> 64 -> actor/critic。它吞吐很高,但回充和躲 NPC 都偏反应式,缺少路径规划和时序记忆。

第二版尝试重型空间架构:21x21 CNN + 16x16x3 Memory CNN + Scalar MLP -> FiLM -> Gated Fusion。这条路保留了完整空间编码和全局记忆,但计算量和 CPU 前向开销太高,在竞赛训练约束下不可行,因此被明确放弃。

最终主线是 GRUSentry:

Flat 181D obs
  -> state_encoder(101D -> 96D, SiLU)
  -> GRUCell(96 -> 32)
  -> Action-Conditioned Head -> 8 logits
  -> Critic Head -> value

这个版本的判断是:模型保留轻量时序记忆,局部动作交给 GRU policy;全局路径、回充、安全约束交给规则层。这个分工比单纯堆大模型更适合竞赛环境。

Guardrail 和路径规划

项目的关键不是只训练 PPO,而是给 PPO 加了一套确定性防护层:

这些 guardrail 不是“作弊替代模型”,而是把环境中确定性的安全约束先处理掉,让 PPO 专注在局部清扫和策略选择上。

A/B 双线和验证

项目保留了 code_Acode_B 两条训练线:

仓库中还有面向 guardrail 的单元式检查脚本:

README 记录的结果是:GRUSentry A 系列在 48 小时训练后隐藏图评估达到 920 分,后续在 830-870 区间波动。这个结果说明项目不是停在想法或半成品,而是完整跑过训练、评估和策略迭代。

复盘结论

开物扫雷最值得记录的是“轻模型 + 规则层 + 工程验证”的路线。它不是靠把网络堆大解决问题,而是把路径规划、回充、安全和隐藏图泛化拆成可检查的工程问题。

公开表达时我仍然会保留边界:这是团队竞赛项目、不是我的个人主导获奖经历。但“非主导”和“未获奖”不等于“没做完”。更准确的表述是:项目完整跑通,策略、训练、checkpoint、验证脚本和复盘材料齐全;它适合作为强化学习竞赛工程经验和 Agent guardrail 设计经验来记录。