全部文章

让 AI 每次重新发明热熔螺母柱,是个坏主意

· 约 3 分钟

看多了 agent 的会话记录,会注意到一件事:它做的大部分东西不是「一个零件」,是「一个零件,加上几个让它能装起来的小结构」。盒子要有盖,盖要能扣住或者卡住;底板要有螺母柱,PCB 要有铜柱位,外壳侧面要开 USB 口和通风孔,两块板要能绕一根销转。

这些小结构有两个特点。第一,它们的几何不难,一个热熔螺母柱就是一个带孔的圆柱。第二,它们的数字很难:M3 热熔螺母的孔该是 4.0 还是 4.2,柱壁留多厚才不会在热熔时撑裂,卡扣的悬臂多长、倒钩多高才能既扣得住又拔得下来。这些数字来自打印经验,不来自几何直觉。

语言模型每次都从头推导这些数字。它推导得很自信,而且每次推导的结果不一样。错一次,就是用户一次失败的打印。

所以做成库

组件库里现在有二十个 3D 打印最常用的结构,大致分几组:

每个组件是一段我们方言里的代码,加一份说明:它解决什么问题,参数各是什么意思,哪些数字是打印经验值。agent 建模时可以列出组件、读某一个的做法,然后把它用进自己的零件里,而不是自己想一个。

组件是做法,不是零件

这一点一开始我们也想错过。一个「零件库」听起来很自然:几百个现成的盒子、支架、挂钩,用户挑一个改尺寸。但那样的库永远差你要的那一个,而且越大越难找。

组件不一样。热熔螺母柱不是一个零件,它是「怎么在任何一个零件上放一个热熔螺母柱」。它会被组合进用户的零件里:一个底板上放四个,一个外壳的内壁上放两个。它的价值在于做法对,数字对,而且在每一个用到它的零件里都一样对。

所以库不会很大。二十个常用的,比两百个不常用的有用。

数字是参数,因为打印机不一样

库里的数字是常见的经验值,不是标准。同样一个 M3 热熔螺母,不同的打印机、不同的材料、不同的层高,合适的孔径差零点几毫米。所以每一个这样的数字都是参数,默认值是多数人能用的,你的打印机不一样就改它。agent 改一次,这个会话里所有用到它的地方跟着改。

还有一个顺带的好处:这些组件自己就能用。不经过 agent,打开组件页,拖参数,导出,打印。一个只想要一个带盖盒子的人,不需要跟任何 AI 说话。

我们期望它改变什么

主要是失败的类型。以前 agent 做一个带盖盒子,失败在盖子扣不上、螺母柱太薄,这类错误用户要打印出来才发现。有了库,这类错误应该大体消失,剩下的失败回到零件本身:尺寸理解错了,形状想象错了。这些至少在屏幕上看得见。

库会继续加,但只加真的常用的。

更多文章