GameXpert-Bench:编码智能体离专家级游戏开发还有多远 GameXpert-Bench: How Far Are Coding Agents from Expert Game Development?
首个贯通游戏生成、缺陷修复与多轮优化的编码智能体全生命周期游戏开发评测基准
前置知识
Coding Agent(编码智能体)
以大语言模型为核心、能在真实工程环境中自主多步工作的系统:读写代码文件、执行命令、运行测试,并根据反馈迭代修改直到完成任务。典型代表如 Claude Code、Codex,通常以终端或 IDE 形式接入代码仓库,具备规划、工具调用与长程记忆能力。
本文的评测对象正是这类代理在游戏开发场景下的能力,三条赛道全部以「代理在沙箱中自主完成开发任务」的方式运行,不理解代理的工作方式就无法理解评测设置与失败模式的分析。
SWE-bench 范式与 F2P/P2P 测试
软件工程基准的经典评测协议:把测试分为 Fail-to-Pass(修复后必须由失败转为通过,验证目标缺陷被修好)与 Pass-to-Pass(修复前后都必须通过,防止改好一处破坏别处)。候选补丁只有同时通过两类测试才算成功,判分完全确定、无 LLM 评委偏差。
GAMEFIX 完全沿用该范式:用 F2P 验证注入缺陷被修复、用 P2P 验证无回归,主指标 STRICT 直接建立在这套确定性可执行测试之上,是理解修复赛道评分机制的前提。
可逆变异算子(Reversible Mutation Operator)
一种机械可逆的小型代码编辑:对正常游戏施加变异即注入缺陷,其逆操作就是精确的标准修复(gold patch)。因为变异与修复一一对应,无需人工标注即可获得精确真值与可执行判分依据,扩题时只需「金标准游戏 + 可执行测试」即可批量生产新任务。
GAMEFIX 的 61 个算子、7 大缺陷维度全部基于此构造,这保证了修复结果判定无歧义、缺陷间互不遮蔽,并使 50 个机密金标准游戏可以低成本扩展,是该赛道方法论的核心。
Explicit Issue 与 Self-Discovery 双模式
GAMEFIX 的两种提示模式:显式模式(list)把所有异常行为编号列出,代理只需定位并修复;自发现模式(minimal)只透露主观症状(如美术口味问题),客观缺陷(如控制反向、障碍不可通过)全部隐藏,代理必须自己试玩探索,未发现的缺陷计入失败。
两种模式的分差(Cliff 指标)是 GAMEFIX 的核心分析轴,直接度量代理「自主发现缺陷」的能力,也是全文最重要的发现——显式修复接近解决而自发现严重不足——的来源。
无头浏览器行为测试(Playwright + 虚拟时钟)
用 Node.js 的 Playwright 驱动无界面 Chromium 本地伺服游戏页面:虚拟时钟按固定步长推进时间、在指定坐标派发合成输入,然后读取只读 JSON 状态快照做布尔断言;参数化测试须对参数集中每个取值都通过,从而把「游戏行为」变成可确定性判定的检查。
三条赛道共同的原则是「只有当可执行游戏提供证据时才得分」,这套探针是 GAMEFIX 确定性判分、避免 LLM 评委偏差、保证可复现的技术底座。
研究动机
游戏是「程序逻辑、画面、音频、界面与交互必须在同一可执行产物中协同工作」的软件形态,任何一处失效都可能毁掉可玩性甚至让游戏无法进行,这使它成为检验编码代理整体能力的理想试金石。但现有评测存在两个结构性缺陷。其一,只看最终产物:GameDevBench、GameEngineBench、OpenGame-Bench、WebGameBench、GameCraft-Bench 等基准虽然已把评测从静态代码检查推进到浏览器交互、玩法轨迹与多模态评审,但都停留在单请求、终态评估,无法刻画代理在产生该产物的整个交互序列中如何工作。其二,只测孤立阶段:GBQA 只评缺陷发现,PlayCoder 与 SWE-Together 各自只覆盖显式修复或会话模拟,论文 Table 1 显示没有任何现有基准能同时覆盖「生成—修复—优化」三个阶段。而作者对完整人机协作开发轨迹的定性分析表明,真实开发恰恰由初始生成、缺陷诊断修复、多轮优化三类交互反复构成:一个能在空白工作区生成可玩原型的代理,完全可能在缺陷自发现、运行时行为验证、跨版本功能保持上表现糟糕,只测终态生成会系统性高估其真实开发能力。
本文的目标是本文的目标是构建 GameXpert-Bench:把「用户可见的游戏开发生命周期」完整操作化为三条互补赛道的执行落地型基准套件,并用统一原则——只有当可执行游戏提供证据时实现才得分——来评估代理「创造、维护、改进」一个游戏的全程能力。具体而言:GAMEGEN 评测单请求完整游戏生成,含 11 个流派 97 个任务(其中 44 个 3D),代理从空白工作区、无模板无素材无指定引擎出发;GAMEFIX 评测缺陷诊断与修复,基于 50 个人工复核的机密 Gold Games,用可逆变异算子给每关注入 19–27 个缺陷,覆盖 7 大缺陷维度 61 个子类,组合两种查询模式得到每次运行 100 个修复任务;GAMEOPT 评测人引导的多轮优化,包含 17 条各 6 轮、共 102 个请求的优化链,种子来自真实人机共创轨迹,覆盖玩法、关卡、数值、美术、界面、音频六个维度。最终以 15–17 个主流模型在三条赛道上的大规模实验,回答标题之问:编码代理距离专家级游戏开发还有多远,以及现有「生成质量」指标究竟掩盖了什么。
与已有工作不同的是,本文的独特切入角度有三点。第一,生命周期视角:作者不是先验地设计任务,而是先对完整的人—代理游戏开发历史轨迹做定性分析,按主要意图对所有改变产物的交互进行迭代编码,归纳出 Generation→Fix→Optimization 三个反复出现的阶段,并用「源码规模随请求单调不减」的轨迹证据(Figure 3)说明后续开发确实继承并扩展先前产物,从而给三阶段划分以经验支撑。第二,受控修复构造:不同于 SWE-bench 依赖真实仓库的已报告 issue,GAMEFIX 用专有玩法、经 24 小时以上复核与游戏设计师加 AI 研究员双签的机密游戏加机械可逆变异,同时提供已验证干净的游戏、精确 gold patch 与回归感知的可执行测试;作者还在 50 个开源游戏的试点中观察到记忆污染迹象,从数据源头杜绝「靠背答案修复」。第三,轨迹种子的多轮优化:GAMEOPT 从真实人机共创轨迹中选取可玩的中间版本作起点,保留真实用户请求、仅对缺失维度做快照接地的合成补全,以离线重放换取公平比较,同时用隐藏验收标准保留产品级模糊性(如「让遭遇更紧张」)。
核心方法
直觉上,一个人用编码代理做游戏的真实过程是:先一句话让代理生成第一版可玩原型;发现坏了让代理修;再不断提产品级要求打磨。GameXpert-Bench 把这三步各做成一条赛道并配置专属评测协议。GAMEGEN:代理只拿自然语言设计简报,在空白工作区自主选择技术栈,产出浏览器原生游戏;评分先通过「跨模型事件分析」构建共享评分表 $C_i = R_i \uplus B_i$(核心事件集加加分事件集),自动维度(完备性、丰富性)要求「静态代码定位 + 实机交互触发验证」双重通过才计分,再加上人工评定的视觉质量与玩家体验,四维归一到 [0,100] 后等权平均 $S_{overall} = \frac{1}{4}(S_{comp} + S_{rich} + S_{exp} + S_{vis})$。GAMEFIX:在断网沙箱中对被注入 19–27 个缺陷的游戏做修复,按 SWE-bench 范式用 Playwright 无头 Chromium 执行 Fail-to-Pass/Pass-to-Pass 行为探针确定性判分,任务得分 $100 \cdot \frac{\#\text{fixed}}{\#\text{bugs}}$,再对每轮构造生存曲线并取 $\tau \in [90,100]$ 区间均值得到主指标 STRICT。GAMEOPT:给定初始仓库 $G^{(0)}$ 与 6 个请求 $u_1,\dots,u_6$,每轮 $\Delta_t = \mathcal{A}(G^{(t-1)}, u_t, h_{<t})$,仓库永不重置;最终只判冻结的 $G^{(T)}$,604 个正面条款按 $w_i = p_i(1-p_i)^2$ 难度加权,97 个回归项按预定义负分扣减。
核心创新是把评测对象从「最终产物」转移到「开发全生命周期的过程能力」,并让每条赛道的判分都锚定在可执行行为上。与已有工作的本质区别有三点。(1) GAMEFIX 首次在游戏领域同时提供「已验证干净的游戏 + 机械可逆变异 + 精确 gold patch + 回归感知的可执行测试」这一受控四件套,并以显式清单/自发现双模式运行——自发现模式下未发现的缺陷全部计失败——从而把 SWE-bench 式「修已报告的 bug」升级为「自主找 bug、修好且不破坏他处」的长程代理能力评测。(2) GAMEGEN 的共享评分表来自对全部被评模型产物的跨模型事件分析再加人工筛选,避免评分表偏向任何单一模型;同时每个清单项必须在运行时被真正触发验证,杜绝「语法上像、功能上是死的」代码骗分。(3) GAMEOPT 从真实人机共创轨迹取种子、以离线重放保证公平,评分只看冻结终态 $G^{(T)}$,明确拒绝把注释、未用配置、死代码、模型对自身改动的描述当作证据,并用 $w_i = p_i(1-p_i)^2$ 把权重向「能区分强弱模型且偏难」的条款倾斜,使分数难以靠完成简单项饱和。
方法步骤详情
GAMEGEN 五步:(1) 构造 97 份自然语言简报(11 流派、44 个 3D、三档难度);(2) 每个模型经默认配置的 Claude Code 在空白工作区单次会话生成完整游戏,无任何任务专用脚手架;(3) 事件分析代理汇总各模型实现的事件、合并语义等价项,人工标注员参考跨模型覆盖率整理出统一共享评分表 $C_i$;(4) 混合自动评分:先静态检查代码定位每个清单项的逻辑,再实机把游戏操作到相应状态触发事件验证行为,运行时验证通过才计分;(5) 四维各归一 [0,100] 等权平均。GAMEFIX 五步:(1) 50 个金标准关卡经超 24 小时双人签核入库;(2) 从 7 维度 61 子类算子库取 19–27 个可逆变异注入,同时产出 mutation.patch 与逆 gold.patch;(3) 每关以显式清单与自发现两种提示各测一次,共 100 任务;(4) Playwright 重置关卡、虚拟时钟推进、派发合成输入、断言状态快照,F2P 全过且关联 P2P 不破才算修复该缺陷;(5) 每轮得分构造生存曲线,STRICT 取 $\tau\in[90,100]$ 均值,Cliff 为显式到自发现的 macro average@3 跌幅。GAMEOPT 五步:(1) 从历史轨迹选可玩快照 $G^{(0)}$,按六维度补齐缺失请求;(2) 隔离工作区逐轮重放 6 个请求,代理只能基于自己上一轮产物继续,看不到验收标准与历史后继版本;(3) 冻结 $G^{(T)}$ 并记录对 $G^{(0)}$ 的完整 diff;(4) 701 个条款按代码位置/运行日志/截图/音频证据二元判定,证据不充分记 0;(5) 难度加权汇总 $S^+_{m,k}$ 并扣回归罚分得 $S_{m,k}$。
技术新颖性
技术新颖性体现在评测构造学而非模型本身。其一,生命周期三阶段不是概念分类,而是三条可操作化语料:生成语料强调空白工作区与引擎无关性;修复语料以可逆变异实现零标注的精确真值,且成题时验证缺陷间互不遮蔽 F2P、互不破坏 P2P,使判分时出现的 P2P 失败可归因于代理补丁引入的回归;优化语料以真实轨迹为种子、隐藏验收标准保真。其二,指标设计新颖:STRICT 用生存曲线 $\tau\in[90,100]$ 尾部均值度量「近乎全修复」的能力,对自发现天然敏感且难以饱和;Cliff 只报告显式到自发现的跌幅而不报告绝对分,因为显式模式分数压缩在高位、区分度差。其三,GAMEOPT 的难度倾向权重 $w_i = p_i(1-p_i)^2$ 中,$p_i(1-p_i)$ 奖励区分度、额外 $(1-p_i)$ 再向难题倾斜,人人皆过或无人能过的条款权重为零;回归项以负分直接进入总分 $S_{m,k} = S^+_{m,k} + \sum_j q_j r_{m,k,j}$,把「不破坏已有功能」从口号变成可量化惩罚。相比 Play2Code 的自动化 GUI 试玩闭环、SWE-Together 的状态条件用户模拟器与 GBQA 的纯发现评测,这种「真实轨迹 + 终态判定 + 难度加权 + 回归罚分」的组合是新的。
实验结果
GAMEGEN(15 模型 × 97 游戏 = 1,455 次运行、43,081 个事件级结果):Claude-Opus-5 以 79.7 总分居首(完备性 94.4、丰富性 72.0、视觉 80.4),Claude-Fable-5 75.8 拥有最佳玩家体验 74.4,Kimi-K3 71.3,最低 Seed-2.1-pro 仅 48.7;全模型完备性均值 77.5 远高于丰富性均值 46.1,「搭起能玩的骨架容易、做到内容丰富难」是普遍规律;2D 子集均分 65.9 对 3D 子集 60.1,14/15 个模型在 3D 上更差(仅 Kimi-K3 +1.8),其中完备性掉分最大(−8.8);15.2%(221/1,455)的运行出现 UI 重叠或错位,各模型发生率 7.2%–22.7% 无一幸免;43,081 个事件中 2,293 个(5.32%)「代码已实现但运行时 FAIL/PARTIAL」,归因于加载/崩溃 56.0%、错误状态转移 16.0%、反馈不清 13.1%、缺视觉响应 11.9%;自动功能分与人工感知分强相关(Pearson $r=0.898$,$S_{human}=0.643S_{auto}+25.082$,$R^2=0.807$)。GAMEFIX(17 模型 × 3 轮):STRICT 最高 Opus-5 仅 39.0,中位数约 14,远未饱和;显式清单下 17 个模型分差仅约 13 分,自发现模式拉大到约 38 分(近 3 倍);Cliff 从 Opus-5 的 7.6 到 Hy3 的 32.8,两大机制是发现赤字(Hy3 单实例 96.2→34.6)与修复授权(Opus-4.8 把缺陷合理化为有意设计 100→59.3,GLM-5.2 以「超出最小改动」拒修 100→26.9)。GAMEOPT(15 模型、765 次运行):Opus-5 93.96 到 Seed-2.1-Pro 35.89 极差 58.07 分;数值平衡 66.11 与关卡设计 66.36 是最弱维度,音频 81.97 最强;轮次呈非单调 77.3→73.5→63.9→65.5→81.3→82.0;612 次终态中 42.6% 完全集成、49.5% 可玩但不完整、7.8% 不可玩——MiniMax-M3 因漏一个 闭标签整页空白 0/39,同题 Kimi-K3 39/39 满过。
查看结构化数据
| 任务 | 指标 | 本文 | 基线 | 提升 |
|---|---|---|---|---|
| GAMEGEN:单请求游戏生成(97 任务) | Overall(0–100,完备性/丰富性/体验/视觉四维等权) | Claude-Opus-5:79.7(完备性 94.4、丰富性 72.0、视觉 80.4) | 次优 Claude-Fable-5:75.8;最低 Seed-2.1-pro:48.7 | 领先次优 +3.9 分;榜首与末位差 31.0 分 |
| GAMEGEN:3D 子集(44 款)对比 2D 子集(53 款) | Overall 差值(3D − 2D) | 15 模型平均 −5.8 分(65.9→60.1),14/15 模型 3D 更差 | 2D 子集跨模型平均 65.9 分 | 3D 完备性掉分最大(−8.8);仅 Kimi-K3 为正(+1.8) |
| GAMEFIX:多缺陷诊断与修复(每轮 100 任务 × 3 轮) | STRICT(平均@3 生存曲线在 τ∈[90,100] 的均值) | Claude Opus 5:39.0 | 17 模型中位数约 14;最低 Qwen3.7-Max:5.5 | 超中位数约 25 分,但相对满分 100 远未饱和 |
| GAMEFIX:显式清单 → 自发现模式切换 | Cliff(macro average@3 跌幅,越低越好) | 最好 Claude Opus 5:7.6;最差 Hy3:32.8 | 显式清单下 17 模型分差仅约 13 分 | 自发现下分差扩大到约 38 分(约 3 倍),模式切换即分化强弱 |
| GAMEOPT:六轮人引导优化(17 链 × 6 轮 × 3 轮评测) | Overall(难度加权通过率 + 回归罚分) | Claude-Opus-5:93.96 | 中位数 GPT-5.5:74.24;末位 Seed-2.1-Pro:35.89 | 榜首领先中位数 19.72 分,全场极差 58.07 分 |
| GAMEOPT:六维产品能力画像 | 维度均值(15 模型) | 音频 81.97 最高;数值平衡 66.11 最低 | 关卡设计 66.36、玩法 73.5、美术 72.0、UI 74.5 | 数值平衡是 7/15 模型的最弱项;音频是 10/15 模型的最强项 |
| GAMEGEN:自动功能分与人工感知分一致性 | Pearson 相关系数 | r = 0.898(p = 5.38×10^-6),Spearman ρ = 0.832 | OLS 拟合 S_human = 0.643·S_auto + 25.082 | R² = 0.807,证实执行落地式自动评分与人类体验判断高度一致但不等价 |
局限与改进
作者明确承认的限制:GAMEOPT 中轮次与内容混淆——音频固定在第 6 轮、数值集中在第 3 轮、美术在第 4 轮——因此第 5–6 轮的回升不能归因于长上下文保持,需要更长且维度平衡的轨迹才能分离留存与难度;701 个条款中 33 个只是视觉连贯性、游戏手感等属性的代理指标,实现路径存在不等于审美更好;GameOpt 仅 17 条链、每链 6 轮,规模有限;正面条款二元判定、无部分得分。我自己的观察:(1) Gold Games 与 GameOpt 语料均保密,外部无法独立审计题目质量与污染状况,可复现性受损;(2) GAMEGEN 的共享评分表由被评模型自身产物池化而来,存在一定循环性风险,虽有人工筛选缓解;(3) 除 GPT 系列外所有模型都跑在 Claude Code 框架下,框架与模型能力存在混淆,作者仅用 Codex 对照部分解决;(4) UI 错位检测靠多语言关键词匹配,是启发式方法,可能漏报或误报;(5) 全部为 HTML5/JS 浏览器游戏,结论对 Unity/Unreal 等引擎生态的外推性未知;(6) 四维等权、六维等权都是人为设定,「音频最强」这类维度结论可能受条款分布影响。
独立分析的弱点
独立分析的弱点:其一,保密性双刃剑——机密 Gold Games 防污染但也让社区无法复现 GAMEFIX 的绝对分数,只能等作者更新榜单;改进方向是发布「脱敏但玩法仍非公开」的精简集或提供在线评测服务。其二,GAMEGEN 自动评分依赖事件分析代理的抽取与语义合并质量,这一步本身可能出错并传导到共享评分表;改进方向是公开评分表与事件级原始结果供社区审计。其三,GAMEOPT 的离线重放消除了用户自适应性:真实协作中用户会根据上一版表现调整下一个要求,重放测不出「面对挑剔用户的鲁棒性」;可引入状态条件用户模拟器做混合式评测。其四,GAMEOPT 判定器依赖截图、音频等证据,论文未报告其与人工判定的一致率、假阳/假阴率;应补充判定器效度研究。其五,STRICT 要求近乎全修复,但真实开发更常见的是优先级排序——先修致命 bug 再修边缘问题;可补充按严重度加权的修复价值指标。其六,三条赛道只覆盖 HTML5 游戏,且 GAMEOPT 仅 17 款 JS 游戏,单款游戏的题目偏差可能影响维度结论(如音频最强),扩大游戏池并做敏感性分析会更有说服力。
未来方向
作者提出的方向:用更长、维度平衡(counterbalanced)的轨迹分离「上下文保持」与「请求难度」,以确认多轮回升是否源于长上下文稳定;扩展 Gold Games 语料——流水线只需金标准游戏加可执行测试即可扩题、无需重新标注;继续报告构建失败、死产物、核心循环失败等诊断指标。基于成果可延伸的方向:(1) 把 GAMEFIX 的确定性 F2P/P2P 探针当作强化学习的奖励信号,训练「会试玩、会验证」的游戏开发代理,这可能是比榜单更持久的贡献;(2) 针对 Cliff 揭示的发现赤字与修复授权两大机制,研究主动试玩策略(自动探索状态空间、构造不变量检查)与「清单不是授权边界」的指令遵循校准;(3) 价值恢复问题——沙箱无参考时从游戏不变量反推物理参数等自由常量——可形式化为约束求解与执行验证的结合;(4) 多代理编排失败(并行 worker 互相覆盖编辑)提示需要更好的任务分解与写冲突管理机制;(5) 用六维能力画像做条件化路由:不同产品阶段自动调用不同强项模型;(6) 扩展到 3D 引擎(Godot/Unity)与几十轮长会话场景,检验结论的普适性。
复现评估
复现难度:中到高,且分赛道差异大。项目主页(kwen-chen.github.io/GameXpert-Bench)已公开,但论文正文未承诺完整开源语料:GAMEGEN 的 97 份简报与协议描述相对可复刻,但其评分依赖事件分析代理加人工标注的共享评分表,第三方需自建标注流程;GAMEFIX 的 50 个机密金标准游戏「出于保密考虑保持内部」,外部完全无法复现 STRICT/Cliff 绝对值,只能等待官方榜单——这是最大的复现障碍;GAMEOPT 的游戏与隐藏验收标准同样内部(链清单见附录 C.1)。算力方面不需要训练,但推理成本不小:GAMEGEN 需 1,455 次完整游戏生成(每模型 97 个单会话任务)、GAMEFIX 需 17 模型 × 3 轮 × 100 任务的无头浏览器探针、GAMEOPT 需 15 模型 × 17 链 × 3 轮 × 6 轮交互共 765 次模型—游戏运行,全部以各厂商最高推理强度运行。工程上,GAMEFIX 的 Node.js + Playwright + 虚拟时钟 + 状态快照判分器是确定性、无 LLM 评委偏差的,协议描述详尽、可自行实现;若作者未来开源判分器与脱敏游戏,复现难度将大幅下降。
论文图表
论文首页总览图,把套件的三条赛道并置展示:GAMEGEN(97 款游戏、11 个流派,零样本单请求生成)、GAMEFIX(50 个金标准游戏、61 个变异算子,含自发现与显式两种模式,并示意 UI 重叠、渲染失败等缺陷样例)、GAMEOPT(17 款游戏、6 个维度、基于人类反馈的多轮优化)。
一图看懂整个基准的范围与三种任务形态,是理解全文组织的入口。
对真实人机协作开发轨迹的分析:横轴为人类请求序号,纵轴为源码规模(千字符),填充点表示改变产物的请求并按生成/修复/优化三阶段着色,空心点为延续性请求。所有轨迹的源码规模在各阶段保持或增长、从不缩小。
用经验数据支撑「生成→修复→优化」三阶段生命周期划分的有效性,说明后续开发确实继承并扩展先前产物。