news 2026/10/9 22:54:32

Jeff 游戏大测试:Doom、Frogger、Pac-Man 零样本表现深度评测

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Jeff 游戏大测试:Doom、Frogger、Pac-Man 零样本表现深度评测

Jeff 游戏大测试:Doom、Frogger、Pac-Man 零样本表现深度评测

【免费下载链接】jeffMillisecond decisions, any domain: a 0.8B open "System 1" model that picks between your options with calibrated probabilities. One base, swappable LoRA adapters, on your own hardware.项目地址: https://gitcode.com/gh_mirrors/jeff6/jeff

Jeff 是一款 0.8B 参数的开源"System 1"快速决策模型:单次前向传播就能在多个选项中做出带校准概率的毫秒级选择,无需生成任何文本。本文用 Doom、Frogger 和 Pac-Man 三款经典游戏,对它做零样本(模型从未见过这些游戏)表现的深度评测,并附上完整复现方法。

Jeff 是什么:一个只做"选择题"的 0.8B 小模型

  • 工作方式:你用大白话描述局面并列出选项,Jeff 一次前向传播返回每个选项的概率和置信度——没有生成文本,没有解析。
  • 速度是核心卖点:0.8B 基座在 NVIDIA GPU 上单次决策中位约 22 毫秒、Apple M4 Max 上约 28 毫秒,这是它能"实时打游戏"的前提。
  • 下图展示了 Jeff 各版本基座在 5 个公开基准上的决策准确率:0.8B 与 2B 模型基本打平,并接近已发布的 Jev,说明小尺寸并没有牺牲"做选择"的能力。

零样本游戏测试方法:纯文字输入 + 两条基线

游戏测试的设计非常"干净",适合新手理解模型能力边界:

  • 玩家永远看不到像素。代码把局面翻译成文字(血量、怪物距离与方位角、棋盘格子),把合法操作变成选项,Jeff 每回合只回答一道选择题(Doom 每 4 个游戏 tick 决策一次)。
  • 两个陪练基线:随机玩家(随便选一个合法动作)和手工规则机器人(把策略写死成代码),后者是"必须达到的及格线"。
  • 固定 20 局、种子 1234,保证每次评测可复现;第一局会录成视频,字幕实时显示每个选项、模型给出的概率、最终选择和耗时(见 video.py)。
  • 多种"措辞风格"可切换:rule把正确条件直接写进选项(如"方位角在 -8 到 +8 之间就该开火");judgement选项只说按钮的作用;outcomes/situation则让代码把结果用文字算好给模型挑。测试入口在main.py。

Doom 测试:只看文字就能"瞄准开火"

Doom 使用 ViZDoom 的 defend_the_center 场景。每回合,代码算出最近怪物的距离和方位角(0 = 正前方,正数在左侧、负数在右侧),Jeff 在 3 个按钮中做选择:ATTACK(开火)、TURN_LEFT、TURN_RIGHT。"rule" 措辞直接给出瞄准阈值(见 doom.py):

Fire. Correct whenever the nearest monster's bearing is between -8 and +8...

👾20 局平均击杀数(种子 1234):

  • 随机玩家:0.75
  • 手工规则机器人:6.55
  • Jeff(零样本):6.55—— 与手工策略完全打平
  • 对照参考:Jev 在同一测试台架上的已发布成绩为 6.55(rule 版)/ -0.60(judgement 版);Jev 是 API 模型,每次调用含网络延迟 114–212 毫秒,而 Jeff 在本地约 22 毫秒。

想更直观地看"怪物在哪个方位时 Jeff 会按哪个按钮",一条命令即可统计:诊断脚本 doom_diag.py 会在规则机器人的局面上收集 Jeff 的选择分布。

Frogger 与 Pac-Man 成绩:10.3 次过河与 57 颗豆子

  • 🐸Frogger:9 格宽的自实现棋盘,3 条生命,每局上限 300 步。规则是"车在格子上会被撞死,河里必须踩在随波漂走的原木上"。Jeff 零样本拿下 10.3 次过河,与规则机器人打平(实现见 frogger.py)。
  • 🟡Pac-Man:98 颗豆子、2 个会主动追人的幽灵、3 条生命、每局上限 600 步。Jeff 吃到 57 颗,规则机器人 94 颗。差距的原因很清楚:吃豆子需要"绕开幽灵 + 规划路线"的较远视野,这正是 0.8B 小模型不擅长的多步推理(实现见 pacman.py)。
  • 配套工具:pacman_diag.py 会统计 Jeff 所选选项的"危险/食物分布"以及它选"反向"的频率;单元测试 test_games.py 保证"规则机器人稳定胜过随机"这条基线成立,避免测试本身出错。

