木工师傅的桌上,通常摊着一堆不规则的小纸片。它们对应门板、侧板、层板、背板,师傅要像拼积木一样在整张板材上反复比划,比划完再用铅笔画线,画错了还要擦掉重来。这个动作看起来朴素,本质上却是一个很经典的组合优化问题:二维下料(cutting stock)。
把同样的任务交给 AI 编程代理(OpenAI Codex CLI)之后,你拿到的不是一句“建议你优化排料”的聊天回复,而是一个能自动计算摆放坐标、输出切割图、统计板材利用率、甚至生成排料单的脚本。这就是题目里说的:AI 终于开始干预现实工作,边角料被算法挤到了一边。
这篇文章不会停在宣传层面。我会把排料问题的算法思路、Codex 的安装配置、完整可运行的 Python 代码、运行验证和排错过程都写出来。你不需要自己是算法专家,也不需要是 AI 高手,只要有一台能装 Node.js 的电脑,就能顺着文章把 12 块板排完。文末还会给出工程落地时真正要注意的那些坑。
1. 这篇文章真正要解决的问题
先说说现实里的排料到底难在哪。
家具厂、广告公司、钣金加工、石材加工,都会遇到同一个问题:大板尺寸固定,小件尺寸各不相同,怎么摆才能用最少的板材?这个问题的学术名字叫“二维矩形排样”,工业上更习惯叫“下料优化”。常见的评判标准有几个:板材利用率、余料可否回收、切割路径长短、是否需要考虑木纹方向。
手工试排最大的问题不是“算不出来”,而是“信息密度太低”。一张 1220mm × 2440mm 的板材,12