Live Nov 18 · Cohort 3Nov 18, 19:00 MSK — free hands-on AI agents live workshop · Live Cohort 3 starts Nov 23Join Nov 18 Live →Cohort 3 (Nov 23)
ReleaseInsight · On RadarAWS Machine Learning Blog→ original

CrossnoKaye Makes Its Factory AI Agent Do the Math in a Python Sandbox, Not in the LLM's Head

CrossnoKaye built its AURA agent on ATLAS, its platform for controlling factory equipment. The agent sees more than sensor logs: it also sees line topology and interlock logic, so it finds the real root cause of a failure rather than its symptom. Every number in an answer is computed by Python code in an isolated Amazon Bedrock AgentCore sandbox, not "in the head" of the LLM. The company claims the following for the platform: output grows 11–17% and energy costs fall 21%.

AI-processed from AWS Machine Learning Blog; edited by Hamidun News
CrossnoKaye Makes Its Factory AI Agent Do the Math in a Python Sandbox, Not in the LLM's Head
Source: AWS Machine Learning Blog. Collage: Hamidun News.
Listen to article
Article Fact Sheet & Key Figures
ParameterDetails
Primary sourceAWS Machine Learning Blog ↗
Editor-in-Chief
Key metric #1A warm sandbox per chat with a 15-minute TTL, and a clean micro-VM for every Task run
Key metric #2The result of a calculation is only validated DataFrames with a schema, not text from stdout
Key metric #3If a script fails, the agent receives the traceback and reruns the calculation

If you have tried bolting an LLM agent onto an industrial system, you know how it ends. The data sits in historians (time-series stores) with messy tag names. The equipment logic is baked into proprietary controller code that an external tool cannot see. And access to all systems at once means a scattering of credentials across the plant network. CrossnoKaye solved this not by attaching an agent from the side, but by building it into its own platform.

An agent inside the platform, not outside it

ATLAS is software-defined automation. An on-site Kubernetes cluster runs the basic control logic (state machines, sequences, limits, interlocks) on top of the existing PLCs and DCS. The customer does not have to replace any hardware. The edge gateway only sends data out and opens no inbound ports. If the connection to the cloud drops, the plant keeps running on local logic.

The AURA agent lives inside the same security perimeter on Amazon EKS. It reads plant state through a single data gateway with the permissions of the calling user. That gateway exposes the equipment topology, the expanded interlock logic, physical and calculated readings, alarm history, and documentation in Bedrock Knowledge Bases.

Context matters a great deal. At a quarry, a secondary crusher stopped twice in one shift after the tertiary one. Going by timestamps alone, the crusher looked like the culprit. But AURA could see the conveyor layout and the interlocks. The recirculation belt under the tertiary crusher was slipping, the overload protection tripped, and an upstream interlock shut down the secondary crusher so it would not dump material onto a stopped machine. An operator was sent to the belt, and the problem was fixed within minutes.

Code should do the math, not the model

An LLM is good at interpreting engineering context and planning an investigation, but it cannot reliably compute statistics or a balance over millions of readings inside a prompt. So AURA writes Python and runs it in Code Interpreter from Amazon Bedrock AgentCore. These are isolated micro-VMs managed by AWS. Bedrock Guardrails and protective layers at the edge sit on top of that.

Two of the design decisions are useful outside industry as well.

Warm and disposable sandboxes. In an interactive chat, an engineer tests hypotheses step by step: loads a day of alarms across 94 sites, filters out "chattering" level sensors, and matches compressor shutdowns against wet-bulb temperature. A cold start on every turn would wipe the tables from memory. So each conversation is bound to one live AgentCore session with a sliding 15-minute TTL, and a new session is created when the user returns after being idle. For scheduled Tasks and nightly Routines, it is the other way around. They need reproducibility, so every run goes into a fresh micro-VM that is stopped right after the calculation. This protects against state leaking between runs and against paying for an idle sandbox.

