使用MongoDB和 Agentic AI预测设备故障并自动响应。
行业: 制造和移动性
产品: MongoDB Atlas 、 MongoDB Atlas Vector Search 、 MongoDB时间序列集合 、 MongoDB Node.js驱动程序
合作伙伴: Amazon Bedrock 、 Amazon Web Services 、 LangChain 、 Vercel
解决方案概述
从制造和汽车行业到能源和公用事业,计划外停机是组织可能面临的最昂贵的中断之一。虽然预测性维护可以帮助团队预测故障,但设备正变得越来越复杂,供应链越来越脆弱,熟练的劳动力也越来越难找到。因此,组织需要既能预测又能自主行动的系统。
使用AI支持的代理的多代理系统会利用 LLM、工具和代理内存来预测故障并采取相应行动。通过自动执行重复性决策, AI助手启用技术人员能够专注于解决问题,同时降低成本并提高效率。
图 1。预测性维护有助于实现卓越运营
这些优势应用于多个行业,例如:
制造和汽车:助手可以检测设备异常,触发检查并自动重新安排生产任务。
运输和物流:车队运营商可以使用代理监控车辆健康状况、预测组件故障并安排维护以尽量减少停机时间。
能源和公用事业:助手可以分析来自电网或涡轮机的实时遥测数据,并在检测到问题时自动调度维修人员。
航空航天:助手可以跨复杂系统协调诊断,确保在执行维护操作时尽量减少中断。
该解决方案侧重于制造车间。但是,您可以在不同场景中应用相同的架构和原则。
为了构建此解决方案,多智能体系统依赖于对数据的及时和上下文访问权限,这使智能体能够有效地进行推理、学习;了解和行动。传统的 IT 和 OT 系统并未考虑到这种扩展和灵活性。
MongoDB Atlas是一种通用数据库,为向量、图表和时间序列数据提供原生支持。在代理AI的工业应用中, Atlas可以:
实时摄取各种物联网(IoT)遥测和传感器输入。
将短期和长期代理内存存储在一个统一的数据层中。
支持 RAG 进行上下文感知推理。
可靠地扩展,以延迟处理大量流媒体数据。
通过连接工业物物联网(IoT)和代理AI, MongoDB Atlas使您能够从监控和预测转向智能和自动化的动作。
参考架构
此解决方案演示了如何使用MongoDB Atlas、LangGraph 和Amazon Bedrock构建多代理预测性维护系统。这些技术共同简化了异常检测、根本原因分析、工单创建和维护计划等复杂流程。
从宏观层面来看:
MongoDB Atlas作为统一数据层,对遥测数据、代理内存、向量嵌入和其他操作数据进行存储和索引。它还为代理提供了必要的检索工具。
LangGraph 支持跨代理进行基于图表的协调。
Amazon Bedrock 提供的 LLM 允许代理进行推理、分析和生成输出。
该架构遵循主管-代理模型。主管协调工作流程并将任务委托给这些专门的代理:
故障代理:执行根本原因分析并生成事件报告。
工单代理:起草包含要求、技能和材料的维护工单。
规划代理:根据生产和资源限制确定最佳维护时段。
图 2。多智能体预测性维护系统的高级架构
此架构中的每个代理都使用工具、内存和状态图表。这些组件共同启用智能体以协调的方式进行推理、回忆和行动。
代理工具
工具是特定于领域的功能,允许代理与外部系统交互。它们可以调用数据库查询、执行语义搜索或写入结构化输出写回MongoDB。
以下代码显示了如何使用MongoDB Node.js驾驶员为故障代理注册工具。在此示例中,该工具使用 Vector Search 从机器手册中检索相关部分。
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, ]; }
每个代理都有自己的工具包,如下列表所示:
故障代理
retrieveManual
:搜索手册以了解故障排除步骤。retrieveWorkOrders
:查找过去类似的修复。retrieveInterviews
:查找操作符或技术人员关于过去事件后分析的注释。generateIncidentReport
:创建事件报告并将其存储在MongoDB中。
工单代理
retrieveWorkOrders
:参考过去的工单以指导。generateWorkOrder
:草拟包含预计工期、所需技能和材料的新订单。
规划代理
checkInventoryAvailability
:验证所需零件是否有股票。checkStaffAvailability
:寻找具有适当技能的技术人员。scheduleWorkOrder
:将任务登记到生产日历中。
您还可以扩展此工具集。示例,您可以添加新功能以反映独特的业务流程或特定行业的需求。
代理记忆
为了使代理有效工作,它们需要自己的内存 来存储上下文和推理步骤。这使他们能够:
保持任务的连续性。
回想之前的步骤。
在交互中构建上下文。
在此架构中, MongoDB Atlas存储内存。内存可以是:
短期记忆:当代理在状态图表中移动时,存储中间状态。这确保了如果进程中断,它可以在不丢失进度的情况下恢复。在此解决方案中,有两个集合存储此类内存:
checkpoints
:捕获代理在每个步骤的一般状态。checkpoints_writes
:记录工具调用和输出。
长期记忆: MongoDB存储的历史数据可为当前决策提供依据。助手通过向量搜索检索这些数据,确保历史背景驱动推理。集合包括:
interviews
:技术人员的事后访谈和笔记。workorders
:历史工单记录。incident_reports
:之前的事件摘要和调查结果。
要配置短期记忆,可以使用 MongoDBSaver
LangGraph 中的 类,它将代理进度写入checkpoints
和checkpoints_writes
集合,如下所示:
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" });
此设置可为代理启用内存和容错功能。
代理状态图
状态图表是用于将工作流建模为节点和边的框架。每个节点代表一个推理步骤、工具调用或检查点。边定义了这些步骤之间的转换。状态图使工作流程变得明确、可重复且具有弹性。
在此解决方案中,LangGraph 支持状态图表以协调代理及其工具。节点代表专门的代理或主管决策,而边则定义其执行顺序。
此架构可确保:
助手可以根据结果进行分支。示例,缺失部件与可用部件。
每个步骤都会自动写入和读取内存。
主管代理协调专门的代理来协作解决任务。
以下代码构建了一个状态图表,将监控程序、专门代理和上一个代码示例中用于短期记忆的 checkpointer
连接起来。
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 });
通过此图表设置,您可以跟踪、恢复和调试整个多代理工作流程。
端到端工作流
总而言之,代理的协作方式如下:
主管代理接收警报,通过状态图表记录该警报,并将其传递给故障代理。
故障助手使用工具来查询手册、工单和面谈,引用长期记忆来获取上下文。然后,它会生成事件报告。
工单代理起草一份包含所需材料、技能和预计工期的新工单。它使用内存来应用输出的正确要求和工具。
检查点会在执行前验证订单。
规划代理使用自己的工具集和内存来检查零件可用性、人员安排和日历冲突。然后,它会安排作业。
当所有代理都完成其任务后,主管代理会更新状态图表以追踪工作流完成情况。
您可以使用新代理扩展和自定义此工作流程,例如:
自动下零件订单的采购代理。
准备监管报告的合规代理。
用于平衡技术人员工作负载的轮班优化代理。
由于工具、内存和图表编排都是模块化的,因此您可以在不中断现有代理的情况下添加新代理。
数据模型方法
多智能体预测性维护系统依赖于范围的数据,包括:
高频传感器读数
代理内存
技术手册
真人采访笔记
员工时间表
库存记录
MongoDB 灵活的文档模型使得在单个解决方案中操作这些数据变得容易。在MongoDB Atlas中,您可以存储:
用于毫秒粒度遥测的时间序列数据。
用于跨手册和工单进行语义搜索的向量嵌入。
用于统一上下文的元数据,例如工厂ID、机器ID或生产线。
计划、日历和库存的操作数据。
主要集合
此解决方案使用以下集合来存储不同的数据:
telemetry
:来自车间的机器传感器读数,存储为时间序列集合,以便高效摄取、压缩和查询。时间序列集合可以高效地存储和查询数百万个读数。它们还保留上下文元元数据,如机器、工厂或生产线标识符。alerts
:触发工作流并通知主管代理的预测问题或异常。incident_reports
:故障代理生成的根本原因分析结果。结果汇总了来自遥测、手册和访谈的上下文。work_orders
:由工单代理起草。包括任务描述、预计持续时间、所需技能和材料。manuals
:使用向量嵌入存储的机器手册,供代理进行语义检索。interviews
:事件后的记录以及与员工的对话,提供了非结构化但有价值的背景信息。maintenance_staff
:规划助手使用的人员名册、轮班安排和技能专长。inventory
:备件可用性、费用和交付周期。对于调度和采购决策至关重要。production_calendar
:生产任务、优先级级和可接受的延迟。用于确定中断最少的维护窗口。checkpoints
和checkpoints_writes
:捕获代理的状态以及工具调用和输出的日志。
有关 telemetry
集合中示例文档的示例,请参阅以下代码区块:
{ "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 }
时间序列文档包括以下字段:
ts
包含读数的时间戳。metadata
包含工厂、机器和生产线的上下文标签。vibration
和temperature
由数字传感器值组成。
构建解决方案
要查看此解决方案的完整演示实施,请参阅其 GitHub存储库。按照存储库的 README
进行操作,其中更详细地介绍了以下步骤。
关键要点
利用代理AI:多代理系统可以自主监控、推理和执行任务,从而简化工作流程并提高效率。
构建现代数据基础:高性能、低延迟且可扩展的数据基础架构对于扩展有效运行AI助手至关重要。
无缝集成物联网(IoT)和AI: MongoDB Atlas为遥测、向量嵌入、代理内存和检索提供统一的数据层。这样可以在工业环境中实现可靠、安全和灵活的代理工作流程。
快速根据预测采取行动:将见解转化为自动化动作,推动卓越运营。
作者
Humza Akthar, MongoDB
Raphael Schor,MongoDB
Rami Pinto,MongoDB
了解详情
要了解该解决方案的工作原理,请观看此 YouTube 视频。
要设立此演示,请访问 GitHub存储库。
要学习;了解MongoDB如何支持制造和汽车应用程序,请访问MongoDB for Manufacturing & Mobility。
要了解如何使用MongoDB构建由AI驱动的应用程序,请访问MongoDB for AI。