说来说去,回忆自己曾经在2018年时看到知乎上最简单的打飞机类智能体的比赛就想参加,现在有兵棋平台,只不过更复杂,我进度仍然缓慢------原来是自己总想着依赖着有人能带着完成......但自己想想,有时间有条件的时候,是不是就差自己的一个勇敢或莽撞?也就是不管对错做下去的勇气?------2025-08-18 00:03:38
前面我们完成了对神经网络智能体的构建,对历史回放数据的处理和学习,还有针对奖励函数的强化学习,并且将模型套在了可以有效翻译成动作的行为接口上。现在我想通过对手的历史战绩来优化我当前的智能体,我该怎么做呢?

接下来我发表一点个人的拙见,在硕士期间也阅读过了不少的兵棋方向的论文,自己随便写写。
一、主流 AI 智能体类型与技术路线
- 知识 / 规则驱动型智能体基于军事条令、战术库、行为树、有限状态机、OODA 环实现,适合快速部署、解释性强。
- 代表:兵棋分队级 AI - 微风 1.0 (信息工程大学)、紫冬智剑 2.0(中科院自动化所)
- 特点:可嵌入战术战法库,适配不同想定,在分队 / 战术级表现稳定。
- 数据 / 强化学习驱动型智能体以深度强化学习、自博弈、多智能体协同训练为主,通过海量对局自主进化策略。
- 代表:庙算平台 AI、AlphaStar 类迁移兵棋、美军 DARPA 兵棋 AI 项目
- 特点:可在复杂、非对称、大规模对抗中逼近甚至超越人类专业选手。
- 大语言模型(LLM)驱动智能体用 LLM 做态势理解、任务规划、自然语言指挥,实现 "意图 - 任务 - 行动" 分层决策。
- 代表:庙算・WGSR-Bench大模型兵棋基准、基于 GPT/Claude/Gemini 的兵棋决策体
- 特点:能处理不完全信息、进行策略反思与跨想定泛化。
二、智能体优化的方法目前都有哪些方向
一)算法层面优化(最核心)
1. 强化学习优化
- 自博弈(Self-Play):不断和历史版本对抗,渐进变强(AlphaStar、AlphaGo 路线)
- 多智能体强化学习(MARL)
- 中心化训练 + 分布式执行(CTDE)
- 价值分解:QMIX、VDN、QTRAN
- 策略协作:MAPPO、MATD3
- 探索 - 利用改进
- 好奇心驱动、内在奖励
- 噪声网络、随机策略优化
- 长时序依赖处理
- 结合 LSTM/Transformer 做态势记忆
- 分层强化学习(HRL):高层定目标,低层做执行
2. 启发式与传统 AI 优化
- 行为树、有限状态机(FSM)优化
- 基于规则的专家系统 + 机器学习纠错
- 路径规划:A*、JPS、潜在场法改进
- 动态权重调整的多目标决策(MOPG)
3. 大模型与推理优化
- LLM 做高层战略决策,RL 做底层执行
- 少样本 / 上下文学习适配新想定
- 思维链(CoT)做态势推理、威胁评估
- 多模态大模型融合图像 + 文本态势
二)结构与架构优化
1. 分层决策架构
- 战略层:目标选择、资源分配;战法系统与执行序列
- 战术层:编队、突击、防御
- 执行层:单位微操作解决兵棋 "长 horizon、高动作空间" 问题。
2. 注意力与表征优化
- Transformer 态势编码器
- 图神经网络(GNN)建模友军 / 敌军 / 地形关系
- 全局 - 局部特征融合,减少冗余观测
3. 多智能体协同机制
- 通信机制:显式 / 隐式通信学习
- 联盟形成、角色自动分配
- 对抗性团队博弈(零和 / 非零和)
三)训练与环境优化
1. 环境与数据增强
- 随机化初始部署、地形、天气
- 不完全信息、迷雾战争增强鲁棒性
- 课程学习(Curriculum Learning):从简单到复杂场景
2. 训练效率优化
- 分布式训练、样本复用
- 回放缓冲区优化(PER 优先经验回放)
- 奖励函数塑形(Reward Shaping)解决稀疏奖励
3. 对抗鲁棒性优化
- 对抗训练:故意加入干扰、欺骗策略
- 自适应对手:针对人类常见打法强化
- 跨想定泛化:不重新训练也能打新场景
四)博弈理论与策略优化
- 纳什均衡求解、双层优化
- 鲁棒策略优化(对抗最坏情况)
- 贝叶斯博弈处理不确定信息
- 迭代式策略修正、虚拟自博弈
- 对半马尔可夫过程的处理
五)工程与实操层面优化
- 动作空间剪枝、无效动作屏蔽
- 状态特征工程:人工先验 + 自动特征
- 模型轻量化、推理加速(适合实时兵棋)
- 人机闭环优化:人类示范学习(IL)+ 微调
六)当前最前沿热点
- LLM + MARL 混合智能体
- 基于世界模型(World Model)的预推演
- Transformer 一统态势 + 决策 + 时序
- 多智能体自博弈的持续进化算法
- 可解释智能体(XAI):让兵棋 AI 决策可追溯、可信任
嗯,接下来介绍一下我的毕业课题------《基于对手建模的兵棋智能体策略优化研究》。
其实最开始我也是一团浆糊,虽然在2013年就玩过魔兽地图编辑器也有信心实现智能体,但是AI传的神乎其神的自己也想试试怎么就"让AI学习"就能玩的比人还强?
最先智能体实现的相关当然是星际争霸2的alphaStar,后来发现这东西是基于星际的,在我选题期间正好赶上暴雪和网易合作破裂,玩不上,我试着一些方法避开星际2联网来跑现成的有人做好的智能体,但是与我想象的"自己做好智能体代替我和我的同学玩"的情景还查了老远------一旦用星际的python接口就只能从星际的地图编辑器里进入,也就是只能AI和电脑打!
于是我继续寻找更加自由和开放的平台,同时要有一定的现有研究,我找到了microRTS,这是IEEE每年比赛中的一项(甚至还有类宝可梦的AI比赛!)microRTS 竞赛自 2017 年起在 IEEE CIG(计算智能与游戏会议)上举办。自 2019 年起,随 CIG 更名为 CoG(Conference on Games)竞赛继续在 CoG 下举办。
CoG 2023 -- competitions -- IEEE Conference on Games 2023

