很多反复出现的文本处理需求,说起来一句话就能讲清楚,用规则写却极难落地——而每个输入都去调一次远程大模型,意味着持续的费用、延迟,还得看供应商的脸色。9 月 3 日,滑铁卢大学 Yuntian Deng、Pengyu Nie 与 Stuart Shieber 三人组在 arXiv 公开 compile by training(编译即训练,arXiv:2609.04199),已被 EMNLP 2026 System Demonstrations 收录:它把一段自然语言规约,编译成一个不依赖任何教师模型、可以像普通软件一样存储、版本化与组合的本地神经函数。
编译期请一次教师,运行期零依赖
方法的核心是把「训练」塞进编译流程:编译时,教师模型针对任务合成一批示例,用它们微调一个跑在紧凑解释器上的小 adapter。编译产物脱离教师独立运行——作者自述底层是共享的 0.6B 本地解释器,编译出的函数可以像普通 Python 函数一样在本地调用。作者的设问也很直接:与其让 LLM 一遍遍解同一个任务,为什么不让它造出可复用的工具?
这是同团队 7 月 Program-as-Weights(PAW)路线的续篇:原版编译器单次前向传播、几秒出结果;本作补上高精度档——大约一分钟的微调,换来困难子集上语义准确率的显著抬升。
83.6% 不是凭空来的
数字要放回它的测法里看:FuzzyBench-Hard 是原版 PAW 快速编译器「零精确匹配」的困难子集,compile by training 在这个子集上做到 83.6% 语义准确率。代价同样是编译时长:约一分钟,而非快速编译器的几秒。作者把编译器部署在公开交互服务里,并给出多个演示:多站点网站助手、语言控制的 3D 虚拟形象动作、双向英-Claudish 翻译器,另有本地运行的 PII 脱敏函数。论文与代码(github.com/programasweights/compile-by-training)均已开放,上线当天登上 Hugging Face Daily Papers 日榜第一。
所以呢:工程价值真实,长尾要自己兜
对做 agent 的人来说,这个方向的卖点不是跑分,而是软件工程属性:函数可存储、可版本化、可组合,调用时零大模型账单、零网络延迟。社区评论区也很快出现了清醒的声音:训练样本由教师合成,编译出的函数「只知道教师想到要给它看的东西」——教师没覆盖的长尾边界场景,它会安静地错;上线前需要看分布外输入上的退化曲线,规约变更后重新编译是否收敛到新行为也待验证。把模糊需求固化成本地小函数,这条路第一次有了能落地的工具链;但「编译产物不会比教师更聪明」这条天花板,值得每个想用它替换线上 LLM 调用的人先想清楚。