把一台博世洗碗机搬进浏览器,让大模型来玩"怎么摆碗"的游戏,结果有点尴尬:48项来自文献的装载现象测试,只有17项通过。
这个项目叫 DishwasherBench,版本号 0.1.0,由 Composo 构建和维护。游戏本体叫 Spotless,包名统一为 @spotless/*。玩家面对的是博世 SMV4HAX40G 的 3D 模型,带刚体物理,装载完成后模拟一次 Eco 50 程序的洗涤——水流、液滴、流挂、污渍和洗涤剂化学反应都在计算范围内,每件洗干净的餐具都能得分。
![]()
从第二关开始,不是所有东西都塞得进去。玩家必须做选择:装什么、怎么装。
分数能信到什么程度
目前一个分数只能说明玩家装得好不好、杯子玻璃杯和锅有没有口朝下放。它还不能说明盘子和刀叉是否被摆成能洗干净的角度。项目文档里专门有一节讲这件事,标题就是"分数能信到什么程度"。
官方给出的解释是:谨慎装载和随意装载之间的差距,大约四分之三来自中空器皿放反了方向。这些器皿里的污渍(思慕雪、番茄汤、番茄酱、牛油果酱)依据的是文献数值,而没有任何一次真实测试洗过它们。
完全没有建模的东西包括:干燥、玻璃上的水渍和膜、被水流冲动的餐具、污渍沉降到干净餐具上。只有 Eco 50 这一个程序经过了校准和评分。
已经站得住的部分
装载环节是确定性的刚体物理。每一个回合都是一条记录,任何人都能通过回放、以及重新洗一遍它的装载来验证。同一套游戏,人可以在浏览器里玩,模型可以通过 MCP 来玩。
洗涤模拟分两档。官方档给出计分结果,快速档是更粗的预览。最大关卡的一次冷启动官方洗涤,在参考机器 MacBook Pro(Apple M3 Pro,18 GB)上耗时 4.9 分钟,取三次最好成绩;旁边再跑一个任务的话是 5 到 8.5 分钟,预算是 30 分钟。
课程共七关,按难度编号,每关都存有三个脚本玩家(谨慎、随意、随机)的参考装载。六个关卡在参考装载上通过了基准门槛,教程关没有通过——它的随意装载丢分太少。
验证方面,模拟对照了四样东西:
- 真实机器上的一次测试洗涤。四个蛋黄盘子,Eco 50 程序。事先写下的预测说对了盘子的顺序和残留的形态,但对两个烤箱烘干的盘子上残留量的估计乐观了十到三十倍。随后的校准只动了一个数字:长时间浸泡中水泵运行的比例,从 0.5 调到 0.8(区间 0.59 到 1)。
- 姊妹机型博世 SMV6ECX51E 的公开类别均值(eco 程序、参考洗涤剂):刀叉在 0.1 个分数点以内,陶器低 0.2,玻璃低 0.1 到 0.5。这是拟合,不是预测——污渍和化学默认值就是为了让这些数字出现而设定的。
- 文献中有证据的 48 项装载现象:17 项通过,21 项在大小或符号上失败,1 项是错误场景,9 项需要尚未构建的机制。
- 自己的账目。水完全守恒,同一台机器上相同输入给出相同结果。快速档与官方档在标准 13 套餐具装载的判断上一致率 89%,在关卡上一致率 97%。
两个模型玩过,没有人玩过
目前有两个模型通过 OpenAI 兼容端点玩过:在三个关卡上、官方档,共六个回合。没有任何人玩过作为基线,Anthropic API 的路径也没有对着线上 API 跑过。
项目只在一种机器上跑过:macOS 27 下的 MacBook Pro(Apple M3 Pro,18 GB)。仓库里每一个数字都是在这台机器上测的。Linux 和 Windows 未经验证,也没有已知的东西排除它们,项目欢迎关于这两个平台运行情况的报告。
运行需要 Node 20.19 或更新版本。三种玩法分别是:网页版、面向智能体的 MCP 服务器、以及运行脚本玩家和模型并写出可验证回合记录的工具链。
还有一个校准工具,用真实洗涤记录给模拟打分、拟合参数、给候选测试洗涤排序。仓库里存的那份排序来自更早的参数集,之后没有再跑
特别声明:以上内容(如有图片或视频亦包括在内)为自媒体平台“网易号”用户上传并发布,本平台仅提供信息存储服务。
Notice: The content above (including the pictures and videos if any) is uploaded and posted by a user of NetEase Hao, which is a social media platform and only provides information storage services.