论文

SemaPLC:用于 PLC 代码生成的基于项目、验证门控的代理工具

SemaPLC: A Project-Grounded, Verification-Gated Agent Harness for PLC Code Generation

智能体系统Agent Harness

摘要

可编程逻辑控制器(PLC)运行着工业工厂,大语言模型已经可以为它们生成独立的程序组织单元(POU)。这种逻辑是否集成到现有的 PLC 项目中并正确运行仅在有限的测试中得到检验。我们提出了 \textsc{SemaPLC},这是一个基于项目和验证门控的代理工具,由传统​​工具组装而成,但受严格的完成规则约束。 \textsc{SemaPLC} 不会在模型判断其自身输出足够时停止,而是仅在记录的外部检查确认时才声明任务完成。这些检查涵盖规范、编译和实时运行时的行为。在与现有基准匹配的 117 个独立 POU 任务中,它在所有七个模型上获得了最高的严格验证通过率(平均值为 72.6%)。在 65 个任务的项目上下文跟踪中,其生成的逻辑必须在真实项目中编译和运行,它在集成编译、静态行为和动态行为方面达到了最高平均值。在这三个层中,动态行为是最具启发性的。我们通过将生成的逻辑和参考逻辑部署到实时 PLC 运行时并比较它们的执行轨迹来测量它。所有方法之间的静态分数相差不超过 10 个,而动态分数则将它们分得很清楚,基线从 22.4 到 31.4,而 \textsc{SemaPLC} 的基线为 52.2。总体而言,我们的验证门控工具提高了每一层的平均值,并且在运行时提高得最为明显。执行,而不是静态评分,是对生成的控制逻辑是否真正有效的忠实测试。 \textsc{SemaPLC} 在 https://github.com/midea-ai/SemaPLC 上开源。