AI能自己打红警了,经济拉满零交战惨遭打脸,玩家笑疯

【导读】红警不再只是童年游戏,而成了AI Agent的硬核训练场:OpenRA-RL把25Hz实时战场、50个工具调用和64局并发打包开源,让大模型第一次真正站上RTS战争迷雾里的公开考场。

AI能自己打红警了。

Hugging Face 刚扔出一个炸弹——OpenRA-RL,直接把经典 RTS《红色警戒》改造成了大模型的 Agent 训练场。

不是套个壳录段视频那种玩具级 Demo,是真·基础设施级别的东西——

50 个 MCP 游戏工具全量暴露,25Hz 实时状态流不间断推送,单进程 64 局并发训练,LLM、脚本 Bot、强化学习 Agent 三条路线全部打通。

更狠的是,它直接原生接入 OpenEnv 生态——TRL、torchforge、Unsloth 训练框架即插即用。

当年 DeepMind 的 AlphaStar 打星际、OpenAI Five 打 Dota,靠的是几千块 TPU 和完全不可复现的定制架构。

普通研究者连门在哪都找不到。

而现在,开源社区第一次把 RTS Agent 训练的门槛一脚踹到了地上——一台消费级显卡,一行 pip install openra-rl,你就能站在同一条起跑线上。

实战:经济满分,战斗零蛋

让我们看看实战。

团队用 Ollama 本地部署了一个 Qwen3 32B 模型,在 128×128 的盟军地图上对阵游戏内置的 Beginner AI,跑了 5 局。

Agent 通过 MCP 工具集接收结构化观测、发出动作指令,每局前有策略规划阶段,结束后有反思复盘,从中提炼的经验会注入下一局的系统提示。

结果:全部以平局告终,零次战斗交锋。

Agent 在每一局都成功建起了经济体系,但从未生产出一支进攻部队。

有趣的是,如果只看胜负,5 局全平,故事就讲完了。

但 OpenRA-RL 提供了 8 维奖励向量,画面一下就丰富了:经济维度得分 0.58-0.80,基建表现稳定,但战斗和骚扰两个维度是干脆的零

这就是一个精确的失败模式诊断——你能据此设计奖励塑形和课程学习策略。

下面这段 Game 5 前 10 回合的决策日志,能直观看到模型的「思考节奏」:

三段式节奏清晰可见:情报+规划 → 建造经济 → 用 advance 快进来弥合 LLM 推理延迟和游戏速度之间的鸿沟。

工具调用分布也印证了这一点——advance 占了全部调用的约 57%,这正是异步架构设计的核心价值所在。

另一个耐人寻味的细节:第 2 局的赛后反思发现了「战争工厂应该排在发电厂后面」这个建造顺序错误,到第 4 局开局计划确实改成了先建发电厂。

提示注入式学习能修复建造顺序,却填不上战斗维度的零分——这恰恰就是从上下文适应到权重更新式强化学习应该产生可量化提升的地方。

为什么是红警?为什么是现在?

为什么偏偏选红警当训练场?

先看一个问题:一个前沿大模型,不做任何 RTS 专项训练,能在即时战略游戏里撑多久?

诚实的回答是:没人知道。

因为现有的 RTS 平台压根就不支持 LLM Agent。

SC2LE、PySC2 这些经典框架默认你的 Agent 在毫秒级别行动,动作空间是低层操作。

LLM 的需求恰恰相反——它需要高层接口、异步交互,以及对推理延迟从 40 毫秒到好几秒剧烈波动的容忍。

硬把 LLM 往老框架上嫁接,能跑是能跑,但结果不可比较,别的团队也没法复现。

OpenRA-RL 选了经典 Westwood RTS《红色警戒》作为底座,基于开源项目 OpenRA 魔改游戏引擎。

理由很朴素:策略深度够,代码干净能改,自带从 Beginner 到 Hard 的 AI 对手梯队。

