告别“微信群催问”:用 Spring AI 2.0 构建工单超期巡检与回执闭环
2026/8/29 6:30:53 网站建设 项目流程

“那个单怎么样了?”

在传统的制造工厂里,这句话往往是老板或生产副总在微信群里的日常催促。车间主任收到消息后,只能放下手头的工作,跑去现场翻看报工记录,然后再回微信回复。更糟糕的是,很多超期工单往往要等到月底统计才能看见,或者直到客户催问了才暴露问题。

这种被动、滞后且依赖人力的管理模式,不仅效率低下,还极易导致交付失控。那么,如何用 AI Agent 把“事后救火”变成“事前预警”与“自动闭环”?

今天,我们以“工单超期巡检到责任人回执”这一典型场景为例,探讨如何基于Spring AI 2.0​ 的技术体系,在 Java 生态中落地一套生产车间的智能巡检方案。


一、 痛点复盘:传统车间管理的“三宗罪”

在引入 Agent 之前,工厂在工单巡检上通常面临以下困境:

  1. 信息滞后:超期工单要么月底统计才看见,要么客户催了才知道。
  2. 沟通断层:进度靠问、报工靠翻、回复靠口头,毫无数字化留痕。
  3. 责任不清:工单超期后,缺乏明确的责任人回执与承诺机制,导致问题一拖再拖。

二、 唤醒机制:每天 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 中,我们可以通过自定义ToolCallingAdvisorAroundAdvisor来实现严谨的“人审闸门”:

@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 封装。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询