让AI写工厂代码前,先跑一遍真机器
写PLC(控制工厂机器的程序)的AI,以前只看它写出来的代码像不像样,没人真把它跑起来看。这篇把规矩改了:AI写完,必须通过编译、跑在真实PLC上、行为跟参考逻辑一致,才算完成。结果差距立刻拉开——静态打分大家只差10分,一上真机,最好的基线31.4分,SemaPLC拿到52.2。它不是你明天能用的工具,但它指了个方向:判断AI写的控制逻辑行不行,得看它真跑起来,而不是看纸面分数。
📄 原文摘要(英文)
Programmable logic controllers (PLCs) run industrial plants, and large language models can already generate independent program organization units (POUs) for them. Whether such logic integrates into an existing PLC project and then runs correctly has been checked only in limited tests. We present SemaPLC, a project-grounded and verification-gated agent harness assembled from conventional tools but governed by a strict completion rule. Rather than stopping when the model judges its own output adequate, SemaPLC declares a task complete only when logged external checks confirm it. Those checks cover the specification, the compilation, and the behavior on a live runtime. On 117 independent-POU tasks matching existing benchmarks, it attains the highest strict verified pass rate on all seven models (72.6\% mean). On a project-context track of 65 tasks whose generated logic must compile and run inside a real project, it attains the highest mean on integrated compilation, static behavior, and dynamic behavior. Of the three layers, dynamic behavior is the most revealing. We measure it by deploying the generated and the reference logic to a live PLC runtime and comparing their executed traces. All methods fall within 10 static points of one another, whereas dynamic scores separate them sharply, from 22.4 to 31.4 for the baselines against 52.2 for SemaPLC. Overall, our verification-gated harness raises the mean at every layer and most sharply at runtime. Execution, not static scoring, is the faithful test of whether generated control logic actually works. SemaPLC is open-sourced at https://github.com/midea-ai/SemaPLC.