公司动态
告别“微信群催问”:用 Spring AI 2.0 构建工单超期巡检与回执闭环
“那个单怎么样了”在传统的制造工厂里这句话往往是老板或生产副总在微信群里的日常催促。车间主任收到消息后只能放下手头的工作跑去现场翻看报工记录然后再回微信回复。更糟糕的是很多超期工单往往要等到月底统计才能看见或者直到客户催问了才暴露问题。这种被动、滞后且依赖人力的管理模式不仅效率低下还极易导致交付失控。那么如何用 AI Agent 把“事后救火”变成“事前预警”与“自动闭环”今天我们以“工单超期巡检到责任人回执”这一典型场景为例探讨如何基于Spring AI 2.0 的技术体系在 Java 生态中落地一套生产车间的智能巡检方案。一、 痛点复盘传统车间管理的“三宗罪”在引入 Agent 之前工厂在工单巡检上通常面临以下困境信息滞后超期工单要么月底统计才看见要么客户催了才知道。沟通断层进度靠问、报工靠翻、回复靠口头毫无数字化留痕。责任不清工单超期后缺乏明确的责任人回执与承诺机制导致问题一拖再拖。二、 唤醒机制每天 07:30 的自动巡检Spring AI 2.0 提供了强大的ChatClient编排能力与 Spring Boot 原生的调度机制。我们可以轻松设定唤醒规则每天 07:30 定时巡检超期 3 天以上的工单实时追加。以下是基于 Spring AI 2.0 的核心代码实现思路Service public class ProductionPatrolJob { private final ChatClient patrolAgent; private final ErpMesClient erpMesClient; // 对接企业 MES/ERP 系统 private final PendingActionRepository pendingRepo; public ProductionPatrolJob(ChatClient.Builder clientBuilder, ErpMesClient erpMesClient, PendingActionRepository pendingRepo) { // 定义 Agent 的角色与规则 this.patrolAgent clientBuilder .defaultSystem( 你是一位专业的生产巡检Agent。 1. 扫描在制工单识别超期3天以上的工单。 2. 生成生产巡检日报含超期明细、影响交期。 3. 列出责任人回执待办清单。 4. 严禁自动升级或私自改动工单状态必须等待人审确认。 ) .build(); this.erpMesClient erpMesClient; this.pendingRepo pendingRepo; } Scheduled(cron 0 30 7 * * ?) public void dailyPatrol() { // 1. 取数通过 MCP Client 或直接调用 ERP/MES 工具获取在制工单 var workOrders erpMesClient.fetchInProgressWorkOrders(); // 2. Agent 判定与拟稿 String report patrolAgent.prompt() .user(u - u.text(请生成今日生产巡检日报与回执要求{workOrders}) .param(workOrders, workOrders)) .advisors(new StructuredOutputValidationAdvisor(PatrolReport.class)) // 强制结构化输出 .call() .content(); // 3. 落库将生成的日报与回执待办存入系统状态为“待审” pendingRepo.savePatrolReport(report); } }运行效果Agent 会自动输出当天的生产巡检日报例如在制工单 214 张参与判定 191 张超期 6 张如 W0-26-1187 机加一超 4 天影响 S0-26-0733 交期并直接在钉钉或企业微信中生成“回执待办 9 条”精准推送给赵主任、孙工、周主任等责任人。三、 核心机制Spring AI 2.0 驱动的“人审闸门”制造业场景讲究权责分明。停线、加班、改排产这些处置动作全部必须由管理者决定Agent 绝不能越俎代庖。在 Spring AI 2.0 中我们可以通过自定义ToolCallingAdvisor或AroundAdvisor来实现严谨的“人审闸门”Component public class HumanInTheLoopAdvisor implements AroundAdvisor { Override public AdvisedResponse adviseCall(AdvisedRequest request, CallDependencies deps) { // 拦截 Agent 试图执行“升级工单”或“发送催办”的工具调用 var toolCalls request.toolCalls(); for (var tc : toolCalls) { if (escalateWorkOrder.equals(tc.name()) || sendUrgentNotification.equals(tc.name())) { // 不执行真实工具改回灌一条“等待生产副总确认”的系统消息 return AdvisedResponse.from(request) .withAugmentedResponse( 检测到高风险处置动作[%s]已挂起。 生成草稿并存档等待生产副总确认是否升级、抄送总经理或列为今日跟办项。 .formatted(tc.name())); } } return deps.nextCall(request); } }业务闭环Agent 会生成明确的待确认项把 2 条未回执工单升级抄送总经理。把总装二车间报工未上传列为今日跟办项指向车间信息员。巡检日报发生产日报群。管理者点击“确认执行”流程才真正推进若“不批准”则日报只留档不发群未回执项转入次日继续标记。四、 跑完一趟系统留下了什么Agent 跑完一次巡检不仅是发了几条消息更是在系统中沉淀了宝贵的管理资产 每天一份可回溯的生产巡检日报数据真实、时间戳清晰。 每条超期工单的责任人回执与承诺日期责任到人有据可查。 未回执名单与升级记录形成管理闭环杜绝扯皮。同时Agent 具备极强的边界感❌ 不代替管理者做处置。❌ 报工缺失时标“数据未更新”而不是为了好看假装显示 100% 达成。五、 结语用 Java 原生架构驾驭制造业 Agent通过 Spring AI 2.0 的ChatClient编排、Tool/ MCP 工具接入、StructuredOutput结构化输出以及Advisor链的人机协同拦截Java 团队完全可以在不引入 Python 框架的情况下构建出生产级的制造业 Agent。从“老板在群里问进度”到“Agent 自动巡检 责任人自动回执”我们改变的不仅是工具更是整个车间的管理范式。注本文画面及数据为演示环境与合成数据Spring AI 2.0 需适配 Spring Boot 3.x/4.x 环境落地时需结合企业实际的 ERP/MES 接口进行 MCP 或自定义 Tool 封装。