microRTS AI Competition - 2023 COG Results
在我的博客中也能看到我的捣鼓这个平台,结果这个java的想要在windows上运行好python接口却是十分困难......我最终在windows上编译出来了,但是python接口不太好使,我又改去做linux的运行......但是我用WSL没界面......最后不了了之。
最后我用回了我导师的兵棋平台,这也有不少困难,一是版本已经和我2023年时接触的版本发生了变化,一些调用结构变了(获取武器、火力范围的部分函数隐藏在对局过程中消失了)......我终于开始了我的AI之路。
"知己知彼,百战不殆"------对手建模。
我想AI这么厉害,那么在人类社会中总结的经验也一定能用上吧!在不晓得神经网络pytorch如何使用的时候(我总是用编程语言的调用结构来套pytorch,结果根本看不懂......有重新学的pytorch的设计神经网络的范式......),从"人的经验可以被神经网络习得"的奇怪信念中,我觉得总是以最坏情况来对战的假设是否不够针对,于是我尝试使用对手建模这个概念来优化我的智能体。
神经网络给我的一般是这样一种观念,就是通过设计各种的机制(dropout)或者神经网络的结构(FC、CNN、RNN、LSTM、GRU),来让网络能有更好的效果。这神经网络给我的感觉就好像一个可以被烧录的全息相片,从各个角度烧蚀,得到你给它打光反射出烧蚀的样子。
前面说过了,在一场推演中的要素有
碎碎念(我也是怕了总在更新的平台......正在自己做一个抽象的简易兵棋开源平台,最好智能体的动作能通用,便于迁移学习)
在开始做AI的时候碰到的第一个难题却是"如何简化问题"------我发现AI的之中不是完全自动可行的!首先要确定哪些信息是神经网络可以获取的(输入张量),又要定义神经网络能输出什么(强化学习的行为空间),如果将态势信息都输入网络(中间还得经过各种数据处理变成0到1之间的张量)那这会极大的浪费资源(这也是我对AI祛魅的第一次......),于是我多种数据进行了处理和网络设计(详见系列之前的一篇博客)。
我抽象成了"移动,能攻击就攻击"的简单的规则,并从这个规则进行模仿和训练。
兵考虑到原始兵棋环境具有状态空间大、奖励稀疏、决策链条长等特点,直接用于强化学习训练存在收敛困难的问题。为提高算法验证效率,本文构建了一个简化版对抗环境,用于强化学习阶段的策略训练与验证。
该环境保留了兵棋对抗的核心要素,包括多算子协同、局部可观测性以及夺控机制,同时对规则进行适度简化:
地图规模为13×23 网格;
双方各控制3个算子,每个算子具有固定生命值;
每回合(因为模拟20帧算作一回合 )可执行一次移动 或攻击操作;
攻击具有一定范围与冷却时间;
存在战争迷雾机制,视野范围有限且队友共享;
地图中设置夺控点,持续占领可获得积分;
在固定回合数结束后,根据综合得分判定胜负。
在这样限制的情况下,强化学习更容易进行施行。
在实际训练中强化学习会遇到更多的问题,甚至导致我之前模仿学习得到的模型开始乱走,反而胜率为0,这个后面再说。
接下来我开始找优化智能体决策的切入点------对手的位置。
前面的博客我也详细写了,我将【态势得分信息、战场环境、我方暴露位置、我方火力覆盖范围、双方位置】作为对神经网络的输入,同时使用GRU、CNN等网络结构对空间、时序进行针对性处理,还有采用哪些特征作为输入......总之对模仿学习的数据集结果还是不错的。
那么,对方什么属性最能【诱导】我方的战略决策呢?在我简化的对战规则下,破解战争迷雾下的【敌方位置】是最重要的------因为如果敌暗我明(这种词语真是前辈智慧的凝练,是我们思维中的有价值的矿藏)那么肯定有很多决策我们会举棋不定,而如果我们像下棋一样"完全信息",那么对抗的层次就在对未来走势的预判也就是"打未来的战争",而如果不是明棋,那么就多一层"猜"的东西,可以形成"猜疑链",就是半马尔可夫性的问题了。
所以,如何"猜"对方的位置,乃至预判对方的走势,根据这层信息再指定行为,一定效果比没有针对性的好!
这部分我目前分为两种,一种是【策略识别】,一种是【信息补全】------我思考过,我们生活的世界有一些真实,又有一些幻想------这幻想可以是信念、信仰,也可以是知识------但都是你所相信的东西在引领你做出决定,在一次次的先知或者乱猜中进行下去。
策略识别就是通过短期状态,知晓和识别对方正在选择和采用的套路 ;信息补全就是通过对方过去的历史,总结出套路,在认定的习惯套路中猜到对方的行动。这是两层不同的东西。
(这部分也有一些论文,但是,并没有这么"市侩",也没有现有的成熟的策略分类体系------这是我开展的工作)
在兵棋中,我缺少灵活多变的对手总结套路,于是针对固定套路的demoAI进行【信息补全】。那么如何进行落地的总结呢?于是我在数据挖掘的方法中找......