"实时控制"和"工业Agent"这两个词,过去一年被捆在一起反复出现。每次在行业群里看到有人发"我们实现了基于Agent的工业实时控制",我的第一反应都是:先别急着欢呼,问一句——控制的到底是什么?响应时间是多少?是打在了仿真画面上,还是真的驱动了一台伺服电机?我自己做过飞行器的控制律设计,也写过高速工业设备的上位机软件,对"实时"二字的斤两还算有点概念。今天这篇,就把话说透:为什么我认为"实时控制的工业Agent"在当前技术条件下是伪命题。不是否定Agent在工业里的价值,而是它在工业里的位置、能力边界,和"实时控制"这四个字所要求的硬约束,存在本质性错配。
1. "实时控制"这个词,被摊薄成了四层含义
讨论这个问题之前,必须先把"实时"这个词钉死。工业领域里到处都在说实时,但不同场景下的"实时"差着好几个数量级,混在一起谈,就容易把根本不可能的事情说得好像只是工程难度问题。
1.1 微秒到毫秒级:运动控制与伺服环
最底层的实时是运动控制和伺服驱动。伺服驱动器内部的电流环,响应周期通常在几十微秒到一百微秒级别;速度环和位置环在125微秒到1毫秒之间。EtherCAT总线是目前工业现场最常见的运动控制总线之一,其分布式时钟同步精度可以做到亚微秒级,标准周期配置从250微秒到2毫秒不等。你去看一台贴片机、一台高速灌装机、一台五轴联动加工中心,里面跑的就是这种节奏。每一毫秒,控制器要完成一次位置规划、插补运算、速度前馈、PID调节和力矩输出。
这种实时性要求的是确定性执行:在这个周期内,运算必须完成,指令必须在总线周期内送达,不允许任何"等一下再说"。操作系统层面,这类任务跑在专用DSP、FPGA或者带硬件实时扩展的处理器上,跑RTOS或者裸机程序。Windows跑不了这个,普通Linux也跑不了,得打RT_PREEMPT补丁或者用专门的实时内核才行。
1.2 百毫秒级:过程控制回路
再往上一层,是流程工业里的过程控制。炼油、化工、电力、制药,这些行业的PID控制回路,调节周期通常在100毫秒到1秒之间。温度、压力、流量、液位这些过程变量本身变化不快,控制周期也不需要太快。DCS系统里的PID块,典型执行周期是200毫秒、500毫秒或者1秒一次。
这时候"实时"的含义已经宽容了一些。允许有几十毫秒的抖动,允许PLC扫描周期存在一定的不确定性,因为被控对象本身有惯性,管道里的温度不会因为控制器晚10毫秒就失控。但这依然是闭环控制,反馈信号进来、控制算法计算、输出指令下发,必须在设计好的周期内完成。丢了两个周期,或者在中间被其他任务抢占了几百毫秒,对一个快速响应的过程回路来说,依然可能造成超调甚至联锁停车。
1.3 秒级:顺序控制与批处理
再往上,是大量的顺控逻辑和批处理控制。设备启停顺序、阀门的开关时序、配方切换、清洗流程,这些逻辑的响应时间要求在秒的级别。PLC里的梯形图程序,OB1主循环扫描时间通常在几毫秒到几十毫秒,逻辑执行完一遍以后,外部信号的变化要等下一个扫描周期才会被看到。对于大多数顺控逻辑,这完全没有问题。
但是要注意,顺控逻辑虽然"慢",它的正确性要求依然是确定性。阀门在第三步打开,第四步才允许进料,这个先后关系是铁律。每一步的执行条件必须无歧义,不允许出现"大概率是这个阀门"这种判断。
1.4 分钟到小时级:调度与优化
最上层的是生产调度、排产、能源管理、设备健康管理。这里的时间尺度是分钟、小时甚至天。什么时间段用谷电、哪条产线该切换品种、这台设备的振动趋势是否异常——这些决策的响应慢得多,容错空间也大得多,允许基于历史数据做分析,甚至允许人介入确认。
注意,Agent真正有机会落脚的是这一层,不是下面三层。很多人说"工业实时控制Agent",潜意识里默认的是1.2甚至1.1那一层的实时,但Agent的能力边界,决定了它只能在这一层玩得转。把时间尺度混淆,是这个伪命题最大的逻辑漏洞。
2. LLM的物理响应时间,和PLC扫描周期隔着三个数量级
讨论一个系统能不能做"实时控制",数据是不能回避的。大模型从收到输入到产生输出,物理上需要多久?我们把它拆开看。
2.1 一次大模型推理要多久,拆开看延迟
LLM的推理延迟由几部分组成:首Token延迟、逐Token生成速度、上下文长度带来的计算开销,以及最后一点解码时间。
以当前主流的中大规模开源模型在单张高端GPU(比如A100/H100)上的表现来看,首Token延迟通常在200毫秒到1秒之间,生成速度大约在每秒20到50个Token。一个简单的回复,假设需要输出200个Token,那么总延迟大约是4到10秒;复杂一点的思考类任务,如果用了推理模型(o1那类思路),光内部思考就可能产生上千Token的推理链条,端到端延迟轻松突破20秒。即便是用蒸馏后的小模型,部署在边缘设备上,首Token能压到100毫秒左右,生成速度快一些,但完整的带上下文的决策输出,依然是以秒为单位的。
还有一点经常被忽略:大模型的输出是采样结果。同样的输入,两次回答可能不同;哪怕温度参数调到接近0,数值上也只是"接近确定",不是逻辑上的严格确定。某些场景说"把温度调到0.0001就能稳定",这属于工程上的侥幸,只要采样机制存在,不确定性就在。
2.2 工业实时的硬标准:扫描周期、总线周期与抖动
再看工业侧的要求。PLC的线性扫描周期,西门子S7-1500系列常规配置是1毫秒到几十毫秒排序;运动控制总线EtherCAT的标准周期可选250微秒、500微秒、1毫秒、2毫秒,并且要求抖动小于1微秒。所谓抖动,就是每个周期之间的时间偏差,工业上对这个指标抠得很死,因为周期不均会造成轨迹误差、共振、加工表面质量下降。
这不是"快一点就行"的问题。一个运行在毫秒级扫描周期里的控制系统,连100毫秒的卡顿都是不可接受的,而你让LLM给它做决策,光推理就花掉了几秒。这中间控制对象已经跑到哪里去了,没有人知道,也没有人能补回来。控制论里这叫"失稳"——反馈回路的时间延迟一旦超过被控对象时间常数的某个临界值,闭环系统就会从稳定走向振荡。
2.3 端到端延迟对比:Agent发指令到机构动作,要多久
把这个对比做成一张表,数字摆出来,结论一目了然:
| 环节 | 典型周期/响应时间 | 特点 |
|---|---|---|
| 伺服驱动器电流环 | 25~125微秒 | 硬件中断级,微秒级执行,无操作系统 |
| 运动控制位置环/速度环 | 125微秒~1毫秒 | 总线周期同步,抖动要求亚微秒级 |
| PLC过程控制回路 | 100毫秒~1秒 | PID调节,按扫描周期执行 |
| DCS顺序控制逻辑 | 秒级 | 逻辑确定性优先,允许宽泛周期 |
| 生产调度/能源优化 | 分钟~小时 | 允许离线计算,允许人工介入 |
| 大模型端到端决策输出 | 1秒~20秒+ | 首Token延迟+逐Token生成,概率性输出 |
假设一套理想化的"Agent实时控制系统":传感器数据上报 → Agent推理 → 决定控制量 → 输出给执行器。光是Agent这一跳,就消耗了至少1秒,这还不算数据采集、传输、格式转换、输出解析的额外开销。拿这个延迟去套1.1和1.2的场景,完全接不上;套1.3的顺控逻辑,也需要把"实时响应"降级成"近实时建议",而且无法保证每次响应都在限定的时间内完成。
这就是为什么我认为它在物理上是伪命题——时间尺度的差距太大,不是优化一下推理速度就能补上的。
3. 系统要的是确定性,Agent给的是概率
如果你觉得"延迟大但总能算出来,忍一忍也能用",那接下来这个问题就更致命了:工业实时控制系统对输出有确定性要求,而Agent的天然输出形态是概率性的。这不是速度问题,是逻辑形态不匹配。
3.1 控制系统的确定性要求:同样的输入,必须产生同样的输出
一个标准的PLC程序,同样的输入信号组合,在同一个扫描周期里,产生的输出一定是确定的。你可以去复盘它、去验证它、去做形式化分析。控制工程师在设计联锁逻辑的时候,脑子里想的不是"这个阀门大概率要关",而是"只要压力高高信号触发,这个阀门在50毫秒内必须关死"。这种确定性是工业控制系统的立身之本。
为什么要有确定性?因为人要排查故障,要安全评估,要能够回答"如果出现这个情况,系统会做什么"。如果你面对一辆汽车的刹车系统,你希望踩刹车时,制动力是确定性地建立起来,还是"大概率建立起来"?工业现场同理。一套控制系统被写入工厂的运行规范,意味着它的行为必须是可预判的、可复现的。
3.2 安全认证的视角:SIL等级里没有"大概率"
IEC 61508功能安全标准里定义了安全完整性等级(SIL 1到SIL 4),SIL 3等级要求危险失效概率在10^-8到10^-7每小时量级,同时要求系统性能力评估,包括验证、测试、形式化方法使用。安全回路的设计原则里有一条很硬的要求:系统必须保证在定义的时间内可靠执行安全功能。
你去翻任何一家做安全PLC的厂商的认证材料,里面讨论的都是时序确定性、诊断覆盖率、失效模式分析,没有人会写"我们的概率模型置信度达到99%"——因为99%置信度放在安全功能里意味着每100次危险事件有1次兜不住,这在流程工业里就是重大事故。而大模型的回答,哪怕工程上做到再高准确率,本质上依然是统计模型在给定输入下的输出概率分布,做不到形式化验证级别的保证。
3.3 概率输出怎么进反馈回路:一个追不上的问题
更麻烦的是,Agent一旦接入闭环,它的输出偏差会通过反馈回路被放大。传统PID控制里,控制器输出是一个确定性的数值,哪怕有模型误差,也可以通过积分项逐步修正。但Agent的输出是离散的、非线性的、且可能包含逻辑幻觉——比如把PLC程序中不存在的变量当作真实存在的,或者对某个报警信号给出了完全错误的解释。
这不是我危言耸听。大模型在复杂上下文中的"幻觉"问题至今没有从原理上解决,工业控制系统最不能容忍的就是"在不确定的时间里输出一个有概率的逻辑错误"。哪怕幻觉率控制在千分之一,在毫秒级实时系统里,一天下来就是几十万次判断,每次判断都可能是事故的导火索。
控制对象一旦接进来,反馈环里的时间延迟和概率型错误,会让整个系统陷入一种无法验证、无法预测的状态。做控制的人一辈子在跟传递函数、稳定性裕度、鲁棒性较劲,你让一个概率模型坐在反馈环的正中间,等于把所有的稳定性分析全部推翻重来。这个"重来"目前无解。
4. 数据基础和模型形态也接不上
退一步讲,就算延迟和概率问题都能在未来改善,还有一个更隐秘的错配:工业实时控制产生的数据形态,跟大模型吃的数据形态,根本不是一个物种。
4.1 时间序列数据和自然语言数据是两种东西
工业控制系统的核心数据是时序数据——每一毫秒的电流值、每一百毫秒的温度值、每一个扫描周期的阀门开度。这些数据有严格的时间戳、明确的物理单位、确定的数据结构,它们描述的是一个连续变化的物理过程。而大模型擅长处理的,是自然语言或者结构化的文本/代码——语义上相关、逻辑上离散、表达上有冗余。
把毫秒级时序数据转换成自然语言喂给LLM,本身就是一次巨大的信息损失。你得先降采样、做特征提取、写成"温度上升趋势加快"这类语句,这时候大量动力学细节已经被抹掉了。而控制算法恰恰需要这些细节——相位裕度、谐振频率、死区时间、迟滞特性,哪一条都不是聊聊天就能表达清楚的。
4.2 控制周期内的数据量:根本喂不进上下文窗口
另一个现实问题:上下文窗口不够用。假设一套中等规模的控制系统有500个模拟量测点,每一个控制周期(假设100毫秒)各取一次值,一秒钟就是5000条数据。即便做粗粒度的聚合,一分钟也要产生数万条记录。纸面上看128K token的上下文窗口很吓人,但真正承载结构化数据、又要保证语义关联时,能塞进去的时间窗口依然很短——几十秒的内容就可能把上下文挤爆。
也不要说"那就边算边丢、只保留最近的窗口"。控制系统恰恰是靠历史趋势来做判断的。一个回路的工况变化、振荡趋势、缓慢积分饱和,必须看足够长的时间尺度才有意义,而你保留不了完整历史,等于让Agent在一段残缺的、低时间分辨率的片段里强行推测当前系统状态。这在控制工程上是不可接受的。
4.3 真正的"Agent+工业"正确姿势:离线战场
说了这么多"接不上",那Agent在工业里就完全没用吗?当然不是。我认为Agent的正确姿势,恰恰是绕开"实时控制"这个禁区,在时间尺度宽裕、允许人类介入的环节发挥优势。这些场景包括:
- 故障诊断辅助:基于历史数据和设备手册,帮工程师分析报警原因、定位排查方向。周期是分钟级、小时级,允许Agent慢慢推理,它给出的只是"建议",最终由人类工程师决策。
- SOP与知识问答:把操作手册、设备维保记录、历史故障案例喂给RAG系统,让操作员用自然语言查询。回答错了顶多是惹人不快,不会直接炸设备。
- 自动化PLC/SCADA程序生成:用自然语言生成结构化逻辑代码,再由工程师审查、测试、编译后下装。我在实际项目中见过类似方向,确实能大幅提升编程效率,但前提是代码必须过评审、过仿真验证,不能在线热更新。
- 预测性维护与生产优化:以天、周为尺度进行数据分析,给出维护建议和排产优化。这类决策天然允许延迟,Agent可以负担得起大规模推理。
这些场景共同的特点,是它们不在实时控制回路里,不直接面对毫秒级反馈,输出结果有人审核或者有充足的时间进行验证。Agent在其中扮演的是"聪明的参谋",不是"临场拍板的执行者"。
5. 那市场上那些"实时控制Agent"项目,做的是什么?
聊到这里,必然会有人问:市面上已经那么多"实时控制Agent"的Demo、论文、产品发布,他们做的是什么?我见过不少,也拆过几个,总结下来大概就三种形态。
5.1 常见的真实形态:仿真演示、辅助决策、代码生成
第一种叫仿真自嗨。用一个数字孪生或者纯模拟画面,把Agent的输出直接映射成虚拟设备上的动作。演示视频里,Agent说"启动三号泵",画面里三号泵就转了,看起来天衣无缝。但实际上仿真环境里的时间是可以加速的、逻辑是可以预设的、输入是可以人为构造的。仿真里的"实时"是假实时,不代表物理世界的确定性。
第二种叫辅助决策+人工执行。Agent分析数据后给出建议,操作员确认后再按按钮。这其实是有价值的,但它根本不叫"实时控制",人还在回路中间站着呢。把这个叫"实时控制",是把人的功劳算在了Agent头上。
第三种叫控制代码生成。Agent根据需求用自然语言或高阶配置生成PLC代码、运动控制参数文件,由工程师下载到控制器里。这种是离线的、一次性的,跟运行时实时控制没有关系,但往往被宣传成"Agent实现了工业实时控制"——偷换了概念。
5.2 为什么这些项目会把头衔写成"实时控制"
这背后有市场叙事的需求。工业客户对大模型的理解普遍有个误区:能用自然语言直接操作设备才显得"智能"。厂商投其所好,把演示包装成"实时控制",用一个吸引眼球的话术撬动关注度,既好讲故事、又容易过内部评审。
但从工程伦理的角度说,这种包装是有风险的。它会让工业客户误以为"大模型可以直接坐进控制室驾驶设备",进而产生不切实际的期望,甚至有人在没有充分安全评估的情况下把Agent接到生产系统里去做实验。我做工业软件这些年最深的体会之一,就是设备可以一段时间不聪明,但绝不能有一天不可预测。
5.3 一个可行的中间态:Agent做规划,控制回路做执行
那工业AI的落地路径到底是什么呢?我的观点是"分层解耦"——大模型Agent待在规划层,实时控制算法待在执行层,中间用明确定义的接口隔开。
具体来说,Agent负责把高层的业务目标翻译成控制系统的参数或任务序列,比如"这批订单要求表面粗糙度Ra0.8,请调整加工参数",然后由底层的控制算法负责在毫秒级时间内执行参数调整,并通过优化算法寻找满足约束的加工参数组合。Agent不直接写伺服速度环的给定值,它只更新工艺数据库表里的设定参数;真正的闭环调节还是由伺服驱动器和PLC去完成。
再进一步,规划层和执行层之间可以加一道"数字孪生验证"关卡:Agent生成的新参数、新逻辑,先跑一遍仿真验证,确认没有超限、没有逻辑冲突,再由工程师一键审批后下发。这样既保留了Agent的灵活性和高层的决策智能,又把底层执行的确定性和安全性牢牢握在手里。
我个人对Agent在工业领域的未来一点也不悲观。只是我们需要把它放在对的位置上:它不是实时控制器,它是控制工程师的智能副驾,是规划层的参谋,是知识库的入口。想通这一点,"实时控制的工业Agent"这个伪命题自然就化解了——放对位置,以它的真实形态参与工业智能化的进程,比顶着"实时控制"的帽子做注定落不了地的演示强得多。