让大模型写「乐高代码」:ldraw-nova 上了 HN,但它还没搞懂物理

ldraw-nova:让 AI 用写代码的方式搭乐高

Hacker News 今天最让我多看两眼的,不是哪家又放了个跑分,而是一个叫 ldraw-nova 的开源项目。作者 antelocnova 是第一次在 HN 发帖的新人,想法挺简单,也挺疯狂:让 ChatGPT 和 Claude 这类 agent 直接写 LDraw 语言,从而生成能落地的 LEGO CAD 模型。

LDraw 是一种「装配语言」,一条条放置指令告诉工具怎么把乐高零件拼起来,.mpd 或 .ldr 文件跑进 LDView、LeoCAD、Studio 这些工具里,就变成能交互、能改的模型。作者想干的,是让大模型用写代码的方式去搭乐高。

项目跑在 GPT-6 Astra 和 Opus 5.5 上,他把一套 Python 工具、指令和文档打包成了 dockerized web 应用,支持 OpenAI、Claude、OpenRouter 几个 provider,主页放了一堆例子。作者自己也承认,这路是「好几个月、一种方法一种方法试」出来的。

真正有意思的是他怎么解决「AI 搭的东西到底能不能拼出来」。他没有一次性把所有约束写死,而是让 agent 先放开想象力去设计,零件一开始摆错位置没关系,靠验证和纠错循环一点点把位置、颜色改对,直到结果正确。他的判断是,约束给太多,agent 会一直搭出差不多的房子;约束给太少,又会漂到根本拼不起来的模型上,现在这套迭代流程算是个折中。

但这事儿的另一半,是那堆没摆上台面的坑,评论区里才看得清。作者说 agent 还是会高频翻车,典型的是旋转正负号搞反,该 +90 度的时候写成 -90 度,零件直接翻转。所以 Nova 现在很依赖一套验证工具,去检查零件之间有没有穿模、连得合不合规。

更要命的是,它目前只验证「摆放」,不验证「物理」——稳定性、重心这些通通不查,作者自己都承认这是个缺口。Technic 那类带齿轮、传动的功能件也还是 WIP,除了 Atlas 起重机这类少数特例,他明说「还没做出好结果」。

评论区里大家已经开始拿它跟 BrickGPT 对标。那是 CMU 这边用自回归模型逐个预测下一块砖、推理时加物理感知回滚来筛掉拼不起来的方案,配套的 StableText2Brick 数据集有 47000 多个砖结构。作者面对「为什么不加物理」只能先认怂。

更大的现实是,模型一做大,零件数量动辄上千,他自己都没真拼过实物,正考虑先 3D 打印一个小号的看看效果。费用方面他给过一个很「wild」的估算:用 Astra 搭一个 Technic 机构大约 5 美元,而且这钱多半耗在反复试错上,而不是模型「想得多」上。

HN 的版主 dang 还专门回了一条,说这种项目正是 Show HN 该有的「好奇心火花」,可惜新号发的 Show HN 被系统挡得太多,第一版没放行。这话有点扎心,但也侧面说明这帖子的含金量。

真正耐人寻味的是评论区里的一小撮反对声。有人觉得 LLM 正在侵入乐高这个「纯想象力的世界」,有点恶寒。两种态度摆在这:一边看到的是 Agent 终于能碰到真实物理物件的一端,另一边担心连乐高都不留给人玩了。

ldraw-nova 还远谈不上成熟,它没验证物理、没搞定可动机构、自己也没真搭出一个实物。可它至少抛出了一个不错的问题:大模型写代码已经能「编」出一个 CAD 模型,那离它搭出一个能稳稳站住的实体,还差多少步?

相关链接