我做了三年AI落地,发现最难的不是模型,而是数据根本不认识彼此

📅 发布时间:2026/7/22 4:21:50
我做了三年AI落地,发现最难的不是模型,而是数据根本不认识彼此 事情是这样的。前两天跟一个做工业AI的朋友聊天他给我讲了一个场景听完我整个人沉默了大概五秒钟。他负责一个大型工厂的设备预测性维护项目。简单说就是让AI盯着几百台设备的数据在上游设备出问题之前提前预警避免产线停摆。听起来是一个很典型的工业AI场景对吧模型选好了特征工程也做了数据管道也通了。然后上线第一周就翻车了。有一台关键的压缩机AI报了异常。温度曲线在上升振动频率也在偏移。运维团队冲过去检查折腾了两个小时啥也没查出来。后来调了维修记录才发现这台设备三天前刚做完例行保养换了冷却液温度短暂波动是正常的。就是设备根本没毛病是AI不知道设备刚修过。我当时就问他你们没把维修记录接进去吗他叹了口气说维修记录在另一个系统里。设备状态数据在SCADA上设备台账在ERP里维修工单在EAM里空间位置在GIS里。而且它不是一个简单的「加一个字段」的问题。这些系统从架构底层就是独立的数据格式不一样更新频率不一样甚至时钟都对不齐。他说完这句话我突然意识到一个问题。我们聊AI落地的时候总是在聊模型、聊算法、聊算力。但真正在产线上跑过的人都知道卡住的往往不是模型本身而是数据根本不认识彼此。一、有些墙不是一天砌起来的这其实是一个非常吊诡的事情。过去十几年企业的数字化建设基本走的是「缺啥补啥」的路子。需要监控设备就上SCADA需要管资产就上ERP需要管维修就上EAM。每个系统单拎出来在自己的领域都干得挺好。但当AI来了当业务要求你得把所有数据放在一起看的时候问题就暴露了。因为这些系统从来没有被设计成要互相「交谈」的。坦率的讲我一开始觉得这只是一个「数据集成」的老问题。做几条ETL管道拉一个数据湖不就解决了吗后来我才发现我想得太简单了。工业场景里的数据跟互联网场景是完全两回事。互联网的数据大多是人产生的一个用户行为、一笔订单、一条评论数据量虽然大但结构相对规整更新频率也基本可控。但工业场景的数据是设备产生的高频、连续、海量。一台风机每秒可能产生几百个测点数据一个中型工厂几千台设备日积月累下来数据量能有多大你想想看。二、时序数据的三个死穴更麻烦的是时序数据。什么叫时序数据就是带时间戳的连续记录。温度每秒钟是多少振动每分钟是多少电流每毫秒是多少。这种数据跟一般的业务数据不一样它有自己独特的问题。第一个问题是写入压力。几千台设备同时往上写数据一秒几百个数据点你得保证一条都不丢。丢了就可能漏掉一次异常波动漏掉了就可能是一次产线停机的代价。第二个问题是存储。时序数据积累起来太快了。一个工厂跑一年原始数据可能几十TB。不存不行你需要历史数据做趋势分析和模型训练。全存又太贵这是很现实的问题。第三个问题是查询。当你需要做实时监控的时候查询必须在毫秒级返回结果。想象一下你盯着一个大屏上面几百条设备曲线实时跳动底层每一次刷新都在扫数据。如果你每次都要去扫描全部原始数据那根本来不及。这三个问题就是为什么时序数据库这个东西会存在。说到时序数据库这里稍微岔开一下。其实时序数据库不是一个新概念。早在工业自动化时代就有人在做。但那时候的时序库更多是单机、封闭的跟企业的其他系统老死不相往来。AI时代到来以后时序数据库的需求被重新点燃了因为AI需要看的不是一条孤立的曲线而是曲线的「上下文」。三、让四种数据围着一台设备说话回到我朋友那个压缩机的故事。AI判断一台设备是否异常不能只看当前这一刻的温度。它需要知道过去一个小时、过去一天、过去一周的温度变化曲线需要比对同型号设备在同样工况下的行为模式需要了解这台设备的历史维修记录甚至要知道它的安装位置同一个工厂里靠近锅炉房的设备和靠近通风口的设备温度基准线本来就不一样。这才是真正让数据「认识彼此」的含义。不是简单地把不同系统的数据物理上放在一起而是要围绕同一个业务对象一台设备、一条产线、一个工厂把时序数据、关系数据、空间数据、知识文档这些完全不同类型的数据在逻辑上关联起来。这个思路用数据库行业的话说叫「融合架构」。金仓KES的时序能力KES TimeSeries走的就是这个路线。它不是在外面挂一个独立的时序数据库然后通过API调来调去。而是把时序能力直接做在融合数据库的架构里面时序数据、关系数据、GIS数据、向量数据在底层就是通的。说人话就是你查一台设备的实时温度曲线时可以同时拿到它的维修记录、安装位置、同型号设备的故障知识库不需要跨系统拼数据。当然融合的前提是时序能力本身要够硬。这块KES TimeSeries做了三个方向的优化。写入千万级指标点每秒写入端用了Append追加写加上无锁化和异步IO。说人话就是数据来了直接往后追加不搞复杂的随机写入减少锁等待。在特定测试环境下单节点能做到千万级指标点每秒的写入量。什么概念一个大型工厂上万台设备的实时数据基本可以稳定入库。存储10TB压成1TB存储端关键在压缩。时序数据有一个很有意思的特点就是相邻的数据点之间变化通常很小。温度从25.1度变成25.2度如果每次都存完整的浮点数就太浪费了。KES用了Delta-of-Delta增量编码和Gorilla浮点数压缩这类时序专用的算法利用数据的连续性来大幅缩减存储。典型场景下压缩比能做到10比1也就是说原来10TB的数据压缩完只有1TB。存储空间最高能减少90%左右。查询毫秒级响应怎么做到的查询端我觉得最实用的一个设计是连续聚合。什么意思呢很多时候你看历史趋势不需要看每秒的原始数据你看的是分钟级甚至小时级的汇总。如果每次查询都要从头扫描全部原始数据慢得要死。KES的做法是提前帮你把分钟、小时、天不同粒度的汇总数据算好存着。查的时候把已经算好的历史部分跟最新这一小段原始数据一拼就行了毫秒级就能出结果。除了连续聚合它还内置了时间桶聚合、动态降采样、数据补齐这些能力。这些名字听起来有点绕其实都是在解决工业现场非常实际的问题。比如有些老旧的传感器采样频率不稳定有时候一秒采一次有时候五秒才采一次采集到的数据就是「坑坑洼洼」的。数据补齐就是帮你把这些坑填上恢复成一条连续、可分析的曲线。四、北京地铁里的10倍说真的这些能力单拿出来看每一项都是解决一个工程问题。但把它们放在融合架构里一起看价值就不一样了。因为这些工程问题解决得越彻底AI应用能拿到的数据就越完整、越及时。数据完整了模型的判断才准。数据及时了预警才有意义。这个道理其实特别朴素。落到实际业务上是什么样的北京轨道交通的应急指挥调度平台用了KES时序库之后写入性能比原来的系统提升了10倍以上时序数据的存储空间占用量降了70%到80%一些历史分析查询从分钟级缩短到了秒级。10倍是什么概念之前一分钟能写入的数据现在六秒钟就写完了。之前需要等几分钟才能跑出来的分析结果现在点一下就有了。对于应急指挥这种场景来说几秒和几分钟的差距可能就是一次事故预警能不能第一时间响应的差距。我有时候觉得这才是AI落地最被低估的部分。大家都在盯着模型有没有变聪明参数有没有变大benchmark有没有刷新。但真正在产线上推过AI的人都知道模型再聪明喂进去的数据是碎片的、过时的、互相矛盾的出来的结果就是垃圾。Garbage in, garbage out这个道理几十年前就有了到现在仍然成立。五、从建系统到建网顺着这个再往深里聊一聊。前面说的所有东西时序库、融合架构、压缩、聚合看起来都是非常「工程」的事情。但我觉得它背后折射出来的其实是一个更大的趋势。过去的数字化是在「建系统」。一条产线需要一个监控系统就建一个监控系统。需要管库存了就再上一个ERP。需要管客户了再上一个CRM。每个系统都是独立的数据格式不一样接口不一样甚至对同一个业务对象的定义都不一样。这就像在一张纸上画了很多独立的圈每个圈里是一个世界圈和圈之间只有偶尔画几根线连着。但AI时代需要的不是更多的圈而是所有的圈长在同一张网上。这件事的难度远比想象中大。因为它不是技术问题是「遗产」问题。你不可能把一个运行了十几年的工厂里的所有系统全部推倒重来。你能做的是在不破坏现有体系的前提下逐步把数据「联通」起来。融合架构的价值就在这。它不要求你把所有的老系统都扔掉但它给你一个底座让新接入的数据不管是时序的、关系的、空间的还是知识的从一开始就长在一起。而老系统的数据可以通过逐步迁移最终也进入这个统一的语境里。故事讲到这里其实已经不只是数据库的事了。它更像是一个关于「如何让机器真正理解现实世界」的命题。现实世界本身就是多模态的。一个工厂不是由一堆孤立的传感器组成的它是一个有机的整体。设备之间有关联设备和人之间有关联过去和现在之间有关联。如果你让AI只看某一个切面它当然只能给你一个片面的答案。回到开头那个压缩机的故事。如果那个AI知道设备刚做过保养它就不会误报。如果它还能比对同型号设备的运行曲线它就能更准确地判断什么是「异常」什么是「正常波动」。如果它还能读到维修手册里的故障树它甚至能告诉运维人员大概率是哪个零件出了问题。这不是科幻。技术层面所有拼图都已经有了。缺的只是让拼图真正拼在一起的那个底座。我始终坚信一件事。AI落地的最后一公里不是模型那一步是数据那一步。谁能把数据这件事做得更透谁才能真正让AI走进工厂、走进电网、走进地铁而不是停留在PPT和Demo里。