首页
学习
活动
专区
圈层
工具
发布
社区首页 >专栏 >从 4小时到 100 秒:一名 NPI 工程师用 Agent 重构量测报告流程

从 4小时到 100 秒:一名 NPI 工程师用 Agent 重构量测报告流程

原创
作者头像
七条猫
发布2026-08-29 15:24:34
发布2026-08-29 15:24:34
00
举报

一、我的工作:新产品导入里的"数据关卡"

我所在的部门负责新产品导入(NPI)。一款产品从试产到量产,中间会经历多轮巡检、首件检验——每次都会产生一份量测报告:几十到几百个尺寸点位,每个点位都要评估它的过程能力(CPK/PPK),判断是否在公差范围内稳定受控。

这些数据来自公司的 QMS 系统,导出来是一份 Excel:前 10 列是产品信息(机种、品名、料号、制程、机台号……),第 2~4 行是标准值与上下公差,第 5 行起是密密麻麻的量测值。我手上的典型样本是 200 多个量测点位、44 个尺寸组、210 列

然后我要做三件事:

  1. 在 JMP 里逐个点位拉过程能力分析图(正态分布图),把公差线带上;
  2. 统计哪些尺寸的 CPK 不达标(<1.33 要预警,<1.0 要开改善单);
  3. 把这些图和数据拼成一份 PPT 报告,发给项目和客户。

这三步,手工做一次要 2~3 小时,而且很容易出错——漏掉某个尺寸、公差线带错、图表贴错页。更痛苦的是,它每周、每次试产都要重来一遍。

二、转机:把"流程"交给 Agent

我开始尝试用 Agent(AI 助手)来解决这件事。但一开始我很快就撞了墙——如果我只是跟它说"帮我做一份量测报告",它要么胡乱猜文件结构,要么写出一堆跑不通的代码,要么直接卡在数据量大到处理不了。

真正让事情发生变化的,是我换了个思路:不让它"临场发挥",而是和它一起把整套流程固化下来,沉淀成一个可复用的"技能"(Skill)

这个技能叫 excel-flow-matching,核心设计是三件事:

① 流程匹配引擎,而不是硬编码。 技能启动第一步不是直接处理数据,而是先"看"文件:识别表头行、关键词列、规格行位置、量测列从哪一列开始,再结合用户的需求描述,用结构相似度 + 语义相似度(TF-IDF)算出 Top5 候选流程。目前内置 6 个流程,覆盖 QMS/MES 两种数据格式、图片与 PPT 两种输出。

② 流程必须由人确认,禁止自动跑。 匹配出结果后必须弹窗让用户选。这不是形式主义——当文件结构完全匹配时,5 个流程的匹配度都会显示 100%,此时只有用户自己知道要的是"只要图片"还是"完整报告"、"混搭风格"还是"全箱线图"。

③ 步骤由代码按配置顺序执行,模型只做"传话筒"。 一旦流程选定,后续每一步都在 YAML 里定义好:读取 → 清洗异常值 → 删空行 → 计算规格限 → 生成中间 Excel → 调用 JMP → 统计 → 生成 PPT。由执行器按顺序调函数,模型不得跳过、替换或自己写代码处理数据

三、打通最后一公里:JMP 自动化 + PPT 自动装配

技能最难、也最有价值的部分,是把 JMP 和 PPT 串进自动化链路。

JMP 侧:我们把分析脚本写成 JSL 模板,技能自动替换其中的路径占位符,然后以子进程方式调用 JMP 执行——一次跑完 200+ 张正态分布图44 张箱线图,公差线、轴范围全部自动带入。这里踩过坑:JMP 装在非默认路径(D:\APP\jmp\jmp.exe),必须在配置里显式指定;数据量大时执行超时,把超时从 120 秒提到 600 秒才稳。

PPT 侧:用 python-pptx 自动填充模板——首页 CPK 统计表 + 三色饼图(≥1.33 / 1.01.33 / <1.0),第二页低 CPK 尺寸明细表(3 位小数,<1.0 红底、1.01.33 黄底),后面每个不达标尺寸一页 FACA 详情页并自动插图。表格行数不够时用 lxml 动态补行,一页最多 20 行自动分页。

一次典型的执行:200 个量测点 → 44 个尺寸组 → 18 页 PPT(1 汇总 + 1 明细 + 16 个 FACA 页),约 100 秒。相比手工 2~3 小时,效率提升 60~90 倍,而且不会漏尺寸、不会贴错图。

四、三种报告风格:一个参数解决的"众口难调"

