一个能告诉你为什么熄火的手动挡模拟器
驾驶游戏会让你熄火,却从不告诉你原因。这个模拟器是一个「透明盒子」:离合打滑、扭矩传递、涡轮迟滞,全部可见,还能回放。它以我自己的 2019 款高尔夫为原型,用我手头现有的方向盘和踏板来操控。熄火和抖动来自物理模型本身,而不是写死的规则;真车的表现,就是它的测试标准。
发动机转速离合结合熄火阈值
示意图。物理内核完成后,换成真实遥测数据。
设计本身就是程序
在智能体第一次运行之前,我写下了四样东西:
物理模型
三个旋转部件(发动机、离合器、车轮),通过摩擦和齿轮相连,每秒计算一千次。熄火必须从这个模型里自然产生,而不是来自一句 if 判断。
真实依据
我的车上没有数据记录仪,所以「真实」就是我开车时它的表现。每一种我熟悉的表现,都变成一个自动化测试:平路上慢慢松离合,车会缓缓前行而不熄火;猛地松开,就会熄火;在坡上停住,车会稳住大约两秒,然后往后溜。
规则
一个简短的文件,智能体每次运行都会读。
里程碑
硬件检查、物理内核、可驾驶原型、第一个正式版本。一次只做一个。
五条规则,完成了大部分工作
- 物理内核零依赖。
- 行为必须从物理中自然产生,不允许特殊处理。
- 永远不要为了让测试通过而削弱测试。
- 不添置新硬件,只用桌上已有的。
- 一次只做一个里程碑。
每一条规则之所以存在,都是因为智能体如果放任不管,会很乐意反着来。让它通过一个熄火测试,最快的办法是写一段专门识别这个测试的特殊逻辑。让它实现力反馈,它可能会建议你买一个更好的方向盘。这些规则在智能体走到那一步之前,就把门关上了。
按「是否需要我亲自动手」来分工
物理内核只需要一台电脑,所以智能体可以自己构建、自己测试。凡是涉及方向盘和踏板的部分,都要等我回到桌前,因为只有人才能判断离合的手感对不对。这样分工,智能体可以在我忙别的事时继续工作,而我的时间,留给只有我能判断的部分。