Industrial Automation Company CrossnoKaye: Let Large Models Plan Investigations, Let Isolated Sandboxes Compute Verifiable Numbers
In an AWS blog post, CrossnoKaye details the core architectural decisions behind AURA, its industrial AI agent: large language models excel at understanding engineering context and planning investigation steps but cannot reliably perform statistical calculations on millions of sensor readings. AURA separates these functions—the model handles reasoning and planning, while Python code executes actual computations within an isolated microVM in AgentCore; outputs are schema-validated before delivery in Parquet format. Coupled with a four-layer defense-in-depth security strategy, this approach ensures every number produced by AI agents in industrial scenarios is traceable and verifiable.
On the industrial floor, a single incorrect number can send a maintenance crew to the wrong machine. In a technical blog post, CrossnoKaye describes this specific risk: large language models (LLMs) are good at interpreting engineering context and planning investigation steps, but they cannot reliably execute statistical calculations or physical balances over millions of sensor readings. If allowed to directly 'compute' results, an LLM might misname a data column, truncate a time window, or output data in a format that breaks downstream chart rendering.
CrossnoKaye's solution is to completely separate 'thinking' from 'calculating'. Its agentic system, AURA, uses large models to plan investigation paths—for example, 'first load critical alarms from 94 facilities over the past 24 hours, then group them by facility, rule, and inter-arrival time, and finally distinguish between rules triggering repeatedly versus multiple devices failing simultaneously'—but all actual numerical computations are executed inside isolated Python microVMs within Amazon Bedrock AgentCore. The model writes the code, the sandbox runs it, and a validator checks the output.
The verification mechanism operates in three steps. First, before allocating a sandbox, the Sandbox Orchestrator service validates input contracts, staging up to 50 datasets (physical I/O, synthetic readings, setpoint logs, alarm histories, and utility rate tables) into the microVM workspace. Second, a deterministic verifier is attached inside the sandbox to check that every output table declared by the model exists in memory as a pandas.DataFrame with matching required columns and types, serializing them directly into binary Apache Parquet files rather than parsing free-form standard output text. Third, if a script throws an exception or lacks required columns, no unverified numbers reach the user; Temporal workflows capture error messages as structured retry prompts, allowing the agent to correct its Python logic and recompute in a clean sandbox.