中文

利用大语言模型自动生成 Modelica 模块:关于建筑控制描述语言的案例研究

软件工程 2025-09-19 v1 人工智能 编程语言 系统与控制 系统与控制

摘要

动态能源系统和控制需要先进的建模框架来设计和测试监控和容错策略。Modelica 是一种广泛使用的基于方程的语言,但开发控制模块需要大量劳动力且需要专业技能。本文考察了使用大语言模型(LLM)自动生成建筑 Modelica 库中控制描述语言模块的效果。我们开发了一种结构化工作流程,结合标准化提示模板、库感知 grounding、自动编译(OpenModelica)以及人工在环评估。实验在四个基本逻辑任务(And、Or、Not、Switch)和五个控制模块(冷却器使能/禁用、旁路阀控制、冷却塔风机速度、厂房请求、排气阀控制)上进行。结果显示,GPT-4o 在零样本模式下未能生成可执行的 Modelica 代码,而 Claude Sonnet 4 通过精心设计的提示实现了基本逻辑块的全成功率。对于控制模块,成功率达到 83%,失败的输出需要中等水平的人工修复(估计为 1 到 8 小时)。检索增强生成常常在模块选择上出现不匹配(例如将 And 检索为 Or),而确定性硬规则搜索策略避免了这些错误。人类评估也优于 AI 评估,因为当前的 LLM 无法评估仿真结果或验证行为正确性。尽管存在这些限制,LLM 辅助的工作流程将开发时间从每模块 10 到 20 小时缩短至 4 到 6 小时,相当于节省 40% 到 60% 的时间。这些结果凸显了 LLM 辅助 Modelica 生成的潜力及当前局限性,并指向未来在仿真前验证、更强的 grounding 以及闭环评估方面的研究方向。

关键词

引用

@article{arxiv.2509.14623,
  title  = {Automating Modelica Module Generation Using Large Language Models: A Case Study on Building Control Description Language},
  author = {Hanlong Wan and Xing Lu and Yan Chen and Karthik Devaprasad and Laura Hinkle},
  journal= {arXiv preprint arXiv:2509.14623},
  year   = {2025}
}

备注

This is the pre-peer-review version of a journal paper; the repo is available at: https://github.com/pnnl/prompt2control