AVA: Attentive VLM Agent for Mastering StarCraft II¶
会议: ACL 2026
arXiv: 2503.05383
代码: https://github.com/camel-ai/VLM-Play-StarCraft2
领域: LLM Agent / 多模态游戏 / VLM 决策
关键词: 星际争霸 II, 多模态 RL, 零样本 VLM, 跨范式 benchmark, 优先级推理
一句话总结¶
本文提出 AVACraft——首个同时支持 MARL 和 VLM 两种决策范式的星际争霸 II 多模态基准(21 场景 / RGB+文本+结构化状态),并给出 VLM 基线 AVA(多模态优先级推理 + RAG + 动态角色分配),实验显示在基础 3m 场景 MARL 训练 5M 步只能到 19–27% 胜率,而 VLM 零样本就能拿到 75–90%。
研究背景与动机¶
领域现状:StarCraft II 是多智能体决策的金标准 benchmark,SMAC/SMACv2 推动了 MARL 算法(QMIX、MAPPO 等)多年发展。同期 VLM(GPT-4V、Qwen-VL)在零样本视觉推理上崛起,开始被尝试用于复杂游戏决策(LLM-PySC2、VS-Bench 等)。
现有痛点:(1) SMAC 系列只支持抽象特征向量,丢掉了 RGB 视觉信息,导致 VLM 根本没法接入,造成「VLM 想试 SC2 / MARL 想公平比较」两边都没台子;(2) SMAC 简化了 unit ability,丢了战术深度;(3) 现有 LLM 游戏 benchmark 要么只测 macro-strategy(LLM-PySC2),要么用抽象多智能体设定(VS-Bench),没人专门测细粒度战术 micromanagement 上的跨范式对比。
核心矛盾:MARL 训练贵但精细可控,VLM 零样本快但能否处理高频微操未知;之前没人能在同一观测空间下公平比较。如果不把这两类范式放进同一个评测框架,「VLM 能不能玩 SC2」始终是悬而未决的问题。
本文目标:(i) 搭一个原生同时支持 MARL(RGB / scalar / hybrid)和 VLM(RGB + 自然语言 + 结构化 metadata)的 SC2 环境;(ii) 在 21 个微操/协调/战略场景上跑两类范式的完整基线;(iii) 提供一个像样的 VLM agent 基线 AVA,验证「VLM 不仅能玩、还能解释得很像人」。
切入角度:把 SC2 的 POMDP 包装成 4 种 observation mode 共存——MARL 拿 RGB / scalar / hybrid,VLM 拿 RGB + 自然语言文本 + 结构化 unit 信息 \(\mathcal{U}_t = \{u_i = (\text{id}_i, \text{type}_i, \text{pos}_i, \text{hp}_i, \text{status}_i)\}\),所有模式共用同一套动作空间和奖励,公平可比。
核心 idea:通过多模态统一观测 + 完整 unit ability + 自适应 enemy AI 的环境设计,把 MARL 与 VLM 抬到同一张评测台上,再用一个轻量 VLM 基线 AVA 证明零样本 VLM 在战术微操上能跑赢长时间训练的 MARL。
方法详解¶
整体框架¶
AVACraft 形式化为 POMDP \(\langle \mathcal{S}, \mathcal{A}, \mathcal{O}, P, R, \gamma \rangle\),严格遵守 Fog of War(agent 只看到 sight range 内信息)。观测空间 \(\mathcal{O}\) 提供四种 mode:RGB(screen 160×120 + minimap 32×32)、SMAC 兼容 scalar、Hybrid、VLM-Optimized(RGB + 自然语言描述 + 结构化 unit 列表)。动作空间分三类:\(\mathcal{A} = \mathcal{A}_{\text{atk}} \cup \mathcal{A}_{\text{mov}} \cup \mathcal{A}_{\text{abl}}\)(攻击/移动/技能)。奖励稀疏:\(R \in \{-1, 0, 1\}\)。21 场景覆盖低/中/高/极高四个难度档,每场景配 1 个 built-in AI(VeryHard)+ 3 个 LLM 合成的脚本策略 + 随机选择,避免单一策略被穷举利用。
基线分两边:
- MARL 侧:IQL / QMIX / QTRAN / VDN / MAPPO / IPPO 六种算法,统一用 Swin-Tiny(27.5M 参数)做视觉骨干,最多训 5M 步,可选拼 GTE-Base 文本 embedding 做 vision+text 融合。
- VLM 侧:AVA agent(见下面三个关键设计),评测 GPT-4o / GPT-4-Turbo / GPT-4o-mini / Qwen-VL-Plus / Qwen3-VL-30B / Qwen3-VL-8B,全部零样本。
关键设计¶
-
多模态优先级推理(Multimodal Priority Inference, MPI):
- 功能:把战场图像 + 文本状态 + 历史动作综合处理,先让 VLM Planner 出主次技能计划 \(S = \text{VLM}_{\text{plan}}(I, T, H) = \{s_{\text{primary}}, s_{\text{secondary}}\}\),再做 unit 检测 \(A = \text{VLM}_{\text{detect}}(I) = \{a_i = (p_i, c_i, b_i)\}\)(位置 + 类别 + bbox),最后由 \(U_{\text{priority}} = \text{VLM}_{\text{analyze}}(I, T, H, A, Q, S)\) 用 skill-aware prompt 排出该打谁、保谁。
- 核心思路:把 SC2 的战术决策拆成「先想要做什么(skill plan)→ 看清场上有谁(detect)→ 按计划排优先级(analyze)」,每一步都用 VLM 原生的视觉 + 语言能力,不需要任何微调。和让 VLM 一口气直接出动作相比,这种分阶段 prompt 显著降低了「看错单位 / 忘了目标」的错误率。
- 设计动机:SC2 micromanagement 的核心是「focus fire on the right target」——一个 step 选错优先级整波团战就崩;把优先级单独抽成一个 VLM 子调用,让模型把注意力压在最关键的 sub-task 上,而不是被全场信息淹没。
-
RAG 知识注入:
- 功能:对 MPI 选出的 priority unit 集合 \(U_{\text{priority}}\),每个 unit \(u\) 都按 class \(c_u\) 检索一个知识 tuple \(K(u) = \{s_u, m_u, t_u\}\)(unit 规格、matchup 数据、战术建议),然后 \(D = \text{VLM}_{\text{synthesize}}(I, T, H, U_{\text{priority}}, \{K(u)\})\) 整合成最终战术指令。
- 核心思路:SC2 的战术依赖大量「常识」——Stalker 怕 Marauder 慢护甲、Hydralisk 怕 Colossus AOE 等。这些知识在 VLM 预训练里有,但调用很不稳定;用一个外挂 SC2 知识库做硬注入,把「这单位/对位有什么需要注意」直接喂进 prompt,确保 VLM 不会在战术常识上踩坑。
- 设计动机:VLM 的「零样本游戏理解」很大程度上是世界知识 + 视觉的合成,把关键 domain knowledge 显式 ground 进 prompt 比让 VLM「凭记忆」更可靠;ablation 也确认 RAG 单独贡献明显,与 MPI 组合后协同贡献最大。
-
动态角色分配(Dynamic Role Assignment):
- 功能:对 \(N\) 个 agent 选自一个角色集合 \(\mathcal{Z}\),定义角色映射 \(\phi: \mathcal{N} \to \mathcal{Z}\),由效用函数 \(U(\phi, s)\) 评估当前状态下的角色配置;具体实现是 \(z_i = \text{VLM}_{\text{role}}(I, T, C)\),VLM 看图像 + 文本 + 上下文给每个 unit 分配 tank / DPS / scout 等角色。
- 核心思路:SC2 战术常要分工——这几个 stalker 拉怪 kite,那几个集火 boss;统一让所有 unit 用同一个策略会导致协调失败。把 role assignment 做成独立 VLM 调用,让多智能体协调显式建模。
- 设计动机:让 VLM 在低层动作之前先「分工」,相当于给后续动作生成做了 skill prior,降低 action 空间的有效维度;ablation 显示去掉 Role 后胜率从 87% 掉到 70%,证明协调比看图更稀缺。
损失函数 / 训练策略¶
VLM 端零样本,无训练。MARL 端按 SMAC 标准 5M 步,2Hz 决策频率,dual A100 40GB,episode 终止三条件(全灭/全死/300s 超时),稀疏奖励避免引入偏置。
实验关键数据¶
主实验(3m 基础场景)¶
| 范式 | 方法 | 输入模式 | 训练步数 | 胜率 (%) |
|---|---|---|---|---|
| MARL | MAPPO | Vision+Text | 5M | 19.3 ± 3.2 |
| MARL | IPPO | Vision Only | 5M | 18.2 ± 2.8 |
| MARL | QMIX | Vision Only | 5M | 27.1 ± 4.1 |
| MARL | QTRAN | Vision Only | 5M | 2.0 ± 1.4 |
| MARL | IQL / VDN | Vision Only | 5M | 0.0 |
| VLM (闭源) | GPT-4o | VLM-Optimized | 0 | 81 ± 3.9 |
| VLM (闭源) | GPT-4-Turbo | VLM-Optimized | 0 | 79 ± 4.1 |
| VLM (闭源) | Qwen-VL-Plus | VLM-Optimized | 0 | 75 ± 4.3 |
| VLM (开源) | Qwen3-VL-30B | VLM-Optimized | 0 | 50 ± 5.0 |
| VLM (开源) | Qwen3-VL-8B | VLM-Optimized | 0 | 40 ± 4.9 |
VLM 范式胜率比训练 5M 步的 MARL 高一大截。值得注意:IPPO 加文本反而比纯视觉略掉(16.6 vs 18.2),说明 from-scratch MARL 难有效融合预训文本 embedding,而 VLM 因为预训对齐自然受益于自然语言通道。
消融实验(AVA on mixed_units,GPT-4-Turbo)¶
| Role | MPI | RAG | 胜率 (%) | 含义 |
|---|---|---|---|---|
| ✓ | ✓ | ✓ | 87 ± 3.4 | 完整 AVA |
| ✓ | ✓ | – | 71 ± 4.5 | 去 RAG,掉 16 点 |
| ✓ | – | ✓ | 65 ± 4.8 | 去 MPI,掉 22 点 |
| – | ✓ | ✓ | 70 ± 4.6 | 去 Role,掉 17 点 |
| ✓ | – | – | 24 ± 4.3 | 只 Role,几乎没用 |
| – | ✓ | – | 50 ± 5.0 | 只 MPI |
| – | – | – | 20 ± 4.0 | 裸 VLM |
关键发现¶
- MPI 是 AVA 最重要的组件:去掉 MPI 比去 Role / RAG 掉得都多(87→65),说明「先看清要打谁」比「先分好角色」更关键。
- VLM 在高复杂度场景仍有上限:2c_vs_64zg、6r_vs_8z 上所有 VLM 都 0% 胜率,包括在简单场景能拿 90% 的 Qwen3-VL-30B;这暴露了 VLM 在「连续 kiting、高频精密微操」上的能力天花板。
- 跨模态对齐能力差异显著:MARL 加文本掉点,VLM 加文本飞起,验证了 VLM 预训对齐带来的 cross-modal grounding 优势。
- 训练效率反差极大:MARL 5M 步 ≈ 19% vs VLM 0 步 ≈ 81%;但 MARL 一旦训好推理可控、便宜,长期部署成本仍优于反复调 VLM API。
亮点与洞察¶
- 「同一观测空间内对决」是 fair benchmark 的关键:以前 MARL 用 scalar、LLM 用 string,结论很难复用;本文统一到 POMDP + 多 mode 观测,结果可以直接互比。
- VLM 的「人类对齐」可被量化:作者请专业 SC2 玩家做盲评,证明 VLM 决策的可解释性显著高于 MARL(statistical significance),这一点对未来「AI 决策需要被人理解」的场景非常关键。
- 失败案例画出 VLM 能力边界:极高复杂度场景全部 0% 不是工程 bug,而是真实的「VLM 对密集空间推理 + 高频时序一致性」天花板,给后续研究指了一个明确的 frontier。
- AVA 三组件分工的可迁移性:MPI(先看清谁是关键目标)+ Role(分工)+ RAG(注入领域知识)这套组合可以套到任何「实时多智能体 + VLM」场景(自动驾驶车队、机器人协作),是个可复用的 agent recipe。
局限与展望¶
- 主要对比集中在 3m 基础场景上的 5M 步训练,更长训练 / 更新 MARL 算法(如 GRF、HASAC)可能缩短差距,本文未充分覆盖。
- VLM 调用成本与延迟未列详细数字,2Hz 决策对 VLM 已是上限,更高频微操(kiting)就是 0%;real-time 部署可行性有限。
- AVA 是 proof-of-concept,作者自己说不是 architectural contribution,新颖性主要在 benchmark 而非 agent。
- 评测只用 PvE + 少量 PvP,没系统跑 ladder-level VS-human 测试,胜率的「绝对意义」还需更强对手验证。
相关工作与启发¶
- vs SMAC / SMACv2: 一直被诟病抽象特征 + 简化能力,本文给了 RGB + 完整能力 + 多 mode 观测的升级版,且开放 VLM 接口。
- vs LLM-PySC2: 主要做 macro-strategy(建造、扩张),本文聚焦 micro-management(focus fire、ability timing),互补。
- vs VS-Bench: 测多种游戏的策略推理,但抽象多智能体设定;AVACraft 给 SC2 这个金标准提供更细粒度评测。
- vs Voyager / LLM-Agent for Minecraft: 都用 VLM/LLM 玩游戏,本文是首个在 SC2 这种实时高频对抗环境下做系统跨范式评测的工作。
评分¶
- 新颖性: ⭐⭐⭐⭐ benchmark 设计原创性强,AVA agent 本身是工程性组合
- 实验充分度: ⭐⭐⭐⭐ 6 MARL × 6 VLM × 21 场景 + 组件 ablation + 人评,覆盖度好
- 写作质量: ⭐⭐⭐⭐ 环境形式化清晰,跨模态 ablation 讲得很直观
- 价值: ⭐⭐⭐⭐⭐ 给 MARL ↔ VLM 对话提供了首个标准化竞技场,社区急需