团队为楼宇自动化客户开发工具,将多页 Visio 图纸中的传感器、执行器及控制信号转为结构化 IO 清单。标题称识别效果从 50% 提升至 95%,但所给片段未展示具体优化方法与评测口径。
每个楼宇自动化项目,都会遇到同样的文档处理难题:一页页技术图纸上标着数百个独立的输入和输出连接。在配置任何控制器之前,工程师必须先逐一阅读、分类,再手工录入。
我们为一位客户开发了工具,把这项工作中重复的部分自动化。这位客户负责安装和配置 Honeywell、Priva 和 ISMA 控制器,用于管理商业建筑中的 HVAC、环境控制和照明系统。下面是我们实际用下来有效的做法。
每个项目都从一份技术图纸开始:一份多页 Visio 文档,画出每个传感器、执行器和控制信号,并用箭头和图形标明它们的类型与方向。
在选型或接线之前,工程师要逐点检查图纸。对于每个连接,都要判断它是数字量还是模拟量、输入还是输出、属于哪个设备、叫什么名字,然后按正确顺序,把这些信息全部录入结构化的 IO 清单。
即使是经验丰富的工程师,每份文档也需要花上一到两个小时,仔细完成这些重复的阅读工作。而一个漏看或误读的符号,就可能一路传递,最终变成现场接线错误。
这项工作必须做准确,手工做却很枯燥。过去也很难交给软件,因为它依赖的是对图形表达规则的理解,而不只是读取文字。
客户已经尝试过最直观的办法:直接把图纸交给 ChatGPT,让它提取 IO 清单。结果准确率只有约 50%,甚至更低。工程师依然得逐行重新检查,远远达不到可以放心使用的程度。
我们没有开发一个全自动的黑盒。对于同时混合了供应商专用符号规则、项目专用命名,以及多年项目积累中悄然形成的内部画法的文档,没有哪个模型能做到 100% 准确。因此,我们设计了一个 human-in-the-loop 工具:AI 负责读图,工程师负责最终核查。
准确率的提升来自围绕模型设计的工作流。具体来说:
给模型提供每一页的两种视图。 图纸是示意图,符号与它所在导线之间的连接关系本身就包含含义,而纯文本提取会丢掉这些信息。因此,每一页都以两种形式输入:原始文本层,提供准确的标签文字;同一页渲染后的图像,保留各个符号与外围设备之间的对应关系。我们还编写了自己的预处理流水线,提取页面上每个元素的精确位置,让模型像人眼一样,从左到右、从上到下阅读图纸,而不是按照 PDF 内部存储元素时碰巧采用的顺序来读。
要求返回结构化、顺序明确的结果。 模型按照固定结构,返回一份清晰、有序的 IO 清单,工程师可以直接检查,不必从头整理。
用示例教会模型团队的惯例。 我们从客户自己的历史项目中,包括热泵安装、机房通风和 HVAC 系统,整理出一个小型 few-shot 示例库。这样,模型学到的是这支团队实际使用的命名惯例和外围设备配对关系,而不是教科书上的通用版本。读取每一页时,也会参照该页自己的图例。
保留人工核查环节。 每份提取出的清单都会进入审核界面:一侧是原始图纸,另一侧是 AI 读取后生成的结构化结果。工程师只需几秒,就能检查并修正类型、方向、命名或顺序,无须从头重新推导。
把工作做完。 工程师确认通过后,审核完成的清单会直接整理成最终文档,交给现场团队。不需要额外排版,也不需要在不同工具之间复制粘贴。
开发时,我们使用了 Google 的 Gemini,因为当时它被认为在真正的多模态推理方面表现最强:能够在一次处理过程中,同时读取渲染后的图纸及其底层文本,而不必把多个独立工具拼接起来。它的成本也足够低,可以处理整套多页图纸,不至于让 AI 开支成为每个项目都要单独列出的一项费用。模型变化很快,所以请把这个选择看作当时情况的一个记录,而不是推荐。
过去,经验丰富的工程师处理一份图纸需要一到两个小时;现在,只需花几分钟复核。这个工具已经投入日常生产使用,服务于真实项目。
客户的工程负责人这样描述:
以前,碰到这样的图纸,我们会预留几个小时。现在,我扫一遍输出,改两处地方,咖啡还没凉就已经做完了。
提升来自工作流,而不是更巧妙的 prompt。把输入组织好,把输出组织好,并在信任任何结果之前设置人工核查环节,正是这些做法让准确率从约 50% 提升到了超过 95%。
围绕审核来设计,而不是追求 100% 准确。快速审核这一步,才让输出能够安全地投入使用。
使用团队自己的示例。模型正是通过这些示例,学会了这支团队的命名惯例和配对关系。
这些数字来自一位客户的图纸。你的结果会有所不同,所以,在相信任何百分比之前,都应该先用自己的文档测量,包括我们给出的这些数字。
如果你想了解项目的更多细节,可以阅读更完整的介绍:IO List Generator 案例研究。
我们是 Nebulae,一家比利时软件开发公司。如果你的业务中,仍有某个环节依赖人工阅读、录入或复核,很可能实现这种改变所需的工程技术已经存在。
如需采取进一步措施,你可以考虑屏蔽此人和/或举报滥用行为。