报告做出来后,内部很快有了新需求:有人希望多点位尺寸看箱线图(能看出各点位分布差异),有人却觉得单点位也该统一成箱线图,还有人坚持"我就要看正态分布图,多一点位就把所有点位图都贴上去"。

于是我们把插图逻辑抽象成一个参数 chart_mode,一份代码支持三种风格: 1. 单点位→正态分布图,多点位→箱线图(标准版) 2.所有尺寸(含单点位)→箱线图所有尺寸→正态分布图; 3.多点位全部点位图都插入(≤6 点纵向堆叠,>6 点自动三列网格)

新增两个流程几乎没写新代码——只新建了两个 YAML 配置,把最后一步的参数改一下。这也验证了模块化设计的价值。

五、踩过的坑:一次"17 页 0 插图"的事故

自动化跑通后有一次翻车:我调整了 JSL 里图片的保存命名(加了中文后缀),但忘了同步 PPT 里查找图片的代码。结果生成的报告 17 张 FACA 页,一张图都没有,从外面看流程"成功完成",问题只有打开 PPT 才发现。

这件事让我立了个规矩:每次改动后必须做全量验证。我们写了一个校验脚本,逐页提取图片、用哈希比对判断插的是正态图还是箱线图、数量对不对、位置对不对。最近一次完整验证是 3 种风格 × 16 页 = 48 页,全部通过、0 缺失 0 错配。

六、现实考验:内网、27B 模型、离线环境

技能在外网(WorkBuddy + 云端大模型)跑得很顺,但要推广到同事那里,遇到了更硬的约束:

  • 同事在很多工序只能在公司保密区工作,电脑只连内网;
  • 本地部署的大模型只有 27B,比云端模型弱一大截;
  • 内网 无法在线安装插件、无法调用外部 API,依赖只能打包成离线 wheel 分发;
  • 内网的 Agent 工具是开源的 OpenClaw,和 WorkBuddy 的技能机制不兼容。

弱模型暴露出的问题很具体:长指令丢上下文、跳过"执行前必须弹窗"、把匹配度算错、遇到复杂分支(比如 MES 双文件公差识别)就乱猜。

应对办法是把"需要模型动脑"的环节全部搬进程序

  1. 加命令行接口 --match-only,直接输出结构化 JSON(含精确匹配度),弹窗文案要求原样复制 JSON,禁止模型自己算分;
  2. 主文档瘦身到只剩核心协议,复杂细节拆到 references/ 子文档按需读取;
  3. 新增 check_env.py 一键诊断(venv、依赖、JMP 路径、模板、流程配置全项检查),报错先跑诊断,不让模型乱试;
  4. 文档顶部写死 5 条"铁律":禁止自写代码处理数据、弹窗 label 必须照抄、未确认不执行等;
  5. 依赖打成离线 wheel 包随技能分发(注意:编译型 wheel 是 cp313,同事的 Python 必须是 3.13)。

一句话总结:让模型从"执行者"降级为"传话筒",用工程手段兜住模型能力的下限。

七、收获与展望

回头看,这个技能带来的不只是"省时间":

  • 时间:单份报告 2~3 小时 → 100 秒,且可复现、可审计;
  • 质量:流程固化后不会漏尺寸、错公差、贴错图;
  • 复用:同事装好依赖就能用,不再依赖个人经验;
  • 方法论:我摸清了一套"Agent 技能工程"的做法——流程匹配做入口、配置驱动做步骤、程序兜底做保障、结构化输出降低对模型的要求。

如果只能给 Agent 产品提一个改进建议,我会希望有"模型无关的确定性执行层":技能能声明哪些步骤必须由程序强制完成,让同一份技能在 27B 本地模型和云端大模型上表现一致;同时原生支持离线/内网场景(插件与依赖可整体打包离线安装、核心流程不依赖在线 API),并推动跨平台的技能打包标准,让外网开发的技能能一键迁移到内网的开源 Agent 上。

对制造业同行,我的建议是:不要期待 AI 一次就能替你干完整件事,但如果你愿意花时间把自己的工作流程拆清楚、写成配置、配上验证,它能给你带来的复利远超预期。真正值钱的不是模型有多聪明,而是你把多少"自己的 know-how"沉淀进了它。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

目录
  • 一、我的工作:新产品导入里的"数据关卡"
  • 二、转机:把"流程"交给 Agent
  • 三、打通最后一公里:JMP 自动化 + PPT 自动装配
  • 四、三种报告风格:一个参数解决的"众口难调"
  • 五、踩过的坑:一次"17 页 0 插图"的事故
  • 六、现实考验:内网、27B 模型、离线环境
  • 七、收获与展望
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档