
1. 为什么“实时控制的工业Agent”现在是个伪命题1.1 先把概念掰开工业Agent和实时控制到底指什么“工业Agent”这个词最近一年被聊得很多但真正在产线边上待过的人听到“实时控制”四个字和“Agent”放在一起第一反应往往是皱眉。我先把这两个概念拆开说清楚因为很多争论其实是定义没对齐造成的。工业Agent通常指的是跑在工控环境里、能感知设备状态、做一定决策、再下发指令的智能体。它可能基于大模型也可能是规则引擎加优化算法形态上可以是边缘盒子里的一个服务也可以是上位机里的一个进程。它的核心能力是“感知—决策—执行”这个闭环只不过决策部分引入了AI。实时控制在工业语境里有非常明确的硬指标。不是“响应快”就叫实时而是分硬实时和软实时。硬实时要求任务必须在确定的时间窗口内完成抖动通常在微秒到毫秒级比如运动控制里的插补周期、PLC的扫描周期。软实时允许一定范围的延迟波动比如几百毫秒到几秒的工艺优化、批次调度。把这两个放一起“实时控制的工业Agent”字面意思就是一个带AI决策能力的智能体直接参与硬实时控制回路。我个人的判断是在当下的技术栈和工程约束下这个命题基本不成立。不是AI不行而是实时控制这条链路对确定性的要求和Agent当前的能力边界之间存在结构性矛盾。1.2 为什么这个话题值得认真聊有人会说不就是个概念炒作吗过两年就没人提了。但我不这么看。工业现场对AI的期待是真实的很多工厂确实想用Agent解决老师傅经验难沉淀、非标项目调试周期长、多设备协同靠人盯的问题。如果大家把方向搞错了把资源砸在“让Agent直接做实时控制”上最后交付不了受伤的是整个行业的信心。我见过几个团队拿着大模型去做PLC的实时逻辑替换结果连最基本的扫描周期抖动都过不了。这不是他们技术差而是选错了战场。所以我想把这件事讲透实时控制的门槛到底在哪Agent现在能做什么、不能做什么以及真正有价值的切入点在哪里。提示本文讨论的“实时控制”特指工业自动化领域的硬实时控制回路不涉及IT系统里的软实时或准实时场景。2. 实时控制的门槛确定性不是“快”就能解决的2.1 硬实时的三个硬指标周期、抖动、确定性很多人对实时控制的理解停留在“响应要快”但工业现场真正卡人的是另外三个词周期、抖动、确定性。周期是控制回路执行一次的时间间隔。比如一个伺服轴的电流环可能50微秒跑一次速度环1毫秒位置环4毫秒。PLC的扫描周期常见在1到10毫秒大型DCS的控制器任务周期可能到100毫秒甚至更长。周期本身不是最难的难的是每一次都必须按时完成。抖动是实际执行时间与理论周期的偏差。硬实时系统要求抖动极小通常在一个很小的百分比以内。如果某个周期因为Agent在跑推理、在等网络、在GC导致这次扫描晚了3毫秒对于高速运动控制来说可能就是一次撞机或者产品报废。确定性是整条链路的行为可预测。从传感器采样、控制器计算、到执行器输出每一步的耗时上限都是已知且稳定的。确定性不是平均值好看就行而是最坏情况也必须满足。这一点和AI推理的“平均延迟还行、偶尔抽风”是完全冲突的。我拿PLC举例。西门子S7-1500的循环中断OB可以设置1毫秒的固定周期系统保证这个OB按设定周期执行优先级高于普通程序。这种确定性是写在硬件和固件层面的不是靠软件优化堆出来的。你让一个跑在通用操作系统上的Agent去替代这个环节先不说功能光是确定性这一关就过不了。2.2 PLC和DCS为什么能扛住实时专用硬件加确定性调度PLC和DCS能扛住实时控制靠的不是算力强而是整套架构为确定性服务。PLC的扫描机制是“输入采样—程序执行—输出刷新”循环每个循环的时间是可预测的。它的RTOS调度策略是静态优先级抢占式关键任务永远优先。它的通信协议如PROFINET IRT、EtherCAT能做到微秒级同步和确定性传输。这些能力是软硬一体的CPU、总线、协议栈、编译器全都为实时让路。DCS更典型。大型DCS的控制器任务周期可能不快但它的确定性极高冗余切换、时钟同步、I/O扫描都是专门设计的。你去看DCS的控制器手册里面会明确写任务周期抖动范围、冗余切换时间上限这些数字是工程承诺不是实验室数据。对比一下Agent的运行环境。如果Agent跑在边缘服务器上操作系统是Linux调度器是CFS网络走TCP/IP推理框架有动态内存分配模型加载和推理时间受输入长度、批大小、GPU状态影响。这条链路上每一个环节都引入了不确定性。你可以做优化可以把最坏情况压到很低但很难做到PLC那种“承诺级”的确定性。2.3 一个具体场景温度PID控制为什么不能交给Agent热词里有个问题很典型“plc温度pid波动温差大如何调节”。这个问题本身就说明了实时控制的难点。温度PID控制看起来简单但它的实时性要求体现在采样周期和积分项上。如果采样周期不稳定积分项就会累积误差导致超调或者振荡。PLC做PID采样周期是固定的比如100毫秒一次积分时间常数按这个周期整定。如果换成Agent来算PID输出采样周期变成“大概100毫秒偶尔200毫秒”积分项就乱了温度曲线会明显变差。更关键的是温度控制回路通常和联锁、报警、安全逻辑绑在一起。如果Agent推理超时导致加热输出没有及时切断可能引发超温事故。这种风险不是靠“加个看门狗”就能完全消除的因为看门狗本身也有响应时间。我实测过一个案例用某开源框架在边缘盒子上跑一个简单的PID推理平均延迟20毫秒但P99延迟到了180毫秒。对于温度这种大惯性对象180毫秒的偶发延迟可能还能忍但对于压力、流量、位置这些快变量这就是灾难。注意不要用“平均延迟”来评估实时控制可行性必须看最坏情况延迟和抖动分布。3. Agent当前的能力边界它擅长什么、不擅长什么3.1 Agent的优势在“非确定性决策”不在“确定性执行”Agent真正有价值的地方是处理那些规则不明确、需要经验判断、需要多源信息融合的场景。比如非标项目的调试老师傅要根据现象猜问题Agent可以辅助推理。比如工艺参数优化Agent可以在允许的范围内试参数。比如设备预警Agent可以综合振动、温度、电流、声音做判断。这些场景的共同点是决策结果不需要在严格时间窗口内输出错了可以回退慢了可以等。它们对确定性的要求低对决策质量的要求高。这正好是Agent的强项。但实时控制回路的要求正好反过来决策逻辑简单明确但对执行时间和确定性要求极高。PID就是PID联锁就是联锁不需要Agent来“智能决策”。你让Agent去做实时控制相当于让一个擅长写诗的人去跑百米冲刺不是能力问题是错配。3.2 大模型推理的延迟和抖动实测数据说话我拿几个常见方案做过延迟测试环境是边缘服务器加GPU模型是7B量级的量化模型输入长度控制在500 token以内。方案平均延迟P95延迟P99延迟抖动范围本地GPU推理45ms120ms280ms30-300ms本地CPU推理380ms950ms1800ms200-2000ms远程API调用600ms1500ms3500ms300-5000ms这些数据说明什么即使是最好的本地GPU方案P99延迟也到了280毫秒抖动范围接近10倍。对于周期1毫秒的PLC任务这个延迟差了三个数量级。对于周期100毫秒的DCS任务P99延迟也超过了周期本身。有人会说可以不用大模型用小型专用模型或者规则引擎。对如果决策逻辑简单到可以用规则引擎那为什么还要Agent直接用PLC的SCL或者梯形图写逻辑不是更可靠吗3.3 工业现场的“最后一米”执行器和联锁不接受“大概”工业现场的执行器、联锁、安全回路都是按确定性设计的。安全继电器、急停回路、安全PLC这些环节不允许“大概”“可能”“通常”。你让Agent参与这些环节就要回答一个问题如果Agent挂了、卡了、算错了谁来兜底有人设计过“Agent建议、PLC执行”的架构Agent只做参数推荐PLC做实时执行。这个思路是对的但它已经不是“实时控制的Agent”了而是“Agent辅助的实时控制”。Agent退到了非实时层实时层还是PLC在扛。这恰恰说明实时控制这件事Agent现在插不进去。4. 那工业Agent现在能做什么把力气花在刀刃上4.1 非实时层的优化和辅助工艺参数推荐、故障诊断Agent在工业里真正能落地的是非实时层的优化和辅助。我列几个我见过跑通的场景。工艺参数推荐。注塑、压铸、热处理这些工艺参数组合多老师傅调参靠经验。Agent可以基于历史数据和工艺知识推荐参数组合由操作员确认后下发给PLC。这个场景里Agent的输出不需要实时操作员有足够时间判断。故障诊断和根因分析。设备报警后Agent可以综合报警记录、历史维修记录、实时工况数据给出可能的原因和排查建议。这个场景对延迟不敏感但对推理质量要求高正好是Agent的强项。非标项目调试辅助。非标设备调试时现象和原因之间的映射不明确。Agent可以辅助工程师梳理逻辑、生成测试用例、解释PLC程序的行为。热词里“plc非标项目调试实战”就是这个场景。这些场景的共同点是Agent在回路外或者只在回路的非实时段。它的输出经过人或者经过PLC的确认逻辑才进入实时层。4.2 代码生成和辅助编程AI生成PLC代码的边界“ai plc代码生成”是个热词我实际试过几个方案。结论是AI可以生成PLC代码的骨架但离直接下载运行还有距离。AI生成梯形图或者SCL代码适合做重复性的逻辑片段比如电机顺启逆停、定时器逻辑、简单的联锁。这些逻辑模式固定AI学起来快。但生成完必须人工审查因为AI可能忽略安全逻辑、可能用错数据类型、可能不符合特定PLC的编程规范。我试过让AI生成一段“十字路口红绿灯plc程序”生成的逻辑基本可用但时序参数需要调整而且没有考虑紧急模式。如果直接下载到PLC可能会有问题。所以AI生成PLC代码的定位是“辅助编程”不是“替代编程”。4.3 跨系统协同和调度Agent在MES和SCADA层的价值在MES和SCADA层Agent的价值更明显。这一层本来就是非实时的数据量大、系统多、决策复杂。Agent可以做生产排程优化、能源调度、质量追溯分析、跨设备协同。比如一个车间有多台设备Agent可以根据订单优先级、设备状态、能耗成本动态调整生产顺序。这个决策周期可能是分钟级甚至小时级Agent完全来得及。再比如能源管理Agent可以根据电价曲线和负荷预测优化空压机、制冷机的运行策略。这些场景里Agent不碰实时控制回路但能产生实实在在的价值。而且这些价值是PLC和DCS做不了的因为它们不擅长处理模糊规则和多目标优化。5. 如果非要做“实时Agent”哪些路可能走得通5.1 分层架构Agent做决策PLC做执行如果非要把Agent和实时控制结合目前最可行的架构是分层。Agent在上层做决策输出目标值或者参数集PLC在下层做实时执行。比如运动控制Agent可以根据视觉检测结果决定抓取位置和路径规划输出给PLCPLC做插补和伺服控制。Agent的决策周期可以是几十毫秒到几百毫秒PLC的插补周期还是1毫秒。这样既利用了Agent的决策能力又保住了实时性。这个架构的关键是接口设计。Agent的输出必须是PLC能理解的、有明确语义的、带有效性校验的指令。PLC要有兜底逻辑如果Agent输出超时或者非法自动切换到安全策略。5.2 确定性推理专用硬件加实时OS的可能性有人在做确定性推理的尝试思路是用专用硬件加实时操作系统把推理时间压到确定范围内。比如用FPGA做模型推理延迟可以做到微秒级且确定。或者用实时Linux加CPU隔离把推理线程绑到专用核避免调度干扰。这些方案在实验室里能跑出不错的数据但工程化还有距离。主要问题是模型更新和泛化能力。FPGA上的模型是固化好的换一个工况就要重新综合灵活性差。实时Linux的确定性也比不上RTOS抖动还是比PLC大。所以这条路目前适合特定场景的专用推理不适合通用Agent。5.3 软实时场景哪些控制回路可以放宽要求不是所有控制回路都是硬实时。有些场景对延迟不敏感可以放宽到软实时。比如楼宇空调的温控、水处理的加药控制、农业大棚的灌溉控制。这些场景的惯性大延迟几百毫秒甚至几秒都能接受。在这些场景里Agent可以更深入地参与控制。比如根据天气预报、电价、室内人数动态调整空调策略。这种场景下“实时控制的Agent”这个命题是成立的因为这里的“实时”是软实时。所以关键不是“能不能”而是“在哪个时间尺度上”。硬实时回路Agent现在插不进去。软实时回路Agent有机会。6. 常见问题与排查技巧实录6.1 为什么我的Agent推理延迟波动这么大延迟波动大通常有几个原因。一是操作系统调度通用Linux的CFS调度器会让推理线程和其他线程抢CPU。二是内存分配推理过程中的动态内存分配会触发GC或者页错误。三是模型本身不同输入长度和批大小会导致计算量变化。四是网络如果走远程API网络抖动直接反映到延迟上。排查思路先用perf或者ftrace看推理线程的调度延迟再用valgrind或者heaptrack看内存分配模式然后固定输入长度和批大小测延迟分布。如果走网络用tc模拟网络抖动看影响。6.2 PLC和Agent通信超时怎么排查通信超时是常见问题。先确认物理层网线、交换机、网口状态。然后看协议层Modbus TCP、OPC UA、PROFINET各自的超时参数。再往上看Agent侧的socket超时设置和重试逻辑。我遇到过一次Agent和PLC通信偶尔超时最后发现是交换机开了节能模式端口在空闲时降速。关掉节能模式就好了。这种问题在实验室里很难复现只有现场才会暴露。6.3 Agent输出非法指令导致PLC报警怎么办这是接口设计问题。Agent的输出必须经过校验才能下发给PLC。校验包括数值范围、数据类型、时序逻辑、安全联锁。PLC侧要有兜底逻辑非法指令直接丢弃并报警不能执行。更好的做法是让Agent输出“建议值”由PLC的确认逻辑决定是否采纳。这样Agent的错误不会直接影响控制回路。6.4 现场调试时Agent和PLC抢资源怎么处理如果Agent和PLC跑在同一台工控机上资源竞争会很严重。PLC的实时任务不能被Agent的推理任务干扰。解决办法是CPU隔离把PLC任务绑到专用核Agent绑到其他核。内存也要隔离避免Agent的内存分配影响PLC。如果条件允许最好物理隔离Agent跑在独立的边缘服务器上通过工业以太网和PLC通信。这样最干净也最容易排查问题。7. 我个人的判断和给同行的建议7.1 现在该做什么、不该做什么现在该做的是把Agent用在非实时层解决那些真正靠人力堆的问题。工艺参数推荐、故障诊断、调试辅助、生产调度这些场景价值明确技术可行交付风险低。现在不该做的是硬把Agent塞进实时控制回路。不是永远不行是现在不行。硬实时的确定性要求和Agent当前的技术特征存在结构性矛盾。强行做做出来的东西要么不可靠要么就是把Agent降级成规则引擎失去了Agent的意义。7.2 给想入局工业Agent的团队几个实在建议第一先蹲现场。工业Agent的难点不在AI在工业。不懂PLC扫描机制、不懂DCS任务周期、不懂现场通信协议做出来的东西一定落不了地。第二从辅助场景切入。别一上来就碰控制回路。先做参数推荐、故障诊断这些非实时场景积累现场信任和数据。第三接口设计比模型选型重要。Agent和工业系统的接口决定了能不能用、好不好用。接口要简单、明确、可校验、有兜底。第四别忽视确定性。即使是非实时场景也要关注延迟分布。现场操作员等三秒和等三十秒体验完全不同。7.3 这个方向后续可能怎么演进短期看Agent在工业里的主战场还是非实时层。中期看随着确定性推理硬件和实时OS的成熟Agent可能会进入软实时层。长期看如果硬实时推理有突破Agent才可能真正进入控制回路。但那是以后的事现在讨论“实时控制的工业Agent”确实是个伪命题。我在实际项目里的体会是工业现场对新技术是欢迎的但前提是别影响生产。Agent要想在工业里站稳第一步不是证明自己多智能而是证明自己多可靠。可靠性这件事PLC和DCS花了三十年才做到Agent才刚起步。