最终的效果是,你拿 Qwen3、Claude 还是一个 Python 脚本 Bot 来对打,都是同一个环境、零改动。

三明治架构

OpenRA-RL 的架构可以用「三层三明治」来理解:

最底层是魔改过的 OpenRA 游戏引擎,用 C# 写的,以约 25Hz 的频率不停跳动游戏心跳。

中间是 gRPC 桥接层,实时往外推送观测数据、接收操作指令。

最上层是 Python 封装,对外暴露 Gymnasium 风格的 reset / step / close 接口。

在此之上,MCP 服务器把 50 个游戏动作暴露为工具,任何兼容 MCP 的 LLM 客户端都能驱动一局游戏。

这套分层的核心目的只有一个:Agent 的计算和游戏的执行完全解耦。

一个 40 毫秒一步的脚本 Bot 和一个 2 秒一步的 LLM,跑在同一个 25Hz 引擎上,互不干扰。

64 局并发:一个进程搞定

训练和大规模评估需要大量并发对局。

早期 v1 版本一局游戏开一个 .NET 进程,跑 64 局需要约 40GB 内存,每次重置要 5-15 秒——完全不能用。

v2 版本的核心优化是:一个 .NET 进程承载 64 个会话。

关键发现是 ModData(单位属性、建筑参数、科技树、地图规则)在初始化后不可变,加载一次就能跨会话无锁共享。

仅此一项就回收了约 35GB 内存。

每个会话保留独立的 World、OrderManager 和 BotBridge,彼此隔离。

结果相当暴力:重置延迟从 5-15 秒降到 256 毫秒(快了约 40 倍),64 会话总内存从约 40GB 降到约 6GB(省了约 7 倍),JIT 编译从 64 次降到 1 次。

真正重要的事

OpenRA-RL 真正重要的不是让一个大模型在红警里造了几座发电厂。

更重要的是:这个训练场够硬、够准、够开放。

环境本身有真实的策略深度——320 亿参数的前沿模型对阵最弱 AI,5 局打下来零交战,连一次进攻都没发起过。新手难度的红警就足以暴露大模型在建造顺序、兵种搭配、进攻时机上的短板。

而且暴露得很精确:如果只看胜负,5 局全是平局,一个字就讲完了;但 8 维奖励向量会告诉你,经济得分 0.58-0.80,基建表现不错,战斗和骚扰是干脆的零——弱点在哪、课程设计往哪开刀,一目了然。

团队在博客里列出了几个明确的下一步方向:

基于 Qwen3 基线跑 GRPO(同一个 Agent,权重更新替代提示注入,看战斗零分能不能动起来);

利用 8 维奖励做课程设计(从只需要战斗维度的场景开始,逐级往上爬);

跨模型横评(Claude Sonnet、GPT 级模型、更小的本地模型,同一张地图、同一个对手、同一个时间限制);

以及 Agent 对 Agent 的排行榜竞技。

对于 AI Agent 领域来说,这套工具的意义远不止红警本身。

AlphaStar 和 OpenAI Five 证明了 AI 能在 RTS 里达到超人水平,但那些成果被锁在高墙之后——几千块 TPU、定制架构、不可复现。

OpenRA-RL 第一次把这堵墙推倒了一部分:一台消费级显卡,一行 pip install,你就站在了 RTS Agent 研究的起跑线上。

红警是一个信号——这是强化学习该登场的地方。

而现在,登场的门票终于不再只属于 DeepMind 和 OpenAI 了。

参考资料:

https://huggingface.co/blog/jadetan/openra-rl%20GitHub%20-%20yxc20089/OpenRA-RL:%20Open%20Framework%20for%20AI%20Agents%20to%20play%20Red%20Alert%20through%20Reinforcement%20Le%20 

https://huggingface.co/spaces/openra-rl/openra-rl%20 

https://openra-rl.dev/ 

本文来自微信公众号“新智元”,编辑:犀牛 所罗门 ,36氪经授权发布。

发布时间:2026-04-28 21:15