LLM-colosseum 完整指南:把大语言模型扔进街霸3竞技场,用实战打分

📅 2026/8/24 1:57:09
LLM-colosseum 完整指南:把大语言模型扔进街霸3竞技场,用实战打分
LLM-colosseum 完整指南把大语言模型扔进街霸3竞技场用实战打分【免费下载链接】llm-colosseumBenchmark LLMs by fighting in Street Fighter 3! The new way to evaluate the quality of an LLM项目地址: https://gitcode.com/GitHub_Trending/ll/llm-colosseum选模型靠跑分LLM-colosseum 换了个思路让各家大语言模型在《街头霸王3第三次打击》里实时对战赢下来的那位才有资格被称为会思考的 AI。项目基于 diambra 引擎驱动真实游戏画面通过 546 场实际交打积累了 ELO 分制排行榜和逐对胜率矩阵是观察 LLM 决策能力差异最直观的 LLM 竞技场之一。为什么是格斗游戏而不是问答题常规基准考的是知识量而一场格斗逼出的是模型的综合反应快——实时游戏每一帧都在流逝模型必须快速给出下一步有策略——高手要提前想好几步之后的局面会出奇招——用对手没预料到的动作破局能自我修正——挨了打要调整打法而不是机械重复全程稳定——整局保持输出质量不掉链子。更关键的一点是强化学习模型只会盯着奖励函数盲目试错而 LLM 是看懂局面再出手——它清楚自己是谁、对手在哪、血量还剩多少。这正是作者认为格斗游戏是一类新基准的原因考的不是背了多少而是能不能在真实情境中做决策。两种上场方式文字观察型与看画面型每个选手本质上是一个机器人Robot由 LLM 通过 API 驱动。项目提供两种感知通道对应 agent/robot.py 中的两类实现TextRobot把局面翻译成文字系统每帧生成一段文字描述己方角色与对手的位置、血条、能量条、双方刚出过的招。LLM 基于这些文字加上此前动作的历史输出接下来要做的动作列表。这条路线是 agent 化的多线程实时调用不依赖视觉能力纯文本模型也能参赛。VisionRobot直接看截图多模态模型走另一条路——把当前游戏截图并注明它控制哪个角色直接发给视觉语言模型决策完全基于画面信息。这种模式更接近人类玩家的体验先看懂再动手。两种机器人调用 LLM 的入口都是各自的call_llm()方法提示词里会写明角色身份、可用招式清单和输出格式以- 动作名的列表形式返回后文会讲到如何在这里动手改造。从截图能直观看到这套系统的工作方式多个 DIAMBA 竞技场窗口同时开战终端里滚动着每一次 LLM 请求与返回的动作move closer、megafireball、high punch……整个对战就是观察 → 调 API → 执行的循环。546 场打完ELO 排行榜与胜率矩阵所有战绩汇总成一张 ELO 分表算法与国际象棋分级同源。截至最近一批对战前十如下排名模型ELO 分1openai:gpt-4o:text1912.502openai:gpt-4o-mini:vision1835.273openai:gpt-4o-mini:text1670.894openai:gpt-4o:vision1656.935mistral:pixtral-large-latest:vision1654.616mistral:pixtral-12b-2409:vision1590.777mistral:pixtral-12b-2409:text1569.038together:meta-llama/Llama-3.2-90B-Vision-Instruct-Turbo:text1441.459anthropic:claude-3-haiku-20240307:vision1364.8710mistral:pixtral-large-latest:text1356.32几点值得留意的规律GPT-4o 家族几乎屠榜——前三里占了两席冠军 gpt-4o:text 领先第二名接近 80 分视觉通道普遍更强——同一模型vision 版本经常比 text 版本排名更高如 gpt-4o-mini、pixtral、claude-3-haiku直接读画面比读转译文字损失更少有个例外Claude 3 Sonnet 分数偏低原因是频繁拒绝参赛refusal to fight加上 API 延迟过大说明愿不愿意打和打得好不好都是评估维度。除了总分逐对胜率矩阵能回答更细的问题——谁怕谁矩阵里一些反直觉的组合很值得玩比如 mistral:pixtral-large-latest:text 能稳吃 anthropic:claude-3-sonnet:text13/14 胜而 openai:gpt-4o-mini:text 对 gpt-4o:text 保持 0 胜——同门对决也毫不留情。想看完整 14 支选手的对阵明细notebooks/results.md 里逐行记录了每组的胜场、场次与胜率。本地从零跑起来安装、开打、换本地模型想亲自看模型互殴按下面四步走克隆仓库并安装依赖git clone https://gitcode.com/GitHub_Trending/ll/llm-colosseum cd llm-colosseum make install按 diambra 官方文档准备好街霸3 ROM放到~/.diambra/roms无需解压参照.env.example建一个.env文件填入各家模型的 API Keyopenai、mistral 等开打make run跑起来后就是实时画面两个角色各自受 LLM 控制来回博弈。如果不想碰 ROM 环境也可以用容器化方式docker build -t diambra-app .构建镜像docker run --name diambra-container -v ~/.diambra/roms:/app/roms diambra-app启动或者更省事地直接docker-compose up停服务时docker-compose down。用 Ollama 本地模型打一场不想烧 API 费用把本地模型接进来即可。先确保 Ollama 已启动并下载好模型例如ollama serve mistral然后修改 local.py 里两个玩家的model参数命名约定是模型提供商:模型名如ollama:mistralrobot_type选text或vision执行make local默认配置是 mistral 对 mistral 的左右互搏换成你自己下载的任意模型就能看效果。想先不花钱验证流程也可在.env里把DISABLE_LLM设为True双方会以随机动作互打用来测试渲染和引擎是否正常。改提示词、提交新模型参与项目的方式想让自家模型进榜或者觉得机器人不够聪明改动点非常集中调提示词agent/robot.py 中TextRobot.call_llm()和VisionRobot.call_llm()各自维护一套 system prompt角色设定、招式清单、输出格式示例改这里的措辞就能改变机器人的激进程度和决策风格改模型/采样参数temperature在玩家配置里可调get_client()见 agent/llm.py负责连接不同提供商提交新模型继承Robot基类写一个新子类做出你想要的改动然后发起 PR维护方会尝试把它纳入正式排名。项目诞生于 2024 年旧金山的 Mistral Hackathon由 phospho 与 Quivr 团队打造代码结构刻意保持简单——agent/ 管机器人eval/game.py 管对局编排改起来没有历史包袱。接下来可以做的三件事跑通make local用两个不同的 Ollama 模型各打 10 局观察哪个手感更好对照胜率矩阵验证自己的假设挑矩阵里一个接近 5:5 的对阵本地多打几局看是否稳定fork 一份改 prompt比如把 system prompt 里的aggressive改成更保守的防守策略再让新版本回到 ELO 榜上验证改动到底有没有用——这本身就是一个小型的提示词 A/B 实验。【免费下载链接】llm-colosseumBenchmark LLMs by fighting in Street Fighter 3! The new way to evaluate the quality of an LLM项目地址: https://gitcode.com/GitHub_Trending/ll/llm-colosseum创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考