新版 SPC 分析(AIAG-VDA 第三版 / ISO 22514)
任务目标
- 本 Skill 用于:新版统计过程控制分析——G 法关键指数(Cpk.G/Ppk.G/Pmk.G 按研究类型×稳态×样本量自动切换)、精确分布控制限(w/χ²/二项/泊松分位数)、Nelson 1-8 判异、Anderson-Darling 正态性、ISO 22514-2 时间相关分布模型 A/B/C/D、机器性能放行研究。
- 触发条件:用户请求"新版 SPC 分析、过程能力研究、G 法关键指数、设备放行、ISO 22514 时间模型",或明确要求"按 AIAG-VDA 第三版 / 不要四族指数"。
核心概念(新版 vs 旧版根本差异)
| 维度 | 旧版(AIAG SPC 第二版) | 新版(AIAG-VDA 第三版 / ISO 22514) | |------|------------------------|--------------------------------------| | 能力指数 | Cp/Cpk(within)、Pp/Ppk(overall) | G 法关键指数:1 张关键指数卡 Cpk.G/Ppk.G/Pmk.G 自动切换 + 上下侧分列 + 分位数表 + PPM + 95% CI | | 控制限 | A2/D3/D4 等经验常数(正态近似) | 精确分布:w 分布(R)、χ²(s)、二项(p/np)、泊松(c/u) | | 分布假设 | 默认正态 | 明确区分;分位数与 PPM 自适应(正态→X̄±z·s;非正态→经验) | | 时间维度 | 基本未涉及 | 新增 ISO 22514-2 时间模型 A/B/C/D | | 机器性能 | 无 | 第 7 章 Pm/Pmk(生产设备放行;G 法关键指数名切换为 Pmk.G) | | 计数型 | 3σ 正态近似 | 明确建议避免正态近似,用软件算精确分位数 | | 报告模板 | 自由 | AIAG-VDA SPC 第 11 章 · 22 要素(手册图 11-2 原文) |
能力清单(本技能覆盖)
- 计量值控制图(精确分布限):X̄-R(w 分布)、X̄-s(χ² 分布)、I-MR(n=1);控制限用精确分位数(α=0.0027,即 ±3σ 等价),非传统常数。
- 计数值控制图(精确分位数限):p / np(二项 BINOM.INV)、u / c(泊松 CHISQ.INV);支持变样本量阶梯限;判异规则 1 判精确限越界。
- G 法关键指数:1 张关键指数卡(Cpk.G/Ppk.G/Pmk.G 自动切换)+ 上下侧分列(Cpu.G/Cpl.G)+ 分位数表(x₀.₁₃₅/x₅₀/x₉₉.₈₆₅)+ PPM 分列(仅正态模型)+ 95% CI(仅正态模型)。
- 正态性检验:Anderson-Darling;不拒→用 X̄±z·s 算分位数 / PPM / CI;拒→用经验分位数且不输出 PPM/CI。
- 判异:Nelson 1-8(默认全开,可单独关闭)。
- 时间相关分布模型 A/B/C/D:按位置/变差是否随时间恒定分类,决定散布估计策略。
- 机器性能 Pmk.G:第 7 章设备放行;研究类型选
machine时关键指数名固定为 Pmk.G。 - 稳态语义(v0.6.0 风格):不稳态不是 NA,照样输出关键指数——关键指数名自动切换为 Ppk.G/Pmk.G(性能指数),提示"先消除特殊原因"。
- 报告模板:Form A(正态+稳定)/ Form B(非正态+扩展休哈特)/ Form C(图纸对照)三形态,22 要素对齐手册第 11 章。
操作步骤
步骤1:交互收集协议(强制交互锁)
本技能采用引导式收集:逐项向用户索取真实信息,绝不代写、绝不凭经验默认。按以下锁顺序执行,任一硬锁未满足不得进入分析。
字段三态分类(对齐手册 22 要素)
| 手册要素 | 字段 | 收集态 | 规则 | |---------|------|--------|------| | 1 | 过程名 | 必填 | 哪条产线/工序 | | 2 | 过程 ID | 选填 | 工序编号 | | 3 | 操作员及姓名 | 选填 | 谁测 | | 4 | 研究日期 | 自动带出 | 默认今天,用户可改 | | 5 | 零件名 & ID | 必填(名) | 什么零件 | | 6 | 特性名 & ID | 必填(名) | 测什么尺寸/参数 | | 7&8 | 研究备注 / 已知异常 | 选填 | 换刀/换班/异常说明 | | 9&10 | 样本量与子组 | 自动带出 | 引擎解析后回显 k、n,请用户确认 | | 11–14 | 图表(直方图 / 原始值图 / 概率图 / 控制图) | 自动生成 | 引擎层不做,由报告层渲染 | | 15 | 过程位置估计 X̄ | 自动带出 | 引擎返回 | | 16 | 过程变差估计 X₉₉.₈₆₅ − X₀.₁₃₅ | 自动带出 | 引擎返回(quantiles.span)| | 17 | 分布模型 | 自动带出 | Anderson-Darling 结论 | | 18 | 性能/能力要求(Cpk.G 目标) | 自动带出 | TARGET_TABLE 查表(用户可手动覆盖) | | 19 | 计算得出的关键指数 | 自动带出 | key_name + key_value + 上下侧分列 | | 20 | 结论与建议 | 自动带出 | 引擎层规则生成,最终由用户确认 | | 21 | 时间相关分布模型 | 自动带出 | A/B/C/D 分类 | | 22 | 超出规格限的预估百分比 / 测量不确定度 | 自动带出 | PPM 分列(仅正态模型) | | — | 图纸值 | 条件必填 | 仅 Form C 触发时收 |
额外研究参数(影响关键指数名)
| 参数 | 取值 | 默认 | 说明 | |------|------|------|------| | 研究类型 | machine / initial / production | production | machine→关键指数固定 Pmk.G | | 特性等级 | critical / major / minor / signal | major | 查 TARGET_TABLE 取 Cpk.G 目标值 |
Target 不单独收集:自动
(LSL+USL)/2带出,用户可改。
收集流程(带锁)
- [锁1] 身份三件套:依次问 过程名 / 零件名 / 特性名。缺任一不开分析。
- [锁2] 数据:引导上传/粘贴(计量值矩阵或单列、计数值 1/2 列);调引擎解析 → 回显 k、n、正态性初判、建议 Form,请用户确认。
- [锁3] 规格限:三选一——双侧(LSL+USL)/ 单侧(只给一边)/ 无规格。决定能力块是否 NA。
- [锁4] 研究类型 + 特性等级:决定关键指数名(Pmk.G / Ppk.G / Cpk.G)+ Cpk.G 目标值(查 TARGET_TABLE)。
- [条件锁] 图纸值:仅当建议 Form C 时出现,追问图纸对照值。
- [选填批]:过程 ID、操作员、研究备注、零件 ID、特性 ID、客户/项目号、测量系统描述——一次性列出,允许整体跳过。
防错:每收完一组锁,将已确认信息回显一遍供核对,再进下一步;N%n≠0 立即红条报错并禁用分析;至少需合理子组数(建议 k≥20,机器性能建议 N≥50)。
步骤2:调用计算引擎
- 将用户数据整理为临时 CSV/JSON,调用
scripts/spc_v2_engine.py:python scripts/spc_v2_engine.py --data-file ./temp.csv --usl 100 --lsl 90 \ --study-type production --grade major --format json - 引擎返回 JSON:基础统计量、精确控制限(X̄/R 或 s 或 I-MR,或 p/np/c/u)、Nelson 判异、Anderson-Darling、时间模型、G 法关键指数(key_name/key_value/upper/lower/quantiles/ppm/ci95/target)、稳态判定、Form 选择、DPMO/sigma(计数值)。
- 本技能完全自包含:引擎产出 JSON 后,由智能体按报告模板(22 要素)直接生成结构化报告,不依赖任何外部文件或工具。
步骤3:结果解读与报告生成
- 智能体按引擎输出 + Form 选择 + 研究类型,生成结构化报告(模板见下)。
- 关键指数名自动切换(§6.8.2):
- 研究类型=machine → 关键指数=Pmk.G(设备验收)
- 初期/量产 + 稳态 + N≥100 → 关键指数=Cpk.G(能力指数)
- 初期/量产 + 不稳态 或 N<100 → 关键指数=Ppk.G(性能指数)
- MSA 仅描述性引用:报告中"测量过程"段写一段文字(分辨力/准确度/重复性再现性/不确定度),不现场算 GRR;若用户需要量化,引导使用独立的 MSA 分析工具。
- 能力卡四色:pass(绿)/fail(红)/warn(黄)/na(灰),阈值参照行业(汽车 Cpk≥1.33、PPAP Ppk≥1.67)。
步骤4:异常处理
- N%n≠0:报错,禁分析。
- 数据量不足:提示补充(机器性能建议 N≥50;Cpk.G 输出建议 N≥100)。
- 非正态:分位数用经验法,PPM/95%CI 不输出,走 Form B。
- 单侧规格:仅算对应侧指数;存在自然极限时辅助诊断。
- 无规格:能力块整块 NA(key_value="NA")。
数据格式契约
- 计量值矩阵(推荐):每行一个子组,每列一次测量;首行若为表头(非数值)自动跳过;n = 列数自动识别。
- 计量值单列:按当前 n 顺序切块;N%n≠0 报错。当 n=1(每行一个测量值,无子组内重复)时,必须用
--chart I-MR显式指定单值-移动极差图;若省略--chart,引擎会按"非计数值单列"自动路由到 I-MR(_looks_like_counts拦截,不会误判成 c 图)。I-MR 的 σ̂w 用 MR̄/d2(2),MR 图控制限用 w 分布精确分位数。 - 计数值:单列=缺陷数(n=1→c,否则→u);两列=n,x(→p/np);自动识别。
- 分隔符:逗号 / 制表 / 分号 / 空格自动识别。
- 详例见 assets/data-template.csv。
计算引擎约定
scripts/spc_v2_engine.py为 self-contained 计算核心(numpy + scipy),不调外部服务。- 精确控制限实现见 references/formulas_ref.md(含 w/χ²/二项/泊松分位数方法与页码索引)。
- 完整公式溯源见 references/formulas_ref.md(技能自包含,不依赖外部路径)。
报告模板(22 要素,Form A/B/C 自动判定,对齐 AIAG-VDA SPC 第 11 章手册图 11-2)
与网页版关系:v3.3.0 起 skill 报告模板对齐手册原文 22 要素(修正了 web-tool v0.6.0 的 4 处编号错位:详见注意事项末条)。Form A/B/C 触发规则与 web-tool 一致。
| 要素 | 内容 | 来源 / 字段 | |------|------|-------------| | 1 | 过程名称 | 锁1(用户) | | 2 | 过程 ID | 锁6(用户) | | 3 | 操作员及姓名 | 锁6(用户) | | 4 | 研究日期 | 自动带出(today) | | 5 | 零件名称 & ID | 锁1 + 锁6 | | 6 | 特性名称 & ID | 锁1 + 锁6 | | 7&8 | 研究备注 / 已知异常 | 锁6(用户) | | 9&10 | 样本量与子组(k/n) | 引擎解析回显 | | 11 | 直方图 | 报告层 SVG | | 12 | 原始值图(链图) | 报告层 SVG | | 13 | 概率图 | 报告层 SVG | | 14 | 控制图(X̄-R / X̄-s / I-MR / p/np/c/u) | 引擎 control_limits + 报告层 | | 15 | 过程位置估计 X̄ | 引擎 Xdb | | 16 | 过程变差估计 X₉₉.₈₆₅ − X₀.₁₃₅ | 引擎 quantiles.span | | 17 | 分布模型(正态/非正态) | 引擎 anderson.conclusion | | 18 | 性能/能力要求(Cpk.G 目标) | TARGET_TABLE 查表 | | 19 | 计算得出的关键指数(key_name + key_value + 上/下侧 + 分位数表) | 引擎 capability 整块 | | 20 | 结论与建议 | 引擎层规则 + 用户确认 | | 21 | 时间相关分布模型(A/B/C/D) | 引擎 time_model | | 22 | 超出规格限的预估百分比 / 测量不确定度 | 引擎 ppm.upper / ppm.lower |
计数值简化报告(对齐 web-tool v0.6.0):c/u/p/np 图无能力四族、无 G 法关键指数(Cpk.G/Ppk.G/Pmk.G 仅适用于计量值连续数据);保留要素 1–10、14、18(用 DPMO/Sigma Level 替代)、20–22 的简化子集。
关键指数名自动切换表(§6.8.2)
| 研究类型 | 稳态 | N ≥ 100 | 关键指数名 | |---------|------|---------|-----------| | machine | 任意 | 任意 | Pmk.G(设备放行) | | initial / production | ✓ | ✓ | Cpk.G(能力指数) | | initial / production | ✓ | ✗ | Ppk.G(性能指数,样本不足) | | initial / production | ✗ | 任意 | Ppk.G(性能指数,不稳态) |
样本量阈值:G 法手册建议 k≥20 且 n≥5,即 N≥100。
TARGET_TABLE(研究类型 × 特性等级 → Cpk.G 目标)
| 研究类型 \ 等级 | critical | major | minor | signal | |---------------|---------|-------|-------|--------| | machine | 2.00 | 1.67 | 1.33 | 1.00 | | initial | 1.67 | 1.33 | 1.00 | 1.00 | | production | 1.67 | 1.33 | 1.00 | 1.00 |
依据:AIAG-VDA SPC 第 8 章表 8-1 / 第 9 章表 9-3 行业惯例。
注意事项
- 关键指数名自动切换不可破:用
--study-type machine强制 Pmk.G;用 production/initial + 稳态 + N≥100 给 Cpk.G;其他情况给 Ppk.G。这是手册 §6.8.2 的硬规则。 - MSA 不现场算:仅描述性引用,量化交给独立的 MSA 分析工具。
- Cw/Cwk 仅诊断:不再由本引擎输出(v3.3.0 切 G 法后,Cw/Cwk 已废弃)。
- 计数型避免正态近似:必须用二项/泊松精确分位数;PPM/CI 不输出(G 法仅适用于计量值)。
- 精确 vs 近似:X̄-R 的 R 图用 w 分布精确限;若需与传统 A2/D4 对照,见 references。
- Pmk.G 限制说明:本引擎 Pmk.G 当前与 Ppk.G 同式(第 7 章研究设计要求剔除料/人/法等非机器变差,当前未接入)。需要完整机器性能放行(目标值表、减样本量 χ² 修正、研究设计区分)请用配套 Excel-tool 的 Pm/Pmk 工作表。
- 跨平台:逻辑与计算解耦,扣子/WorkBuddy/SkillHub 通用;依赖仅 numpy/scipy。
- 与 web-tool v0.6.0 编号差异:web-tool 报告模板存在 4 处编号错位(要素11 抬头区叫"技术条件"应叫"要素7&8 研究备注";要素18 出现两次实际应是 18+19 拆分;采集日期标"要素8"应叫"要素4")。skill v3.3.0 已对齐手册原文 22 要素,不复制 web-tool 的 bug。
验收(开发期铁律)
- 引擎须有自测:
tests/test_engine.py用技能内置样本数据(tests 内联,不依赖外部文件)跑端到端,覆盖:① G 法公式 ② w 分布精确限 ③ Nelson 1-8 ④ Anderson-Darling ⑤ 不稳态照样出指数 ⑥ 计数值 c/u/np/p 精确限 ⑦ I-MR ⑧ 单侧/无规格 ⑨ n 边界 ⑩ Form A/B/C 触发 ⑪ 计数值端到端 ⑫ TARGET_TABLE ⑬ PPM/95%CI ⑭ 22 要素字段对齐 ⑮ CLI --study-type/--grade 全链路。 - 不迷信单测:须浏览器/命令行端到端跑通整条链路(数据→引擎→报告)。
使用示例
示例1:量产稳态 X̄-R(G 法 Cpk.G + 上下侧 + PPM)
用户:按新版 AIAG-VDA 帮我分析这组数据,USL=100,LSL=90,25 子组每行 5 个
流程:
1. 解析矩阵(k=25, n=5)
2. python scripts/spc_v2_engine.py --data-file data.csv --usl 100 --lsl 90 \
--study-type production --grade major
3. 输出:w 分布精确 R 限、A2 等价 X̄ 限、G 法关键指数(Cpk.G + upper + lower +
分位数表 + PPM + 95%CI)、Nelson、AD、时间模型 A、Form A
示例2:设备验收 I-MR(G 法 Pmk.G)
用户:新设备验收,50 件连续加工,USL/LSL,按第三版第 7 章算 Pmk.G
流程:
1. 50 件单值按单列录入(n=1)→ 引擎用 --chart I-MR
2. python scripts/spc_v2_engine.py --data-file data.csv --usl 100 --lsl 90 \
--study-type machine --grade critical --chart I-MR
3. 输出 Pmk.G(当前与 Ppk.G 同式;详见"Pmk.G 限制说明")
注意:完整的第 7 章机器性能研究(剔除料/人/法变差、目标值表、减样本量 χ² 修正)
请用配套 Excel-tool 的 Pm/Pmk 工作表;本引擎只输出指数数值,不替代研究设计。
示例3:计数值 p 图(精确限)
用户:20 批每批 50 件的不合格数,画 p 图
流程:引擎识别 2 列 n,x → 二项精确分位数控制限(阶梯,变 n),规则 1 判越界
变更日志
v3.3.0(2026-09-02)· 大重写
动机:外部测试反馈 + web-tool 验证 → 引擎从"四族口径"切到"G 法关键指数口径";报告模板对齐手册第 11 章原文 22 要素(修正 web-tool v0.6.0 的 4 处编号错位)。
引擎层
| 改动 | 旧(v3.2.0) | 新(v3.3.0) | |------|--------------|--------------| | 能力指数体系 | 四族(Cp/Cpk/Pp/Ppk/Pm/Pmk/Cw/Cwk + CpG/CpkG) | G 法关键指数:1 张关键指数卡(Cpk.G/Ppk.G/Pmk.G 自动切换) | | 关键指数名 | 固定 Cpk.G | 按研究类型×稳态×样本量自动切换(Pmk.G/Cpk.G/Ppk.G) | | 不稳态语义 | Cp/Cpk/Pm/Pmk → NA | 关键指数名切换为 Ppk.G(性能指数),照样有数值 | | 上/下侧分列 | 无 | upper(Cpu.G)+ lower(Cpl.G) | | 分位数表 | 仅用于 CpG/CpkG 内部 | 显式输出 x₀.₁₃₅/x₅₀/x₉₉.₈₆₅(正态→X̄±z·s;非正态→经验) | | PPM 分列 | 无 | upper/lower × 10⁶(仅正态模型输出) | | 95% CI | 无 | X̄ ± 1.96·s/√N(仅正态模型输出) | | TARGET_TABLE | 无 | 研究类型×特性等级 → Cpk.G 目标值(机器 2.00/1.67/1.33/1.00;初期/量产 1.67/1.33/1.00/1.00) | | CLI 参数 | --mode(已废弃) | --study-type / --grade |
报告层
| 改动 | 旧(v3.2.0) | 新(v3.3.0) | |------|--------------|--------------| | 要素体系 | 21 要素(自定编号) | 22 要素(对齐 AIAG-VDA SPC 第 11 章手册图 11-2 原文) | | 要素 11 | "技术条件"(伪编号,撞图表) | "直方图"(手册原文) | | 要素 18 | 出现两次(统计结果/能力评估) | 拆分为"18 性能要求 + 19 计算指数"(手册原文) | | 采集日期 | 要素 8 | 要素 4(手册原文) | | 关键指数呈现 | 4 张指数卡(Cp/Cpk 等并列) | 1 张关键指数卡(Cpk.G/Ppk.G/Pmk.G)+ 上下侧 + 分位数表 |
测试覆盖:16 套测试 / 109 PASS / 0 FAIL(原 70 项扩 50 项;新增:TARGET_TABLE 13 项、PPM/CI 7 项、22 要素字段对齐 10 项、CLI --study-type/--grade 3 项、不稳态照样出指数 1 项)。
对照表来源:
- 手册原文:reference/AIAG-VDA SPC 中英/ch11_pages_hi/p0330.png(图 11-2 过程能力报告示例)
- 要素解读:reference/AIAG-VDA SPC 中英/ch11_pages_hi/p0331.png(Interpretation of the Report Elements)
- web-tool v0.6.0:web-tool/index.html:2966-2974 / 3030-3177(含 4 处编号错位,本 skill 已修正)
v3.2.0(2026-09-01)
(详见历史记录;本次 v3.3.0 为 G 法 + 22 要素对齐手册原文的重写版本。)
微信扫一扫