Utiliza MongoDB e Agentic IA para predecir fallos en equipos y automatizar respuestas.
caso de uso: Inteligencia artificial, Internet of Things
Industrias: Fabricación y movilidad
Productos: MongoDB Atlas, MongoDB Atlas Vector Search, Colecciones de series de tiempo de MongoDB, Driver Node.js de MongoDB
emparejar: Amazon Bedrock, Amazon Web Services, LangChain, Vercel
Descripción general de la solución
Desde las industrias manufacturera y automotriz hasta la energía y los servicios públicos, el tiempo de inactividad no planificado es una de las interrupciones más costosas a las que se pueden enfrentar las organizaciones. Si bien el mantenimiento predictivo ayuda a los equipos a anticipar los fallos, los equipos son cada vez más complejos, las cadenas de suministro son más frágiles y es más difícil encontrar mano de obra cualificada. Por lo tanto, las organizaciones necesitan sistemas que puedan predecir y actuar de forma autónoma.
Los sistemas multiagente que utilizan agentes potenciados por IA utilizan Los LLM, herramientas y memoria de agentes para predecir fallos y actuar en consecuencia. Al automatizar la toma de decisiones repetitivas, los agentes de IA permiten que los trabajadores cualificados se enfoquen en la resolución de problemas, al tiempo que reducen costos e incrementan la eficiencia.
Figura 1. Ventajas del mantenimiento predictivo para la excelencia operativa
Estos beneficios se aplican en varias industrias, como:
Manufactura y automotriz: los agentes pueden detectar anomalías en el equipo, activar inspecciones y reprogramar automáticamente tareas de producción.
Transporte y logística: Los operadores de flotas pueden usar agentes para supervisar el estado de los vehículos, predecir fallos de componentes y programar el mantenimiento para minimizar el tiempo de inactividad.
Energía y servicios públicos: Los agentes pueden analizar la telemetría en tiempo real de redes o turbinas y enviar automáticamente equipos de reparación cuando se detectan problemas.
Aeroespacial: Los agentes pueden coordinar diagnósticos a través de sistemas complejos y garantizar que las acciones de mantenimiento se ejecuten con una interrupción mínima.
Esta solución se centra en un taller de fabricación. Sin embargo, se puede aplicar la misma arquitectura y los mismos principios en diferentes escenarios.
Para desarrollar esta solución, los sistemas multiagente dependen de un acceso oportuno y contextual a los datos, lo que permite a los agentes razonar, aprender y actuar de manera efectiva. Los sistemas tradicionales de TI y OT no están diseñados para esta escala y flexibilidad.
MongoDB Atlas, una base de datos de propósito general, proporciona soporte nativo para datos vectoriales, grafos y datos de series de tiempo. En el contexto de las aplicaciones industriales para la IA agentica, Atlas hace posible:
Ingesta diversa de IoT, telemetría y entradas de sensores en tiempo real.
Almacena la memoria de agente a corto y largo plazo en una única capa de datos unificada.
Soporte para RAG para el razonamiento contextual.
Escala de forma confiable para gestionar grandes volúmenes de datos en transmisión con baja latencia.
Al conectar el IoT industrial y la IA agente, MongoDB Atlas te permite pasar de la supervisión y la predicción a la acción inteligente y automatizada.
Arquitecturas de Referencia
Esta solución demuestra cómo puedes compilar un sistema de mantenimiento predictivo multi-agente usando MongoDB Atlas, LangGraph, y Amazon Bedrock. Juntas, estas tecnologías agilizan procesos complejos como la detección de anomalías, análisis de causa raíz, creación de órdenes de trabajo y cronogramación de mantenimiento.
A grandes rasgos:
MongoDB Atlas sirve como la capa de datos unificada al almacenar e indexación la telemetría, la memoria del agente, los vectores de incrustación y otros datos operativos. También proporciona a los agentes las herramientas de recuperación necesarias.
LangGraph permite la coordinación basada en grafos entre agentes.
Amazon Bedrock provee los LLM que permiten a los agentes razonar, analizar y generar resultados.
La arquitectura sigue un modelo supervisor-agente. El supervisor coordina el flujo de trabajo y delega tareas a estos agentes especializados:
Agente de fallas: Realiza un análisis de la causa raíz y redacta informes de incidentes.
Agente de órdenes de trabajo: Elabora órdenes de trabajo de mantenimiento con requisitos, habilidades y materiales.
Agente de planificación: Identifica el momento óptimo para el mantenimiento basándose en las limitaciones de producción y recursos.
Figura 2. Arquitectura de alto nivel de un sistema de mantenimiento predictivo multiagente
Cada agente en esta arquitectura utiliza herramientas, memoria y un grafo de estados. Juntos, estos componentes permiten que los agentes razonen, recuerden y actúen de manera coordinada.
Herramientas del agente
Las herramientas son funciones específicas de dominio que permiten a los agentes tener interacción con sistemas externos. Pueden invocar consultas de base de datos, realizar búsquedas semánticas o escribir resultados estructurados de nuevo en MongoDB.
El siguiente código muestra cómo registrar una herramienta para el agente de fallas utilizando el driver de MongoDB Node.js. En el ejemplo, esta ferramenta utiliza búsqueda vectorial para recuperar secciones relevantes de los manuales de la máquina.
export const retrieveManual = tool( async ({ query, n = 3 }) => { const dbConfig = { collection: "manuals", indexName: "default", textKey: ["text"], embeddingKey: "embedding", includeScore: true, }; const result = await vectorSearch(query, dbConfig, n); return JSON.stringify(result); }, { name: "retrieve_manual", description: "Retrieve the relevant manual for the alert via vector search.", schema: { type: "object", properties: { name: { type: "string", description: "Name of the tool for identification purposes", enum: ["retrieve_manual"], }, query: { type: "string", description: "The query to process", }, n: { type: "number", description: "Number of results to return (optional, default 3)", default: 3, }, }, required: ["name", "query"], }, } ); export function getTools() { return [ retrieveManual, retrieveWorkOrders, retrieveInterviews, generateIncidentReport, ]; }
Cada agente tiene su propio kit de herramientas, como se muestra en la siguiente lista:
Agente de fallas
retrieveManual: Busca manuales para pasos de solución de problemas.retrieveWorkOrders: Busca reparaciones similares realizadas anteriormente.retrieveInterviews: Encuentra notas de los operadores o técnicos sobre análisis post-incidentes anteriores.generateIncidentReport: Crea un informe de incidente y lo almacena en MongoDB.
Agente de orden de trabajo
retrieveWorkOrders: Referencia órdenes de trabajo anteriores para orientación.generateWorkOrder: Redacta una nueva orden con la duración estimada, las habilidades requeridas y los materiales.
Agente de planificación
checkInventoryAvailability: Verifica si las partes requeridas están en stock.checkStaffAvailability: Encuentra técnicos con las habilidades adecuadas.scheduleWorkOrder: Reserva la tarea en el calendario de producción.
También puedes ampliar este conjunto de herramientas. Por ejemplo, puedes añadir nuevas funciones para reflejar procesos empresariales únicos o necesidades específicas de la industria.
Memoria de agente
Para que los agentes trabajen eficazmente, necesitan su propia memoria para almacenar el contexto y los pasos de razonamiento. Esto les permite:
Mantener la continuidad dentro de una tarea.
Recuerda los pasos anteriores.
Cree contexto a través de las interacciones.
En esta arquitectura, MongoDB Atlas almacena la memoria. La memoria puede ser:
Memoria a corto plazo: Almacena el estado intermedio a medida que el agente se mueve a través del grafo de estados. Esto garantiza que si un proceso se interrumpe, pueda reanudarse sin perder el progreso. En esta solución, dos colecciones almacenan este tipo de memoria:
checkpointsCaptura el estado general de un agente en cada paso.checkpoints_writesRegistra las llamadas a herramientas y los resultados.
Memoria a largo plazo: MongoDB almacena datos históricos que orientan las decisiones actuales. Los agentes recuperan estos datos a través de la búsqueda vectorial, asegurando que el contexto histórico impulse el razonamiento. Las colecciones incluyen:
interviews: Entrevistas y notas de los técnicos posteriores al incidente.workorders: Registros históricos de órdenes de trabajo.incident_reports: Resúmenes y hallazgos de incidentes anteriores.
Para configurar la memoria a corto plazo, puedes usar la clase MongoDBSaver de LangGraph, que escribe el progreso del agente en las colecciones checkpoints y checkpoints_writes de la siguiente manera:
import { MongoDBSaver } from "@langchain/langgraph-checkpoint-mongodb"; import { MongoClient } from "mongodb"; const client = new MongoClient("<connection-string>"); const checkpointer = new MongoDBSaver({ client: client, dbName: "<database-name>", checkpointCollectionName: "checkpoints", checkpointWritesCollectionName: "checkpoints_writes" });
Esta configuración permite a los agentes capacidades de memoria y tolerancia a fallos.
grafo de estados del agente
Un grafo de estados es una estructura para modelar flujos de trabajo como nodos y aristas. Cada nodo representa un paso de razonamiento, una llamada a una herramienta o un punto de control. Los bordes definen las transiciones entre estos pasos. Los grafos de estado hacen que los flujos de trabajo sean explícitos, repetibles y resilientes.
En esta solución, LangGraph potencia el grafo de estados para coordinar agentes y sus herramientas. Los nodos representan agentes especializados o decisiones de supervisores, mientras que los bordes definen su orden de ejecución.
Esta arquitectura garantiza que:
Los agentes pueden ramificarse en función de los resultados. Por ejemplo, partes faltantes versus disponibles.
Cada paso guarda en la memoria y lee automáticamente de ella.
El Agente Supervisor orquesta agentes especializados para resolver tareas colaborativamente.
El siguiente código compila un grafo de estados que conecta al supervisor, los agentes especializados y el checkpointer utilizado para la memoria a corto plazo del ejemplo de código anterior.
const graph = new StateGraph(StateAnnotation) .addNode("supervisor", callModel) .addNode("failure", agentNode(failureGraph, "failure")) .addNode("workorder", agentNode(workorderGraph, "workorder")) .addNode("planning", agentNode(planningGraph, "planning")) .addEdge("__start__", "supervisor") .addConditionalEdges("supervisor", shouldContinue) .addEdge("failure", "supervisor") .addEdge("workorder", "supervisor") .addEdge("planning", "supervisor") .compile({ checkpointer });
With this grafo setup, you can trace, resume and debug the entire multi-agent workflow. (Con esta configuración de grafo, puedes rastrear, reanudar y depurar todo el flujo de trabajo multi-agente.)
Flujo de trabajo de extremo a extremo
Para unificarlo todo, así es como colaboran los agentes:
El agente supervisor recibe una alerta, la registra a través del grafo de estados y la pasa al agente de fallas.
El agente de fallas utiliza herramientas para query manuales, órdenes de trabajo y entrevistas, haciendo referencia a la memoria a largo plazo para el contexto. Luego, genera un informe de incidentes.
El agente de órdenes de trabajo redacta una nueva orden de trabajo con los materiales requeridos, habilidades y duración estimada. Utiliza la memoria para aplicar los requisitos y herramientas correctos para el resultado.
Un punto de control valida la orden antes de la ejecución.
El agente de planificación utiliza su propio conjunto de herramientas y memoria para verificar la disponibilidad de piezas, cronogramas del personal y conflictos en el calendario. Luego, programa la tarea.
Cuando todos los agentes han completado sus tareas, el Agente Supervisor actualiza el grafo de estado para rastrear la finalización del flujo de trabajo.
Puedes ampliar y personalizar este flujo de trabajo con nuevos agentes, tales como:
Un agente de adquisición para realizar automáticamente pedidos de piezas.
Un agente de cumplimiento para preparar informes regulatorios.
Un agente de optimización de turnos para equilibrar la carga de trabajo de los técnicos.
Debido a que las herramientas, la memoria y la orquestación de grafos son modulares, puedes añadir nuevos agentes sin interrumpir los existentes.
Enfoque de modelo de datos
Un sistema de mantenimiento predictivo multi-agente se basa en un amplio rango de datos, que incluye:
Lecturas de sensores de alta frecuencia
Memoria de agente
Manuales técnicos
Notas de la entrevista humana
Cronogramas del personal
Registros de inventario
El modelo orientado a documentos flexible de MongoDB facilita la operacionalización de estos datos en una única solución. En MongoDB Atlas, puedes almacenar:
Datos de series de tiempo para telemetría con granularidad de milisegundos.
Incorporaciones vectoriales para la búsqueda semántica en manuales y órdenes de trabajo.
Metadatos para unificar el contexto, como el ID de fábrica, el ID de máquina o la línea de producción.
Datos operativos para los cronogramas, calendarios y el inventario.
Colecciones principales
Esta solución utiliza las siguientes colecciones para almacenar diferentes datos:
telemetryLecturas de sensores de máquina desde el patio de producción, almacenadas como una colección de series de tiempo para una eficiente ingesta, compresión y consulta. Las colecciones de series de tiempo hacen eficiente el almacenamiento y la query de millones de lecturas. También conservan metadatos contextuales como identificadores de máquinas, fábricas o líneas de producción.alerts: Issues or anomalies predicted that activan the workflow and notify the Supervisor agente.incident_reports: Resultados del análisis de causa raíz generados por el Agente de Fallas. Los resultados agregan contexto de telemetría, manuales y entrevistas.work_orders: Elaborado por el agente de orden de trabajo. Incluye descripciones de tareas, duración estimada, habilidades requeridas y materiales.manualsManuales de máquina almacenados con incrustaciones vectoriales para la recuperación semántica por parte de los agentes.interviewsNotas posteriores al incidente y conversaciones con el personal, que aportan un contexto no estructurado pero valioso.maintenance_staff: Listados de personal, cronogramas de turnos y especializaciones de habilidades utilizados por el Agente de Planeación.inventory: Disponibilidad de repuestos, costo y plazo de entrega. Crucial para el cronograma y la toma de decisiones de adquisiciones.production_calendar: Tareas de producción, niveles de prioridad y retrasos aceptables. Se usa para identificar el periodo de mantenimiento menos disruptivo.checkpointsycheckpoints_writes: Captura el estado del agente y los registros de las llamadas a herramientas y salidas.
Para ver un ejemplo de un documento de muestra en la colección de telemetry, consulta el siguiente bloque de código:
{ "ts": { "$date": "2025-08-25T08:53:06.052Z" }, "metadata": { "factory_id": "qro_fact_1", "machine_id": 1, "prod_line_id": 1 }, "_id": { "$oid": "68ac24720d4c459561c42a4e" }, "vibration": 0.209, "temperature": 70.69 }
El documento de la serie de tiempo incluye los siguientes campos:
tscontiene la marca de tiempo de la lectura.metadataincorpora etiquetas contextuales para la fábrica, la máquina y la línea de producción.vibrationytemperatureconstan de valores numéricos de sensores.
Compilar la solución
Para ver la implementación completa de la demostración para esta solución, consulta su repositorio de GitHub. Sigue el repositorio README, que cubre los siguientes pasos en mayor detalle.
Configura e instala los requisitos previos
Instala Node.js 18o superior, configura un clúster de MongoDB Atlas y establece el acceso a Amazon Bedrock.
Clone el repositorio e instale sus dependencias:
git clone git@github.com:mongodb-industry-solutions/multiagent-predictive-maintenance.git cd multiagent-predictive-maintenance npm install
Copie las variables de entorno con el siguiente comando:
cp .env.example .env
A continuación, actualiza los valores con tus credenciales.
Personaliza y amplía
Agregar el contenido propio, como manuales o entrevistas, en MongoDB y después generar embeddings:
npm run embed
Ajusta el calendario de producción con el siguiente código:
npm run generate_calendar <months>
Puedes agregar nuevos agentes a la solución duplicando una carpeta del directorio agents, configurando los archivos tools.js y graph.js en la carpeta, y luego registrando el agente en agents/config.js.
Lecciones clave
Aprovechar la IA agente: Los sistemas multiagente pueden supervisar, razonar y ejecutar tareas de forma autónoma, optimizando los flujos de trabajo y aumentando la eficiencia.
Construya una base de datos moderna: Una infraestructura de datos de alto rendimiento, baja latencia y escalable es esencial para operar eficazmente agentes de IA a escala.
Integra IoT e IA sin inconvenientes: MongoDB Atlas proporciona una capa unificada de datos para telemetría, incrustaciones vectoriales, recuperación y memoria de agentes. Esto permite flujos de trabajo agente confiables, seguros y flexibles en entornos industriales.
Actúa rápidamente sobre las predicciones: convierte perspectivas en acción automatizada para impulsar la excelencia operativa.
Autores
Humza Akthar, MongoDB
Raphael Schor, MongoDB
Rami Pinto, MongoDB
Obtén más información
Para explorar conceptos de IA multiagente en el mantenimiento predictivo, lee el blog Desbloquea la IA multiagente para el mantenimiento predictivo.
Para descubrir cómo funciona la solución, vea este vídeo de YouTube.
Para configurar esta demo, visita el repositorio de GitHub.
Para aprender cómo MongoDB apoya las aplicaciones de fabricación y automotrices, visita MongoDB para Fabricación y Movilidad.
Para descubrir cómo crear aplicaciones potenciadas por IA con MongoDB, visita MongoDB para IA.