Utilice MongoDB y Agentic AI para predecir fallas de equipos y automatizar respuestas.
Casos de uso: Inteligencia artificial, Internet de las cosas
Industrias: Fabricación y movilidad
Productos: MongoDB Atlas, Búsqueda vectorial deMongoDB Atlas, Colecciones de series temporales deMongoDB, Controlador Node.js de MongoDB
Asociados: Amazon Bedrock, Amazon Web Services, LangChain, Vercel
Resumen de la solución
Desde las industrias manufacturera y automotriz hasta la energía y los servicios públicos, las paradas imprevistas son una de las interrupciones más costosas que las organizaciones pueden enfrentar. Si bien el mantenimiento predictivo ayuda a los equipos a anticipar fallas, 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 calificada. Por lo tanto, las organizaciones necesitan sistemas que puedan predecir y actuar de forma autónoma.
Los sistemas multiagente que utilizan agentes impulsados por IA utilizan LLM, herramientas y memoria de agente para predecir fallos y actuar en consecuencia. Al automatizar la toma de decisiones repetitiva, los agentes de IA permiten a los trabajadores cualificados centrarse en la resolución de problemas, a la vez que reducen costes y aumentan la eficiencia.
Figura 1. Beneficios del mantenimiento predictivo para la excelencia operativa.
Estos beneficios se aplican en varias industrias, como:
Fabricación y automoción: los agentes pueden detectar anomalías en los equipos, activar inspecciones y reprogramar automáticamente las tareas de producción.
Transporte y logística: Los operadores de flotas pueden utilizar agentes para monitorear el estado del vehículo, predecir fallas 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 las redes o turbinas y enviar equipos de reparación automáticamente cuando se detectan problemas.
Aeroespacial: Los agentes pueden coordinar diagnósticos en sistemas complejos y garantizar que las acciones de mantenimiento se ejecuten con una interrupción mínima.
Esta solución se centra en una planta de fabricación. Sin embargo, puede aplicar la misma arquitectura y principios en diferentes escenarios.
Para construir esta solución, los sistemas multiagente se basan en el acceso oportuno y contextual a los datos, lo que permite a los agentes razonar, aprender y actuar eficazmente. Los sistemas tradicionales de TI y OT no están diseñados para esta escalabilidad y flexibilidad.
MongoDB Atlas, una base de datos de propósito general, ofrece compatibilidad nativa con datos vectoriales, gráficos y series temporales. En el contexto de aplicaciones industriales para IA con agentes, Atlas permite:
Ingiera diversas entradas de sensores y telemetría de IoT en tiempo real.
Almacene la memoria del agente tanto a corto como a largo plazo en una capa de datos unificada.
Apoye a RAG para el razonamiento consciente del contexto.
Escale de manera confiable para manejar grandes volúmenes de datos de transmisión con baja latencia.
Al unir la IoT industrial y la IA agente, MongoDB Atlas le permite pasar del monitoreo 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 un alto nivel:
MongoDB Atlas funciona como una capa de datos unificada, almacenando e indexando telemetría, memoria de agentes, incrustaciones vectoriales y otros datos operativos. También proporciona las herramientas de recuperación necesarias a los agentes.
LangGraph permite la coordinación basada en gráficos entre agentes.
Amazon Bedrock proporciona 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 análisis de causa raíz y genera informes de incidentes.
Agente de órdenes de trabajo: redacta órdenes de trabajo de mantenimiento con requisitos, habilidades y materiales.
Agente de planificación: identifica el espacio de mantenimiento óptimo en función de las limitaciones de producción y recursos.
Figura 2. Arquitectura de alto nivel de un sistema de mantenimiento predictivo multiagente.
Cada agente de esta arquitectura utiliza herramientas, memoria y un gráfico de estados. Juntos, estos componentes permiten a los agentes razonar, recordar y actuar de forma coordinada.
Herramientas del agente
Las herramientas son funciones específicas del dominio que permiten a los agentes interactuar con sistemas externos. Pueden invocar consultas a bases de datos, realizar búsquedas semánticas o escribir resultados estructurados 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 conjunto de herramientas, como se muestra en la siguiente lista:
Agente de fallos
retrieveManual:Busca manuales con pasos para solucionar problemas.retrieveWorkOrders:Busca reparaciones pasadas similares.retrieveInterviews: Encuentra notas del operador o técnico sobre análisis posteriores a incidentes anteriores.generateIncidentReport:Crea un informe de incidentes y lo almacena en MongoDB.
Agente de órdenes de trabajo
retrieveWorkOrders:Hace referencias de órdenes de trabajo pasadas como orientación.generateWorkOrder:Redacta un nuevo pedido con la duración estimada, las habilidades requeridas y los materiales.
Agente de planificación
checkInventoryAvailability:Verifica si las piezas 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 puede ampliar este conjunto de herramientas. Por ejemplo, puede añadir nuevas funciones para reflejar procesos empresariales únicos o necesidades específicas del sector.
Memoria de agente
Para que los agentes trabajen eficazmente, necesitan su propia memoria. Para almacenar el contexto y los pasos del razonamiento. Esto les permite:
Mantener la continuidad dentro de una tarea.
Recuerde los pasos anteriores.
Construir contexto a través de las interacciones.
En esta arquitectura, MongoDB Atlas almacena memoria. La memoria puede ser:
Memoria a corto plazo: Almacena el estado intermedio a medida que el agente se desplaza por el 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:
checkpoints:Captura el estado general de un agente en cada paso.checkpoints_writes:Registra las llamadas y salidas de la herramienta.
Memoria a largo plazo: MongoDB almacena datos históricos que fundamentan las decisiones actuales. Los agentes recuperan estos datos mediante la búsqueda vectorial, lo que garantiza que el contexto histórico impulse el razonamiento. Las colecciones incluyen:
interviews:Entrevistas y notas del técnico 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, puede utilizar la MongoDBSaver clase de LangGraph, que escribe el progreso del agente en checkpoints las checkpoints_writes colecciones y 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 habilita capacidades de memoria y tolerancia a fallas para sus agentes.
Gráfico de estado del agente
Un grafo de estados es un marco 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. Las aristas definen las transiciones entre estos pasos. Los grafos de estados 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 según los resultados. Por ejemplo, piezas faltantes o disponibles.
Cada paso guarda en la memoria y lee automáticamente de ella.
El Agente Supervisor orquesta agentes especializados para resolver tareas de forma colaborativa.
El código siguiente crea un gráfico de estados que conecta al supervisor, a los agentes especializados y al checkpointer utilizado para la memoria de 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 });
Con esta configuración de gráfico, puede rastrear, reanudar y depurar todo el flujo de trabajo de múltiples agentes.
Flujo de trabajo de extremo a extremo
Para resumir, así es como colaboran los agentes:
El Agente Supervisor recibe una alerta, la registra a través del gráfico de estado y la pasa al Agente de Fallas.
El Agente de Fallas utiliza herramientas para consultar manuales, órdenes de trabajo y entrevistas, consultando la memoria a largo plazo para obtener contexto. Posteriormente, genera un informe de incidentes.
El Agente de Órdenes de Trabajo elabora una nueva orden de trabajo con los materiales, las habilidades y la duración estimada requeridos. Utiliza la memoria para aplicar los requisitos y las herramientas correctos para el resultado.
Un punto de control valida la orden antes de su ejecución.
El Agente de Planificación utiliza sus propias herramientas y memoria para verificar la disponibilidad de piezas, la programación del personal y los conflictos de calendario. Luego, programa el trabajo.
Cuando todos los agentes han completado sus tareas, el Agente Supervisor actualiza el gráfico de estado para rastrear la finalización del flujo de trabajo.
Puede ampliar y personalizar este flujo de trabajo con nuevos agentes, como:
Un agente de compras para realizar pedidos de piezas de forma automática.
Un agente de cumplimiento para preparar informes regulatorios.
Un agente de optimización de turnos para equilibrar las cargas de trabajo de los técnicos.
Debido a que las herramientas, la memoria y la orquestación de gráficos son modulares, puede agregar nuevos agentes sin interrumpir los existentes.
Enfoque del modelo de datos
Un sistema de mantenimiento predictivo multiagente se basa en una amplia gama de datos, entre los que se incluyen:
Lecturas de sensores de alta frecuencia
Memoria del agente
Manuales técnicos
Notas de entrevistas humanas
Horarios del personal
Registros de inventario
El modelo de documentos flexible de MongoDB facilita la operacionalización de estos datos en una única solución. En MongoDB Atlas, puede 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 ID de fábrica, ID de máquina o línea de producción.
Datos operativos para horarios, calendarios e inventario.
Colecciones principales
Esta solución utiliza las siguientes colecciones para almacenar diferentes datos:
telemetryLecturas de sensores de máquinas del taller, almacenadas como una colección de series temporales para una ingesta, compresión y consulta eficientes. Las colecciones de series temporales permiten almacenar y consultar millones de lecturas de forma eficiente. Además, preservan metadatos contextuales, como identificadores de máquinas, fábricas o líneas de producción.alerts:Problemas o anomalías previstos que activan el flujo de trabajo y notifican al Agente Supervisor.incident_reportsResultados del análisis de causa raíz generados por el Agente de Fallas. Los resultados recopilan el contexto de la telemetría, los manuales y las entrevistas.work_ordersRedactado por el agente de órdenes de trabajo. Incluye descripciones de tareas, duración estimada, habilidades requeridas y materiales.manuals:Manuales de máquinas almacenados con incrustaciones vectoriales para recuperación semántica por parte de agentes.interviews:Notas posteriores al incidente y conversaciones con el personal, que proporcionan un contexto no estructurado pero valioso.maintenance_staff:Listas de personal, horarios de turnos y especializaciones de habilidades utilizadas por el agente de planificación.inventoryDisponibilidad, costo y plazo de entrega de repuestos. Es crucial para la planificación y las decisiones de compra.production_calendarTareas de producción, niveles de prioridad y retrasos aceptables. Se utiliza para identificar la ventana de mantenimiento menos disruptiva.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 telemetry, consulte 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 series temporales 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 del sensor.
Construir la solución
Para ver la implementación de demostración completa de esta solución, consulte su repositorio de GitHub. Siga la instrucción del README repositorio, que explica los siguientes pasos con más detalle.
Configurar e instalar los requisitos previos
Instala Node.js 18o superior, configura un clúster de MongoDB Atlas y establece el acceso a Amazon Bedrock.
Clonar el repositorio e instalar 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
Luego, actualice los valores con sus credenciales.
Personalizar y ampliar
Agregue su propio contenido, como manuales o entrevistas, a MongoDB y luego genere incrustaciones:
npm run embed
Ajuste el calendario de producción con el siguiente código:
npm run generate_calendar <months>
Puede 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.
Aprendizajes clave
Aproveche la IA agente: los sistemas multiagente pueden monitorear, razonar y ejecutar tareas de forma autónoma, agilizando 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.
Integre IoT e IA a la perfección: MongoDB Atlas proporciona una capa de datos unificada para telemetría, incrustaciones vectoriales, memoria de agente y recuperación. Esto permite flujos de trabajo de agentes fiables, seguros y flexibles en entornos industriales.
Actúe rápidamente según las predicciones: convierta los conocimientos en acciones automatizadas para impulsar la excelencia operativa.
Autores
Humza Akthar, MongoDB
Rafael 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 demostración, visite el repositorio de GitHub.
Para saber cómo MongoDB respalda las aplicaciones de fabricación y automotrices, visita MongoDB para fabricación y movilidad.
Para descubrir cómo crear aplicaciones impulsadas por IA con MongoDB, visita MongoDB para Inteligencia Artificial.