
我所在的部门负责新产品导入(NPI)。一款产品从试产到量产,中间会经历多轮巡检、首件检验——每次都会产生一份量测报告:几十到几百个尺寸点位,每个点位都要评估它的过程能力(CPK/PPK),判断是否在公差范围内稳定受控。
这些数据来自公司的 QMS 系统,导出来是一份 Excel:前 10 列是产品信息(机种、品名、料号、制程、机台号……),第 2~4 行是标准值与上下公差,第 5 行起是密密麻麻的量测值。我手上的典型样本是 200 多个量测点位、44 个尺寸组、210 列。
然后我要做三件事:
这三步,手工做一次要 2~3 小时,而且很容易出错——漏掉某个尺寸、公差线带错、图表贴错页。更痛苦的是,它每周、每次试产都要重来一遍。

我开始尝试用 Agent(AI 助手)来解决这件事。但一开始我很快就撞了墙——如果我只是跟它说"帮我做一份量测报告",它要么胡乱猜文件结构,要么写出一堆跑不通的代码,要么直接卡在数据量大到处理不了。
真正让事情发生变化的,是我换了个思路:不让它"临场发挥",而是和它一起把整套流程固化下来,沉淀成一个可复用的"技能"(Skill)。
这个技能叫 excel-flow-matching,核心设计是三件事:
① 流程匹配引擎,而不是硬编码。 技能启动第一步不是直接处理数据,而是先"看"文件:识别表头行、关键词列、规格行位置、量测列从哪一列开始,再结合用户的需求描述,用结构相似度 + 语义相似度(TF-IDF)算出 Top5 候选流程。目前内置 6 个流程,覆盖 QMS/MES 两种数据格式、图片与 PPT 两种输出。
② 流程必须由人确认,禁止自动跑。 匹配出结果后必须弹窗让用户选。这不是形式主义——当文件结构完全匹配时,5 个流程的匹配度都会显示 100%,此时只有用户自己知道要的是"只要图片"还是"完整报告"、"混搭风格"还是"全箱线图"。
③ 步骤由代码按配置顺序执行,模型只做"传话筒"。 一旦流程选定,后续每一步都在 YAML 里定义好:读取 → 清洗异常值 → 删空行 → 计算规格限 → 生成中间 Excel → 调用 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 配置,把最后一步的参数改一下。这也验证了模块化设计的价值。
自动化跑通后有一次翻车:我调整了 JSL 里图片的保存命名(加了中文后缀),但忘了同步 PPT 里查找图片的代码。结果生成的报告 17 张 FACA 页,一张图都没有,从外面看流程"成功完成",问题只有打开 PPT 才发现。
这件事让我立了个规矩:每次改动后必须做全量验证。我们写了一个校验脚本,逐页提取图片、用哈希比对判断插的是正态图还是箱线图、数量对不对、位置对不对。最近一次完整验证是 3 种风格 × 16 页 = 48 页,全部通过、0 缺失 0 错配。
技能在外网(WorkBuddy + 云端大模型)跑得很顺,但要推广到同事那里,遇到了更硬的约束:
弱模型暴露出的问题很具体:长指令丢上下文、跳过"执行前必须弹窗"、把匹配度算错、遇到复杂分支(比如 MES 双文件公差识别)就乱猜。
应对办法是把"需要模型动脑"的环节全部搬进程序:
--match-only,直接输出结构化 JSON(含精确匹配度),弹窗文案要求原样复制 JSON,禁止模型自己算分;references/ 子文档按需读取;check_env.py 一键诊断(venv、依赖、JMP 路径、模板、流程配置全项检查),报错先跑诊断,不让模型乱试;一句话总结:让模型从"执行者"降级为"传话筒",用工程手段兜住模型能力的下限。

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

如果只能给 Agent 产品提一个改进建议,我会希望有"模型无关的确定性执行层":技能能声明哪些步骤必须由程序强制完成,让同一份技能在 27B 本地模型和云端大模型上表现一致;同时原生支持离线/内网场景(插件与依赖可整体打包离线安装、核心流程不依赖在线 API),并推动跨平台的技能打包标准,让外网开发的技能能一键迁移到内网的开源 Agent 上。
对制造业同行,我的建议是:不要期待 AI 一次就能替你干完整件事,但如果你愿意花时间把自己的工作流程拆清楚、写成配置、配上验证,它能给你带来的复利远超预期。真正值钱的不是模型有多聪明,而是你把多少"自己的 know-how"沉淀进了它。
原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。
如有侵权,请联系 cloudcommunity@tencent.com 删除。