Gridiron GM 是一款足球管理模拟游戏,高中的、大学和职业队伍都在一个存档中运行——你可以教练高中队伍、被大学聘用、进入职业联赛并被解雇回去。自定义 WebGL 比赛浏览器、无游戏引擎、~87k 行 TypeScript代码、208 个文件、零运行依赖。itch 上免费/按需付费,运行在浏览器标签页中。
关于 AI 开发部分,因为这个社区是为了这个目的:
在 AI 开发中,失败模式是 AI 在如此庞大的代码库中报告成功,而不是实际运行。我有一个 "53 名球员名单",生成了 52 名球员,一个标志 "测试并被驳回",从未出现在被测量的代码路径上。结构看起来正确,但行为却是错误的。
解决这个问题的是 ~276 个金色主脚本在 tools/ 中,每个脚本都是一个独立的 Node 脚本,模拟一场赛季并在真实输出上断言。新行为不再发布而不进行测试。写入 CLAUDE.md 文件的规则: 永远不要放松一个失败的断言以使其通过。修复原因或保持它红色并报告它。
第二个修复是引用的数字文件。 模型一直在调整统计分布以与记忆中的NFL数字进行匹配。它调整了50+码的field-goal准确度,目标是62-65%,而实际2024年的数字是72% - 并且一个错误的目标会被冻结到一个通过的金色主脚本中,从而隐藏起来。现在,现实数字来自REALISM-REFERENCE.md文件,带有来源,或者首先在那里进行研究并添加。从回忆中获取的数字永远不会。
第三个修复是整个模拟是确定性的。 只有带有种子的随机数生成器,模拟路径上没有 Math.random()。相同的种子会产生相同的赛季。这就是为什么一个 AI 编写的改变是可审计的 - 在改变之后一个字节相同的结果证明改变从未出现在你认为你编辑的代码路径上。
诚实的总结是,难点从来不是生成代码。它是建立足够的测量,以便我可以告诉生成的代码是否按照概要文件中所述做事。
很高兴进一步讨论任何内容。真诚地想知道哪些方面与本体标准不符。
https://gridirongm.itch.io/gridiron-gm
评论 (0)