Data contracts instead of text from stdout. Early versions, where the model printed JSON or a summary to standard output, proved brittle. The model mixed up column names, lost part of the time window, or broke the format used for plotting charts.

Now the orchestrator checks the input contract in advance and places up to 50 datasets in the sandbox. It adds a validation harness to the model's script. The harness confirms that each declared table exists as a pandas.

DataFrame with the right columns and types, and saves it to Parquet. If the script crashes or a column is missing, the user will not see wrong numbers. A Temporal workflow turns the traceback or schema mismatch into a structured request, and the agent fixes the code and reruns the calculation.

What this delivers in practice

A fleet-wide example: when analyzing critical alarms across 94 sites over one day, the code grouped events by asset, rule, and intervals between triggers. Instead of a ranking by alarm count, it turned out that 103 activations at one plant were two repeating tank-level rules. At another plant, 58 activations (ammonia, evaporators, hot-gas valves) fit within a single second. That is where the cascading equipment failure was.

AURA also runs Routines, background watchers triggered by schedules, thresholds, and equipment modes. They open an investigation on their own, in read-only mode. Before a report (Brief) is sent, the system checks that every reference in it points to a saved telemetry window.

Limitations and takeaways

The figures for 11–17% output growth, a 21% cut in energy costs, and zero safety incidents per million hours are claims by CrossnoKaye itself. They apply to the whole APC platform, not to the agent alone. The description is also tightly tied to the AWS stack: VPC Lattice, MSK, SQS, EKS, AgentCore. It is also worth remembering that at CrossnoKaye this architecture runs on top of a ready-made platform with a single plant model, and most companies do not have that foundation.

There are three universal lessons. First, an agent needs access to the structure of the system, not just to logs. Second, any numerical claim is best computed in an isolated environment. Third, it is better to accept a sandbox result only through a schema and a validator, and to return errors to the agent so it can correct itself. These techniques suit finance, logistics, and any analytics where an error in a number is costly.

Story

Key Questions Answered

What are the key details on An agent inside the platform, not outside it?

ATLAS is software-defined automation. An on-site Kubernetes cluster runs the basic control logic (state machines, sequences, limits, interlocks) on top of the existing PLCs and DCS. The customer does not have to replace any hardware. The edge gateway only sends data out and opens no inbound ports. If the connection to the cloud drops, the plant keeps running on local logic. The AURA agent lives inside the same security perimeter on Amazon EKS.

What are the key details on Code should do the math, not the model?

An LLM is good at interpreting engineering context and planning an investigation, but it cannot reliably compute statistics or a balance over millions of readings inside a prompt. So AURA writes Python and runs it in Code Interpreter from Amazon Bedrock AgentCore. These are isolated micro-VMs managed by AWS. Bedrock Guardrails and protective layers at the edge sit on top of that. Two of the design decisions are useful outside industry as well. Warm and disposable sandboxes.

What this delivers in practice?

A fleet-wide example: when analyzing critical alarms across 94 sites over one day, the code grouped events by asset, rule, and intervals between triggers. Instead of a ranking by alarm count, it turned out that 103 activations at one plant were two repeating tank-level rules. At another plant, 58 activations (ammonia, evaporators, hot-gas valves) fit within a single second. That is where the cascading equipment failure was.

ZK
Zhemal Khamidun — CPO at Alpina Digital, product manager of AlpinaGPT. Building AI products since 2019. Hamidun News is a pet project that grew into a production aggregator with 6,000+ readers.
✦ Unified AI Workspace · Nomad

Test Frontier LLMs & Autonomous Agents in One Workspace

Run Claude Opus 5.5, GPT-6, Gemini 3.1, and DeepSeek side-by-side in Nomad AI (nomadnet.ai) — unified model routing, deep research, and multimodal workflows under one subscription.

Try Nomad AI →Launch Nomad Agent
What do you think?
Loading comments…