Utiliza MongoDB e Agentic IA para predecir fallos en equipos y automatizar respuestas.
caso 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
emparejar: 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:
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 en 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 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:
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.
Apoye a RAG para el razonamiento consciente del contexto.
Escala de forma confiable para gestionar grandes volúmenes de datos en 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 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 fallos
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 ó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 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 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 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 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, 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 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 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 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 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 multiagente se basa en una amplia gama de datos, entre los que se incluyen:
Lecturas de sensores de alta frecuencia
Memoria de agente
Manuales técnicos
Notas de la entrevista humana
Horarios 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_ordersRedactado por el agente de órdenes 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.
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
A continuación, actualiza los valores con tus credenciales.
Personaliza y amplía
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>
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.