三场游戏成绩单:随机、规则机器人与 Jeff 对比

游戏指标随机玩家规则机器人Jeff(零样本)
Doom平均击杀 / 局0.756.556.55
Frogger平均过河次数 / 局—10.310.3
Pac-Man吃到豆子—94 / 9857 / 98

结论一目了然:"看当前局面执行一步"的任务,0.8B 零样本就达到了手工策略水平;需要跨多步规划的任务则明显拉开差距——这和它"直觉式"的定位完全吻合。

对比案例:微调之后的 Jeff 能下国际象棋

游戏测试是零样本的,那微调后呢?官方示例用 60 万个 Lichess 局面在单张 GPU 上训练约 3.5 小时:

  • 1000 个留出谜题:零样本 15.5% → 微调后55.8%
  • 约 1000 Elo(无任何搜索),因为每步只是一次前向传播,单卡可同时跟上约 600 盘闪击棋
  • 全部脚本见 examples/chess/

如何复现 Jeff 游戏测试:三步跑通全套脚本

git clone https://gitcode.com/gh_mirrors/jeff6/jeff && cd jeff uv sync --extra games # 安装 vizdoom / imageio,见 [pyproject.toml](https://link.gitcode.com/i/6b867aae759a5c8a8cb3a33b9badd4be) # 先按 README 启动 jeff-serve 服务,再运行: uv run python -m jeff.games --game frogger --player jeff \ --url http://127.0.0.1:8765 --criteria rule --out runs/games/frogger.json

不想逐条敲命令?一键跑完全部 5 组测试(Doom × 3 种措辞 + Frogger + Pac-Man):scripts/games_all.sh。结果 JSON 会记录每局得分、决策总数和单决策中位耗时,方便画进 dashboard.html 的游戏对比面板。

评测结论:这套游戏测试到底说明了什么

  • ✅零样本泛化:模型从未见过这些游戏,只靠"读文字局面 + 在选项里挑"就追平手工策略(Doom、Frogger)。
  • ✅决策成本极低:单步约 22 毫秒,游戏可以按实时速度运行,还能同屏跑成百上千局。
  • ✅概率是校准的:视频字幕里能直接看到每个选项的概率,"多自信"是透明可查的。
  • ⚠️边界也很清晰:0.8B 不做多步推理,Pac-Man 的 57 对 94 就是证据。

一句话总结:如果你的场景是"描述局面、列出选项、快速选一个"——比如分类、路由、告警分诊——Jeff 的这套游戏测试就是它能力边界的最佳预览。

【免费下载链接】jeffMillisecond decisions, any domain: a 0.8B open "System 1" model that picks between your options with calibrated probabilities. One base, swappable LoRA adapters, on your own hardware.项目地址: https://gitcode.com/gh_mirrors/jeff6/jeff

创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/10/9 22:52:47

SEED脑电情绪识别实战:差分熵特征与跨被试验证

简介:基于SEED数据集的EEG情绪识别源码,面向需要完成毕业设计、期末大作业或课程设计的学生,也适合刚接触脑电情绪识别的研究者使用。项目源码已在本地编译运行通过,评审分为98分,难度适中,内容经过助教审定…

作者头像 李华
网站建设 2026/10/9 22:46:55

YOLOv5+MoveIt+Gazebo:机械臂eye-in-hand视觉伺服闭环实战

简介:面向机器人视觉伺服与机械臂控制方向的工程资源,整合YOLOv5目标检测、MoveIt运动规划与Gazebo物理仿真,解决eye-in-hand构型下基于图像的视觉伺服(IBVS)应用问题。适用于ROS/机器人方向研究者及具备Python与Linux…

作者头像 李华
网站建设 2026/10/9 22:45:56

欧姆龙PLC的FINS协议详解:报文结构、地址映射与通信实战

1. 为什么绕不开 FINS:先从一次产线数据采集说起1.1 一次典型的欧姆龙 PLC 接入场景几个月前帮朋友看一个产线数据采集项目,现场用的是某款 CJ 系列 PLC,上位机要把一批 D 寄存器里的工艺参数弄到数据库里。朋友一开始想走 Modbus-TCP&#x…

作者头像 李华
网站建设 2026/10/9 22:42:35

Qwen-Image-2.1云端GPU部署实战:从ComfyUI到服务化封装

近一个月我都在折腾图像生成模型的云端部署,前前后后试了各种方案,最后终于把阿里的 Qwen-Image-2.1 在一台云 GPU 服务器上完整跑通了。整个过程比想象中曲折,很多坑其实都不在模型本身,而在于部署链路里的细节——模型文件下载路…

作者头像 李华