EXT2_TMP_SP_02: what agentic plant apps actually trip on
By Aaron McClendon, Founder & CTO, Arkitekt AI

The 2026 agentic manufacturing reports are landing, and they all tell a similar story: ask your plant a question in plain English, get an answer grounded in MES, historian, and CMMS data. Customertimes' AI Agents in Manufacturing report sketches the landscape well, and IIoT World argues the real value shows up when agents are embedded inside the MES, not bolted on as a chatbot.
All of that is true. None of it is what trips the first pilot.
The thing that trips the first pilot
You point an LLM at the historian and ask a reasonable question. Something like: *what was the average melt temperature on Press 4 during last Tuesday's night shift, and did it correlate with the splay rejects on the box line?*
The model goes looking. It finds `P4_EXT2_TMP_PV_02`, `P04_BRLZ2_SP`, `MLD4_NZL_TC_A`, `line4_ext_temp_degF_filtered`, and `TT_0442`. Three of those are the same measurement at different points in the plant's history. One is in Celsius. One is a setpoint, not a process value. One belongs to a different press entirely and got relabeled during a 2019 project nobody documented.
The agent picks wrong. Confidently.
Why this is harder than document RAG
Document RAG works because prose carries its own context. A paragraph about a warranty policy explains itself. A historian tag does not. `TT_0442` is a four-character riddle whose meaning lives in a P&ID, a tribal memory, and maybe a spreadsheet on someone's desktop.
Make it worse: tag conventions drift. Different integrators named things differently. A naming standard existed in 2016, got half-adopted, then diverged after the capacity expansion. Units are inconsistent. Engineering limits aren't stored next to the tag. The asset hierarchy that tells you *this sensor belongs to that extruder on that line* lives in the SCADA project file, not somewhere a model can read.
An LLM reading your plant is doing archaeology, not retrieval.
What actually helps
In our experience, the boring work pays here:
- A tag dictionary with human descriptions, units, engineering range, asset parent, and status (active/deprecated). Even a mediocre one beats nothing. - An asset model the agent can traverse — line, cell, machine, subsystem. ISA-95-ish is fine. Perfect is not required. - A short set of worked examples: here is how we'd answer "melt temp on Press 4 last night." Few-shot grounding beats prompt engineering alone. - Deprecation flags on tags that still exist in the historian but shouldn't be queried.
This is unglamorous. It is also the difference between an agent that answers shift-level questions correctly and one that quietly hallucinates against your production data.
And then, write access
Everyone wants to talk about guardrails on agents that can touch the CMMS or push a setpoint. Fair. But if the agent can't reliably read your plant, it has no business writing to it. The reading problem comes first, and the reading problem is mostly a metadata problem.
Start there. Name things. Document units. Flag the dead tags. The clever part comes later, and it works better when the boring part is done.
Arkitekt AI builds production-grade custom software on managed infrastructure — replacing the SaaS you've outgrown with systems you own. If you're paying for tools that almost fit, let's talk.
Source: “Inside Big Software's fight for its life,” Ashley Stewart, Business Insider, April 7, 2026.