Designing Industrial AI Agents: Moving from Vibration Data to Automated Work Orders Safely
Moving AI agents from diagnosing equipment issues to creating industrial work orders requires explicit tool boundaries, clear refusal schemas, and strict operational controls.

Transitioning an AI agent from delivering passive diagnostic advice to executing real-world operations introduces significant architectural risks. When an agent moves from answering questions to opening work orders, its output becomes an active operational record that schedules personnel, reserves spare parts, and potentially takes critical industrial machinery out of service. An examination of three open-source projects—covering hardware acquisition, diagnostic signal processing, and maintenance orchestration—underlines the safety controls and explicit boundaries needed when bridging diagnostics with execution.
Handling Missing Data with Explicit Refusals
In diagnostic workflows, incomplete measurements pose a primary risk. Vibration data relies on contextual metadata—such as sampling rates, physical units, shaft rotational speed, and timestamps—to calculate bearing fault frequencies based on kinematic equations detailed in Randall and Antoni’s tutorial on bearing diagnostics. Without parameters like bearing geometry (outer race, inner race, rolling elements, and contact angle) or exact shaft speeds, spectral lines cannot be validated accurately.
To keep language models from guessing, deterministic computational tools must enforce strict boundary checks. A proof-of-concept setup built around an STMicroelectronics STEVAL-STWINBX1 development board (STWIN.box)—featuring a wideband three-axis accelerometer sampled at approximately 26.7 kHz—uses two Model Context Protocol (MCP) servers (one for data acquisition and one for analysis) managed by Claude alongside three guided Skills. When shaft speed is omitted, the analysis server responds with basic statistics, an empty list of diagnoses, and an explicit warning, while the tool's description explicitly instructs the model not to invent parameters.
Similarly, the separate Predictive Maintenance MCP diagnostic server handles missing data through code-enforced refusals rather than log-only entries. To calculate severity under ISO 20816-3, the system requires knowing whether a signal represents acceleration or velocity. If the declared unit is missing, the tool returns a refused_iso_block payload containing a status of "refused", a descriptive reason, and a recommended remedy. Because language models can lose log warnings, embedding the explicit refusal directly within the returned result schema ensures the agent remains aware of computation boundaries while the rest of the diagnostic pipeline finishes executing.
Boundary Controls in Maintenance Workflows
Executing operational decisions requires linking unstructured requests to concrete entities. The Machina maintenance agent framework uses connectors for OPC UA and MQTT to ingest plant data into a domain model covering assets, alarms, and work orders. When resolving ambiguous target requests—such as "the cooling pump"—Machina scores asset candidates and halts execution if there is a weak match or a tie, prompting the user for clarification to prevent issuing work orders against the wrong equipment.
Machina also isolates potential system changes through three distinct operational write controls:
- Sandbox Mode: Intercepts mutating connector calls and replaces write steps within the workflow engine with safe placeholders.
- Human Confirmation: Pauses mutating tool calls initiated within the LLM agent loop until explicit confirmation is provided by an identified user.
- Target Asset Verification: Checks that target assets exist and were resolved with sufficient confidence during the current turn before allowing a work order creation step.
However, capability limits within an agent framework do not equate to a full authorization model. In current implementations, valid access tokens permit execution of any registered tool, and client identities are not yet recorded in log entries. Robust system design mandates that agent accounts hold minimal privileges within an enterprise Computerized Maintenance Management System (CMMS), with generated orders requiring manual release by human planners.
What it means for developers
For developers building AI systems, moving from diagnostic information to operational execution requires strict state isolation. Currently, no unified contract exists to seamlessly bridge tools like Predictive Maintenance MCP and frameworks like Machina. To build trustworthy tool-using workflows, developers must design data contracts that keep three outcomes explicitly separate:
- Valid evidence confirming normal machine operation.
- An explicit refusal to perform an assessment due to missing metadata.
- Information that was completely unavailable or failed to retrieve.
If these three outcomes are collapsed into generic empty fields, downstream components or language models are forced to guess, often falsely assuming that missing data implies no fault was found.
Developers testing tool interactions across multiple LLM providers can easily evaluate model behavior using single-key access at https://apixoai.online to ensure client models maintain data limits reliably.
Ultimately, signal processing and safety checks must remain in deterministic, isolated code units. Language models should interpret requests, retrieve context, and narrate evidence, but explicit schema-level refusals and authorization checks must guard every operational write.
Source: From Vibration Data to Work Orders: Designing Industrial AI Agents with Explicit Boundaries — Towards AI. Written by the Apixo team from that report.
One key for Claude, GPT, GLM, DeepSeek and more. Pay per token with crypto.
Get your API key

