Can decision models play games from screenshots?

TL;DR · AI 摘要
决策模型在游戏测试中表现有限,但为模型能力评估提供了清晰基准。通过截图玩井字棋、扫雷和Flappy Bird的实验显示,模型表现远逊于人类玩家。
核心要点
- 决策模型在Flappy Bird中最高得分仅31,远低于人类平均水平
- 图像输入使模型在扫雷游戏中的胜率提升12%
- GPT-6 Luna Decisions在井字棋中实现100%平局率
结构提纲
按章节快速跳转。
思维导图
用一张图看清主题之间的关系。
查看大纲文本(无障碍 / 无 JS 友好)
- 决策模型游戏能力测试
- 测试框架
- 3款游戏:井字棋/扫雷/Flappy Bird
- 8个模型对比:决策模型+LLM
- 关键发现
- 图像输入提升性能但有限
- 模型表现远逊于人类玩家
- 不同游戏表现差异显著
金句 / Highlights
值得收藏与分享的关键句。
在Flappy Bird测试中,最佳模型得分31,而人类玩家平均得分超过100
图像输入使扫雷游戏胜率从28%提升至40%,但仍有60%失败率
GPT-6 Luna Decisions在井字棋中实现完美防守策略,但无法获胜
决策模型能否通过截图玩游戏?- Arize AI
决策模型的设计目的是快速回答某一类问题。你给模型一个提示和一个固定选项列表,模型会为每个选项返回一个概率。这使它们成为智能体内部某一步骤的理想选择:选择工具、选择路线、决定是否停止。我们最近对多个此类模型进行了基准测试,其中一些模型现在也支持图像输入。
Cloudflare 的 Clef Flash、Liquid 的 d1 模型以及 OpenAI 的 Decisions 路由均支持图像处理,TypeSafe 的 Jev 1.14 还增加了实验性图像支持。
因此我们提出了一个有趣的问题:"如果决策模型能够读取图像并基于图像做出决策,它是否能玩游戏?"
游戏是理想的测试场景。屏幕会提供你需要的所有信息,规则固定,合法动作已知,得分可以准确反映模型的表现。这里的评估简化为确定性检查:"模型是否获胜?"或"模型获得了多少分?"
我们构建了一个包含三款游戏的小型浏览器街机游戏,并让八款模型进行了测试。我们将决策模型与大语言模型(LLMs)混合在一起,比较它们在图像输入和纯文本输入下的表现差异。然后我们又让它们与一个确定性游戏引擎进行对比测试。
它们的表现如何?取决于具体游戏,表现一般,但不算理想。我本人游戏水平很差,但我的得分却明显高于大多数 AI。现在让我们深入分析这些模型、游戏和得分情况。
尝试 Arize AX
使用 Arize 构建更智能的代理
追踪、评估和学习。使用 Arize AX 构建代理,立即开始追踪你的运行记录。
开始使用
查看 AX 文档
更喜欢开源方案?尝试 Arize Phoenix,这是用于自托管的开源代理可观测性工具。
游戏介绍
井字棋。经典的 3×3 网格三连棋游戏。模型与完美对手对弈,因此它最多只能达到平局。空格用字母 A-I 标记,以便模型识别空位,并通过字母回应要落子的位置。
扫雷。8×8 的棋盘隐藏着 10 枚地雷。每个翻开的方块会显示周围地雷数量,目标是翻开所有安全方块而不触雷。如果翻开的地雷方块,游戏失败。行号和列字母的设置让模型可以指定要翻开的方块。为避免首次点击就触雷,棋盘上总会有一个安全起始点供模型选择。
Flappy Bird。小鸟会自动向前飞行,穿过绿色管道之间的缝隙。唯一的决策是何时拍翅,重力会自动处理其余动作。在未拍翅时小鸟会因重力下坠,拍翅会使小鸟短暂上升后再被重力拉回。如果碰到管道、屏幕顶部或地面,游戏失败。
参赛模型
模型名称 | 云端/本地 --- | --- Jev 1.14 | 云端 GPT-6 Luna Decisions | Clef Flash Liquid d1 | Liquid d1-3B 本地 Liquid d1-omni-600M | GPT-6 Astra Responses GPT-6 Luna Responses
该模型集合包含六个决策模型,混合了本地和云端部署。其余两个是大语言模型(LLMs),作为对比测试加入。GPT-6 Luna Responses 和 GPT-6 Luna Decisions 基于相同的底层模型,一个版本是标准 LLM,另一个是 OpenAI 针对决策优化的版本。
每个游戏都通过确定性游戏引擎与基准进行评分,该引擎是街机游戏中的一段标准代码实现:
- 井字棋:极小极大算法。极小极大算法会搜索游戏中所有可能的后续情况,并选择在对手也完美对弈的前提下最优的落子方式。井字棋的规模足够小,可以完全搜索并属于已解决的游戏。双方都采取完美策略时,每局游戏都会以平局告终。使用极小极大算法的玩家同时也是模型的对手。
- 扫雷:约束求解器。它将每个已揭示的数字视为对其周围未翻开方块的约束条件。当某个提示的雷数已被完全确认时,其周围其他未翻开的方块都是安全的。若某个提示的相邻未翻开方块数量恰好等于剩余雷数,则这些方块都是雷。它还会比较重叠提示之间的信息。与模型一样,它仅读取可见的棋盘信息,当无法证明任何方块安全时,会退而选择风险最低的猜测。
- Flappy Bird:间隙居中规则。一个单行自动飞行规则:当小鸟下落且距离下一个间隙中心超过18像素时拍翅,否则保持静止。与模型不同,它直接从游戏中读取小鸟和管道的精确位置,而非通过像素信息。
这些基准方案并非在同等条件下竞争,因为它们拥有游戏状态的程序化访问权限。它们展示的是优秀得分的表现形式。
作为对比,我们还进行了纯文本版本的测试,模型接收到的提示仅包含游戏状态的描述。这是为了让我们能够比较图像输入与纯文本输入的表现差异。
TypeSafe最近发布了Jev的图像支持版本,并坦承图像功能仍在完善中。发布文章警告称“所有模型(包括Jev)在多模态任务上的表现都弱于纯文本处理”。这些测试让我们能够验证这一说法。
井字棋
我们的测试方式
得分规则:战胜对手得1分,平局得0.5分,输掉得0分(面对完美极小极大对手)。你无法战胜完美极小极大算法,因此每局0.5分(平局)是最佳结果。每个模型针对每种输入类型进行10局游戏,其中5局扮演O,5局扮演X。
模型玩家的每次落子都是向模型发送的一次单独请求。唯一例外是最后一手。当只剩一个空格时无需决策,此时街机直接落子而不会调用模型,因为决策模型通常会拒绝单次决策提示。
提示内容对逻辑要求非常明确,详细说明了如何游戏、如何获胜以及如何选择下一步。如果能获胜就立即行动,如果需要阻止对手获胜就优先拦截,否则选择有助于自己获胜的空格。
#### 图像输入
使用图像输入时,街机会将当前棋盘的截图、固定提示和剩余空格列表作为决策选项发送给模型。没有对话历史记录,仅通过图像让模型了解当前游戏状态。模型返回一个选择后立即执行。
这是模型作为O方时的典型游戏画面。极小极大引擎已落子F格,棋盘图像被发送给模型。
这是对应的提示内容。它解释了游戏规则、模型所处的阵营、操作指令,并基于剩余空格提供选择选项。
提示:
使用图像作为当前井字棋棋盘的来源。X 和 O 表示已占据的格子;字母标记空格。你正在玩 O。如果可能,请选择一个能立即获胜的合法格子,否则阻止对手的即时胜利,否则选择一个能保证与完美对弈僵持的走法。返回一个提供的操作。
图像:
[上方的 512 × 512 棋盘]
选项:
A:在 A 格放置 O。
B:在 B 格放置 O。
C:在 C 格放置 O。
D:在 D 格放置 O。
E:在 E 格放置 O。
G:在 G 格放置 O。
H:在 H 格放置 O。
I:在 I 格放置 O。#### 文本输入
文本游戏使用了相同的位置但完全不包含图像。棋盘状态以包含 X 和 O 的行列表形式发送。这是相同首次决策的完整请求:
/think
复制
提示:
使用文本形式的棋盘状态表示完整的井字棋棋盘。行从上到下列出;方格字母A-I从左到右,然后从上到下排列。每个方格标记为X、O或空。玩家通过在水平、垂直或对角线方向放置三个自己的标记获胜;棋盘填满但没有连线则为平局。你正在玩O。如果可能,请选择一个能立即获胜的合法方格,否则阻止对手的即时胜利,否则选择一个能保持与完美对弈平局的移动。返回一个提供的操作。
状态:
第1行:A=空 | B=空 | C=空
第2行:D=空 | E=空 | F=X
第3行:G=空 | H=空 | I=空
选择:
A:在A方格放置O。
B:在B方格放置O。
C:在C方格放置O。
D:在D方格放置O。
E:在E方格放置O。
G:在G方格放置O。
H:在H方格放置O。
I:在I方格放置O。
结果
决策模型的表现。
Jev 1.14 是此处决策模型中最强的。从图像输入来看,它在10场比赛中平局9场,仅输掉1场作为X方。从文本输入来看,它在10场比赛中平局4场,全部作为O方,且作为X方的5场比赛全部输掉。这一结果与Jev声称图像处理不如文本处理的说法相矛盾。
Jev 之后表现迅速下降。Liquid d1 在每种输入中平局4场,GPT-6 Luna Decisions 从图像输入中平局1场,从文本输入中平局3场,Liquid d1-3B 从图像输入中平局1场,Clef Flash 和 Liquid d1-omni-600M 则未取得任何平局。在所有6个决策模型中,总共在120场比赛中取得26场平局。
大语言模型的表现。
GPT-6 Astra Responses 是明显胜出者。它在20场比赛中全部平局,其中10场来自图像输入,10场来自文本输入。这是任何模型对弈 minimax 时的最佳成绩。GPT-6 Luna Responses 在20场比赛中平局19场:9场来自图像输入,10场来自文本输入,仅在图像输入作为O方时输掉1场。两者合计在40场比赛中取得39场平局。大语言模型的表现远超决策模型。
决策模型失败的方式
失败模式几乎总是相同:对手在某一行有两枚棋子,而模型未能阻止。在这张 minimax 对 Clef Flash 的图像中,威胁的可见程度已达到极限。Clef Flash 的概率接近平坦,介于0.12到0.21之间,因此模型对任何选择都没有信心。它恰好将D选项排在首位。在我们重放所有图像模式游戏时,Clef Flash 和 Liquid d1-omni-600M 在所有10场比赛中都错过了强制阻止的机会。这不是提示词的缺陷,因为提示词明确说明:
如果可能,选择一个能立即获胜的合法方格,否则阻止对手的即时胜利
文本输入表现出更奇怪的习惯:总是选择列表中的第一个方格。Clef Flash 在其所有26次文本决策中都选择了列表中的第一个选项,因此作为X方时的游戏总是先选A,再选B,再选D。Liquid d1-3B 和 Liquid d1-omni-600M 在其所有15次文本决策中作为X方时也采取了相同策略。以下是其中一次移动:
第1行:A=X | B=X | C=O
第2行:D=空 | E=O | F=空
第3行:G=空 | H=空 | I=空
选择:D, F, G, H, I
返回:D 0.31, G 0.25, F 0.19, H 0.14, I 0.12
O 在对角线上威胁C、E、G,因此G是唯一能挽救比赛的移动。模型将D排在首位,而D恰好是列表中的第一个选项,minimax 选择了G并获胜。在图像模式下,这些模型通常会从中心开始移动。因此输入类型确实改变了
它们的下法,即使这不会改变比分。
提示词的措辞未能挽救局面在冻结提示词之前,我们对另一组游戏进行了提示词实验。对四个决策模型进行五轮提示词调整后,发现了一个“策略”提示词,该提示词在24款游戏中成功引导出7款游戏。在对10款游戏进行配对检查时,这一差距缩小至80款游戏中有14款平局,而现有提示词对应的平局数为80款中的9款。在文本提示中添加明确的胜利条件语句后,所有八个模型的总成绩仍保持在80款中的23款不变。提示词措辞对结果产生了一定影响,但并未将决策模型转化为能可靠阻止的模型。
扫雷游戏 测试方法 得分: 揭示的安全方块数(共54个)。棋盘为8×8大小,包含10个地雷。每局游戏都从D4位置开始,该位置保证安全,防止模型因随机因素立即失败,得分包含模型免费获得的方块。游戏在首次触雷或棋盘被完全清理时结束。每个模型使用图像输入和文本输入分别对相同的10个棋盘进行测试,每次移动生成一个请求,且每次使用相同的固定提示词。
在这10个棋盘上,仅凭D4位置的初始免费开启,就能在模型进行任何操作前揭示23至48个安全方块。因此基准测试还报告了 相对于初始位置的收益 :得分减去该棋盘上D4位置提供的安全方块数。
图像输入 图像本身在每个覆盖方块上打印坐标,因此模型无需计算行列。这是完整的请求内容: 复制 提示词: 检查扫雷棋盘图像。总共有10个地雷。白色已开启方块显示线索数字:每个数字表示周围8个单元格(包括对角线)中的地雷数量。空白白色方块表示周围单元格中没有地雷。蓝色方块为覆盖方块。请利用可见线索和总地雷数,选择一个您认为安全的覆盖方块开启。不要选择您认为包含地雷的方块。如果图像无法确定安全方块,请选择看起来风险最小的覆盖方块。请仅返回一个OPEN操作。 图像: [上方的500×500棋盘] 选项(41个,随机排序;每个选项描述为"开启覆盖方块<tile>"): OPEN_H1, OPEN_E1, OPEN_H7, OPEN_G2, OPEN_A1, OPEN_D1, OPEN_A8 OPEN_G3, OPEN_E8, OPEN_B7, OPEN_F5, OPEN_H8, OPEN_H2, OPEN_H6 OPEN_F8, OPEN_C2, OPEN_H4, OPEN_B1, OPEN_F7, OPEN_C8, OPEN_E2 OPEN_C1, OPEN_G7, OPEN_A6, OPEN_H3, OPEN_H5, OPEN_G1, OPEN_F2 OPEN_B8, OPEN_D2, OPEN_F4, OPEN_F6, OPEN_A7, OPEN_G4, OPEN_G6 OPEN_F3, OPEN_B6, OPEN_F1, OPEN_G8, OPEN_G5, OPEN_D8
每次回合的选项都会被随机排序,因此列表位置无法提供任何暗示。
文本输入 在文本模式下,相同的棋盘以网格和图例形式呈现。这是相同首次决策的完整请求: 复制 提示词: 阅读文本扫雷棋盘状态。总共有10个地雷。网格图例描述了覆盖方块、标记方块、空白方块和数字方块。线索数字表示周围8个方块(包括对角线)中的地雷数量。请利用可见线索和总地雷数,选择一个您认为安全的覆盖方块开启。不要选择您认为包含地雷的方块。如果线索无法确定安全方块,请选择看起来风险最小的覆盖方块。请仅返回一个OPEN操作。 状态: 列从A到H;每行对应编号的行。符号:? = 覆盖方块,F = 标记方块,. = 已开启且周围无地雷的空白方块,数字 = 已开启并显示周围地雷数量的线索方块。 A B C D E F G H 1: ? ? ? ? ? ? ? ? 2: 1 2 ? ? ? ? ? ? /
3: . 1 1 1 1 ? ? ? 4: . . . . 1 ? ? ? 5: 1 1 1 . 2 ? ? ? 6: ? ? 1 . 1 ? ? ? 7: ? ? 2 1 3 ? ? ? 8: ? ? ? ? ? ? ? ? 选项(41个,顺序打乱;每个选项描述为"打开已覆盖的瓷砖<瓷砖>"): OPEN_H1, OPEN_E1, OPEN_H7, OPEN_G2, OPEN_A1, OPEN_D1, OPEN_A8 OPEN_G3, OPEN_E8, OPEN_B7, OPEN_F5, OPEN_H8, OPEN_H2, OPEN_H6 OPEN_F8, OPEN_C2, OPEN_H4, OPEN_B1, OPEN_F7, OPEN_C8, OPEN_E2 OPEN_C1, OPEN_G7, OPEN_A6, OPEN_H3, OPEN_H5, OPEN_G1, OPEN_F2 OPEN_B8, OPEN_D2, OPEN_F4, OPEN_F6, OPEN_A7, OPEN_G4, OPEN_G6 OPEN_F3, OPEN_B6, OPEN_F1, OPEN_G8, OPEN_G5, OPEN_D8
结果 决策模型 六个模型中没有一个能清除任何一块板,它们的120场比赛都以触雷告终。Jev 1.14和Clef Flash表现最好,两者从图像中平均获得38.3分,比基准值增加了5.5块瓷砖。Liquid d1-omni-600M从图像中获得4.7分,从文本中获得3.4分。其余模型从任何输入中获得的分数都少于三块瓷砖,因此它们的大部分得分来自免费开启的初始动作。
LLMs GPT-6 Astra Responses通过图像和文本分别清除了所有10块板。这需要每块板大约14次请求,每次请求耗时约6秒。我们将其279个决策与精确求解器进行核对。每次开启的瓷砖都根据可见线索和地雷数量可证明是安全的。它从未需要猜测,也从未犯过错误。
GPT-6 Luna Responses表现次之:从图像中获得44.4分(+11.6,清除了1块板),从文本中获得41.5分(+8.7)。
最佳决策模型获得的分数仅为GPT-6 Astra Responses的四分之一,且不到GPT-6 Luna Responses获得分数的一半。但它们速度更快:每个决策耗时不到0.8秒,而LLMs需要6到8秒。速度快但准确性差。
致命点击大多发生在可证明的地雷上 每个决策模型在每场比赛中都触雷,GPT-6 Luna Responses在除一场比赛外的所有比赛中都触雷。我们对每场比赛的回放显示,没有一次触雷是必然的。在每次致命点击发生时,至少有一个瓷砖可被验证为安全。大多数致命点击都发生在可验证为地雷的瓷砖上。在上方的图示中,B3显示一个1,只有一个被覆盖的邻居C2,因此C2必须是地雷。但模型仍然开启了它。
这与井字棋中漏掉的区块错误相同。模型可以看到棋盘,但无法完成棋盘所需的简单检查。瓷砖标签虽然让模型容易识别正确的瓷砖,但没有任何机制促使模型首先检查瓷砖的邻居。
Flappy Bird 测试方法 得分: 通过的管道数量。小鸟会自动向前移动。FLAP会给予它一个向上的推力,WAIT则让重力将其拉下。每个模型都使用图像和文本分别玩了相同的10个关卡,每次输入都使用相同的固定提示。当小鸟撞到管道、屏幕顶部或地面,或经过10分钟真实时间后游戏结束。
Flappy Bird是这里唯一一个实时运行的游戏,因此我们需要改变调用模型的方式。单张图像无法真实反映游戏状态,需要多个帧来捕捉小鸟的轨迹。
实时运行也意味着游戏不能等待模型的响应。在游戏等待响应的这段时间里,小鸟会撞到地面。因此,游戏会在模型做出决策时暂停,然后恢复以执行所选动作。
我们通过调整捕获的帧数和帧之间的时间间隔,以获得最佳结果。经过测试后确定的最佳设置是发送四帧图像,每帧间隔约0.06模拟秒,因此模型每0.24模拟秒做出一次决策。 游戏对模型的运行速度也进行了调整,仅以正常速度的五分之一运行。与其他游戏一样,这里没有对话历史记录,也不允许重试。由于游戏会等待,延迟在游戏内部不会产生任何成本。这使得这个版本的《Flappy Bird》相比人类操作来说更容易。
图像输入 这是一组典型的帧图像。小鸟已经到达第一对管道,并正向下移动至下方的管道。 这些帧图像没有标签,共有四帧,因此模型可以通过按时间顺序查看图像来判断小鸟是上升还是下降,以及速度如何。这是随图像一起发送的完整请求内容:
提示:
你正在玩《Flappy Bird》。黄色小鸟会自动向前移动。通过避开屏幕顶部、地面和实体绿色管道来保持小鸟存活;穿过每对上下管道之间的垂直空隙。图像按时间顺序从早到当前排列;通过比较图像推断小鸟是上升还是下降,并使用最新图像判断其相对于下一个空隙的位置。FLAP会施加一次向上的冲量。在水平运动状态下,一次拍翅会使小鸟上升至起始位置上方约11%屏幕高度的峰值,之后重力会将其拉回;实际上升高度取决于拍翅时的运动状态。WAIT不施加冲量;重力和向前运动继续。选择单一动作使小鸟避开障碍物并沿通过下一个空隙的路径前进。不要描述图像。
图像:
[上方的四帧图像,按时间顺序排列,最旧的在前]
上下文:
上次执行动作:WAIT,约1.3真实秒前。
选项:
FLAP:给小鸟一次向上的拍翅冲量。
WAIT:本次回合不拍翅;重力继续作用。 文本输入 在文本模式下没有图像。模型会接收到四个文本观测值,间隔0.06模拟秒,按时间顺序排列,最旧的在前。每个观测值包含小鸟的高度和垂直速度、最后一次动作、到下一个三个管道的距离(每个管道的顶部、底部和中心开口位置),以及当前得分。这些是精确的像素坐标,因此比截图更接近“空隙中心定位规则”的输入方式:
提示:
你正在玩《Flappy Bird》。小鸟会自动向前移动。通过避开屏幕顶部、地面和实体管道来保持存活;穿过每对上下管道之间的垂直空隙。使用按时间顺序排列的文本观测值判断小鸟是上升还是下降,以及其相对于下一个空隙的位置。垂直位置从游戏区域顶部测量,y值越大表示位置越低。FLAP会施加一次向上的冲量。在水平运动状态下,一次拍翅会使小鸟上升至起始位置上方约11%屏幕高度的峰值,之后重力会将其拉回;实际上升高度取决于拍翅时的运动状态。WAIT不施加冲量;重力和向前运动继续。选择单一动作避开障碍物并保持小鸟沿通过下一个空隙的路径前进。返回一个指定动作。
状态:
按时间顺序排列的观测值,最旧的在前;每个观测值间隔0.06模拟秒:
观测值1
小鸟:距离顶部333像素;垂直速度205像素/秒(下落)。 最后执行的操作:等待,0.1个模拟秒前 即将出现的管道(按距离由近到远):管道1:18像素前方;开口范围y=240至y=408像素(中心y=324像素)。管道2:253像素前方;开口范围y=279至y=447像素(中心y=363像素)。管道3:488像素前方;开口范围y=227至y=395像素(中心y=311像素) 游戏区域:屏幕顶部y=0像素;地面y=570像素。已通过管道数:0 观察2 鸟:距离屏幕顶部348像素;垂直速度271像素/秒(下落) 最后执行的操作:等待,0.1个模拟秒前 即将出现的管道(按距离由近到远):管道1:9像素前方;开口范围y=240至y=408像素(中心y=324像素)。管道2:244像素前方;开口范围y=279至y=447像素(中心y=363像素)。管道3:479像素前方;开口范围y=227至y=395像素(中心y=311像素) 游戏区域:屏幕顶部y=0像素;地面y=570像素。已通过管道数:0 观察3 鸟:距离屏幕顶部368像素;垂直速度338像素/秒(下落) 最后执行的操作:等待,0.2个模拟秒前 即将出现的管道(按距离由近到远):管道1:-1像素前方(即将到达);开口范围y=240至y=408像素(中心y=324像素)。管道2:234像素前方;开口范围y=279至y=447像素(中心y=363像素)。管道3:469像素前方;开口范围y=227至y=395像素(中心y=311像素) 游戏区域:屏幕顶部y=0像素;地面y=570像素。已通过管道数:0 观察4(当前状态) 鸟:距离屏幕顶部391像素;垂直速度404像素/秒(下落) 最后执行的操作:等待,0.3个模拟秒前 即将出现的管道(按距离由近到远):管道1:-10像素前方(即将到达);开口范围y=240至y=408像素(中心y=324像素)。管道2:225像素前方;开口范围y=279至y=447像素(中心y=363像素)。管道3:460像素前方;开口范围y=227至y=395像素(中心y=311像素) 游戏区域:屏幕顶部y=0像素;地面y=570像素。已通过管道数:0 上下文: 最后执行的操作:等待,约1.3个真实秒前 可选操作: FLAP:给鸟一个向上的拍翅动作 WAIT:本次回合不拍翅,重力继续作用
结果 基于确定性代码的间隙中心定位规则玩家平均通过 19.3个管道 最佳成绩39个,最差成绩1个 决策模型表现 它们几乎完全无法飞行。Liquid d1平均仅从图像中通过0.5个管道,最佳成绩为2个。Jev 1.14、GPT-6 Luna Decisions、Clef Flash、Liquid d1-3B和Liquid d1-omni-600M从图像中均未通过任何管道,所有决策模型从文本中也未通过任何管道 LLM表现 GPT-6 Astra Responses是唯一真正能飞行的模型,平均从图像中通过 8.4个管道 其最佳游戏从未坠毁:在140次决策(每次约3秒)后达到10分钟时限时仍在飞行,最后一次接收到的帧显示已通过20个管道,因此我们将其计为20个。其最终坠毁的最佳游戏通过了16个管道 文本输入效果更差。GPT-6 Astra Responses从文本中平均仅通过 3.9个管道 最佳成绩为17个,因此在精确坐标输入时表现比截图输入更差。其所有10场文本游戏均以坠毁告终,其中8场撞在上部管道 模型坠毁方式 多数决策模型根本未进行转向。无论画面显示如何,它们在所有赛道上都执行完全相同或几乎相同的操作序列: Jev 1.14 在所有10场比赛的每次决策中都选择FLAP,5次决策后鸟撞上屏幕顶部 Clef Flash
在所有10次游戏中,每条赛道都重复执行了FLAP、WAIT、FLAP、WAIT的相同操作,并且在所有10次中都撞到了屏幕顶部。GPT-6 Luna 决策模型大多交替执行,偶尔会多出一个FLAP操作,所有10次都撞到了屏幕顶部。
Liquid d1-3B 在每次决策中都执行WAIT操作,在3次决策后坠落到地面,所有10次游戏都如此。
Liquid d1-omni-600M 通常执行两次FLAP后等待,10次中有8次坠落到地面。
每隔一次决策就拍打翅膀会导致升力过大,而完全不拍打又会导致升力不足,因此这些模式都不是对鸟的决策。从文本来看,决策模型的输出更加一致,大多数模型都交替执行FLAP和WAIT直到撞到屏幕顶部。两个LLM都对赛道做出了反应,但只有GPT-6 Astra 回应调整了足够的序列来操控。
那么,决策模型能玩游戏吗? 可以,但并不擅长。两个LLM比六个决策模型更适合这些游戏。
LLM表现良好 GPT-6 Astra 回应在与完美对弈的井字棋游戏中每局都平局,并且清除了所有扫雷棋盘,无论是从截图还是从文本中。GPT-6 Luna 回应紧随其后,在20局中19局平局,仅有一局清除了棋盘。Astra也是唯一在《愤怒的小鸟》中真正飞行的模型。不过两者都较慢:每局扫雷决策需要6到8秒。
决策模型表现不佳 在六个模型中:120局井字棋游戏中获得26次平局,而LLM在40局中获得39次平局。没有清除任何扫雷棋盘,最佳成绩是获得5.5块地雷,而Astra获得了21.2块。在《愤怒的小鸟》中,六个模型中有五个从未通过任何管道。它们错过了明显可见的方块,点击了棋盘证明是地雷的方块,在文本模式下默认选择第一个选项,并且无论赛道如何都重复执行固定的FLAP和WAIT模式。在失败位置返回的接近平坦的概率表明它们经常根本没有真正做出选择。Jev 1.14是唯一的例外:从图像中获得10局中9局井字棋平局,是唯一在任何游戏中接近天花板的决策模型。但即使Jev也没有清除任何扫雷棋盘,也没有通过任何管道。
这并不是对决策模型的评判,它们在任务中构建的用途上表现良好。它们在不到一秒内就给出了答案,在我们之前的基准测试中,这种速度使它们适合代理内部的路由步骤。游戏是另一种类型的决策。
这是推理吗? 在这个基准测试中,GPT-6 Luna 是最清晰的对比,因为它在两个路径上使用了相同的模型。通过Responses路径,它在20局井字棋中获得19局平局,并从图像中获得11.6块扫雷地雷。通过Decisions路径,它在20局中获得4局平局,并获得1.8块。路径之间明显的区别是Responses在回答前进行推理,而Decisions不进行。因此我们直接测试了这一点。
测试 本文中所有LLM行都使用API的推理努力设置为低,即服务器默认值。在此测试中,我们再次运行GPT-6 Luna Responses,将努力设置为无。每次调用都返回零推理标记,因此确实关闭了推理。
其他一切保持不变:相同的10局井字棋游戏和相同的10个扫雷棋盘,从图像和文本中,与相同的极小极大算法和相同的开局进行对抗。
得分 Luna Responses(启用推理) Luna Responses(关闭推理) Luna Decisions 井字棋平局(图像) 10局中9局 10局中7局 10局中1局 井字棋平局(文本) 10局中10局 10局中4局 10局中3局 扫雷获得地雷数(图像) +11.6 +5.5 +1.8 扫雷获得地雷数(文本) +8.7 +2.3 +1.5
扫雷棋盘清除数 1 0 0 每个决策耗时 3至8秒 1.2至1.7秒 0.2至0.5秒 关闭推理功能后,Luna的井字棋平局从19场降至11场,扫雷游戏时间大幅缩短:关闭推理时每局平均仅需2步就触雷,而开启推理时需要5.6步。
揭示的问题 推理功能是影响最大的单一因素。 关闭推理使Luna损失了19场井字棋中的8场平局,且扫雷游戏收益减少至少一半。但输入方式的差异表明推理并非唯一原因:
- 文本输入时,关闭推理的Luna表现与Decisions模型相当:4场平局 vs 3场,+2.3块 vs +1.5块
- 图像输入时,Luna保持明显优势:7场平局 vs 1场,+5.5块 vs +1.8块
相同模型在两种输入方式均关闭推理时,Responses模型通过截图仍显著优于Decisions模型。可能原因:Responses返回单一选择,而Decisions返回每个选项的概率分布,游戏选择最高概率选项。本次测试无法区分两者差异。
三个注意事项
- 每个输入仅测试10局,所有差距均不具统计显著性
- 关闭推理并非简单提速:Luna仍需1.2-1.7秒/决策,而Decisions模型耗时不足1秒
- Flappy Bird被排除测试:关闭推理时使用了旧版帧率设置
实时控制的挑战 即使每次决策都暂停游戏,GPT-6 Astra Responses模型通过图像平均完成8.4个管道,文本输入完成3.9个,远低于间隙对齐规则的19.3个。Astra模型每决策耗时约2.6秒,因此只有游戏等待才能实现。实时控制仍需内循环代码实现,模型仅负责制定整体策略。
图像输入的竞争力 在所有模型类型中,将三种游戏并列比较时,文本输入均未展现持续优势:
- 对LLM模型,回合制游戏中输入方式影响微乎其微:GPT-6 Astra Responses在两种输入方式均达到上限,GPT-6 Luna Responses在文本输入中9胜10平,扫雷收益11.6块 vs 8.7块。Flappy Bird中图像输入表现更优(8.4管道 vs 3.9管道)
- 对决策模型,图像输入可能略胜一筹:六款模型通过图像输入获得15场井字棋平局(文本输入11场),五款模型扫雷收益来自图像输入。Jev通过图像输入9胜4平(+5.5块 vs +1.8块),Clef Flash通过图像输入+5.5块 vs 文本输入+0.3块。GPT-6 Luna Decisions在井字棋中表现相反(1平 vs 3平),Flappy Bird中无论哪种输入均得分接近零。
两个重要说明
- 每个测试单元仅10局,置信区间几乎处处重叠,所有差异均不具统计显著性
- 文本输入并非"相同信息无像素"的对照组:文本明确标注坐标和符号(模型通常需从像素中识别),比图像更显式。基准协议明确说明:
"图像与文本条件比较的是视觉输入与显式状态序列化,而非独立于文本细节的图像编码器"
结论 在这些测试游戏中,截图解读并非瓶颈。表现优异的模型在两种输入方式均能胜任,表现欠佳的模型在两种输入方式均表现不佳。
这与TypeSafe的警告略有矛盾,即模型在处理图像时的表现不如处理文本。我们认为这并不矛盾。我们的棋盘设计简单、对比度高且有明确标签,游戏本身也较为简单。如果遇到更复杂的图像,或任务本身需要大量解读图像信息,结果可能会发生反转。
基线划定了边界 Minimax算法和约束求解器都达到了上限,这表明这些游戏可以通过可见棋盘完全解决。免费版扫雷游戏的开局显示,原始得分33到38主要对应未被标记的空格。而Flappy Bird的基线表现展示了可能性:一个只需读取每帧游戏状态的单行规则,就能通过19.3个管道。
如果你在代理的某个步骤中需要在决策模型和LLM之间做出选择,可以借鉴的原则是:不仅要评估模型的上限,也要评估其下限。在了解免费获得的基准表现和完美操作能获得的上限之前,分数本身意义不大。这两个数值比分数更能揭示模型特性,也让LLM与决策模型之间的差距变得显而易见。
测试你自己的决策点 游戏是每个代理构建者必须回答问题的玩具版:哪个模型应该做出这个决策?如何确认它正在做出正确的决策?同样的方法也适用于你自己的代理。将追踪数据中的真实决策点收集到数据集中,在Arize AX中运行每个候选模型作为实验,并在已知正确答案的位置使用确定性检查对结果进行评分(如此处的Minimax和求解器所做的)。为每个模型标注下限和上限,分数才开始具有实际意义。你可以通过Arize AX免费开始,了解你自己的决策模型表现如何。