SPC(统计过程控制)是半导体工程师每天都要面对的工作。分析控制图、检测异常点、计算CPK...这些事以前我用Excel做,现在用ChatGPT帮我写代码。
今天分享3个实测有效的场景,Prompt可以直接复制用。
场景1:自动生成SPC分析代码
最常用的场景:给一批CSV数据,让ChatGPT写分析代码。
实测数据:40片晶圆的膜厚数据,每片5个测量点,共200个数据点。
# 数据格式示例(mes_thickness.csv)
# wafer_id,point_1,point_2,point_3,point_4,point_5,avg_thickness
# WAF001,1023,1021,1025,1022,1024,1023.0
# WAF002,1025,1023,1024,1022,1026,1024.0
# ...
我的Prompt(直接复制用):
请帮我写一个Python脚本,分析SPC数据:
1. 读取CSV文件(包含wafer_id和5个测量点的膜厚数据)
2. 计算Xbar-R控制图的UCL、LCL、CL(3σ原则)
3. 标记超出控制限的点
4. 计算CPK
5. 生成控制图(Matplotlib)
6. 导出异常点清单(Excel格式)
要求:
- 使用pandas读取CSV
- 使用matplotlib绑定控制图
- 异常点用红色标记
- 代码要可运行
ChatGPT 4o输出的代码:
import pandas as pd
import numpy as np
import matplotlib.pyplot as plt
# 读取数据
df = pd.read_csv('mes_thickness.csv')
data = df['avg_thickness'].values
# 计算控制限(3σ原则)
mean = np.mean(data)
std = np.std(data)
ucl = mean + 3 * std
lcl = mean - 3 * std
cl = mean
# 标记异常点
anomalies = df[data > ucl | data < lcl]
print(f"异常点: {len(anomalies)}个")
print(anomalies)
# CPK计算
cp = (ucl - lcl) / (6 * std)
cpu = (ucl - mean) / (3 * std)
cpl = (mean - lcl) / (3 * std)
cpk = min(cpu, cpl)
print(f"CPK = {cpk:.3f}")
# 绑制控制图
plt.figure(figsize=(14, 6))
plt.plot(range(len(data)), data, 'b-o', markersize=4)
plt.axhline(ucl, color='r', linestyle='--', label=f'UCL={ucl:.1f}')
plt.axhline(cl, color='g', linestyle='-', label=f'CL={cl:.1f}')
plt.axhline(lcl, color='r', linestyle='--', label=f'LCL={lcl:.1f}')
# 异常点标红
anomaly_idx = [i for i in range(len(data)) if data[i] > ucl or data[i] < lcl]
plt.scatter(anomaly_idx, [data[i] for i in anomaly_idx],
color='red', s=100, zorder=5, label='异常点')
plt.xlabel('Sample Index')
plt.ylabel('膜厚 (A)')
plt.legend()
plt.title(f'SPC控制图 (CPK={cpk:.3f})')
plt.savefig('spc_chart.png', dpi=150)
print("控制图已保存: spc_chart.png")
[配图说明:生成的SPC控制图:蓝色线条为膜厚数据,红色点为异常点,虚线为UCL/LCL]
场景2:分析Nelson规则异常
Nelson规则是SPC判异的国际标准(ASTM E2586)。常见规则:
- 规则1:1个点超出3σ控制限
- 规则2:连续9点在中心线同一侧
- 规则3:连续6点单调上升或下降
- 规则4:连续14点交替上下
- 规则5:连续5点中有4点在1σ区外
用这个Prompt让ChatGPT写检测代码:
请扩展上面的SPC分析代码,加入Nelson规则检测。
规则定义:
- rule1: 任何点超出3σ
- rule2: 连续9点在CL同一侧
- rule3: 连续6点单调
- rule4: 连续14点交替
- rule5: 连续5点中4点在1σ外
对每个规则分别检测,并输出:
- 违反的规则编号
- 对应的数据点索引
- 违规原因描述
场景3:生成SPC周报
每周要给领导写SPC周报,以前手动统计,现在让ChatGPT帮我生成报告框架:
请根据以下SPC数据,帮我生成周报摘要:
数据:
- 设备:ETCH-01~05(共5台)
- 时间范围:2026-06-03 ~ 2026-06-09(一周)
- 指标:膜厚CPK、均匀性、异常率
ETCH-01: CPK=1.45, 均匀性±1.8%, 异常率0.3%
ETCH-02: CPK=1.38, 均匀性±2.1%, 异常率0.8%
ETCH-03: CPK=1.52, 均匀性±1.5%, 异常率0.1%
ETCH-04: CPK=1.29, 均匀性±2.5%, 异常率1.2%
ETCH-05: CPK=1.41, 均匀性±1.9%, 异常率0.5%
请生成:
1. 本周总结(100字以内)
2. 问题设备分析(CPK<1.33或异常率>1%的)
3. 改善建议(2-3条)
4. 下周关注重点
生成结果(可直接用):
## SPC周报 2026-06-03 ~ 2026-06-09
### 本周总结
本周5台ETCH设备整体运行平稳,平均CPK=1.41(目标≥1.33)。ETCH-04膜厚偏差偏大,需重点关注。
### 问题设备分析
1. ETCH-04:CPK=1.29(低于目标值1.33),异常率1.2%(超过1%阈值)
- 原因:膜厚均匀性±2.5%,偏大
- 建议:检查设备温控系统,联系设备工程师
2. ETCH-02:异常率0.8%,环比上周上升0.3%
- 建议:跟踪本周数据,确认是否持续恶化
### 改善建议
1. 对ETCH-04进行预防性维护(PM),重点检查温控和气体流量
2. 对比ETCH-04与ETCH-03的参数差异,寻找可调整参数
3. 建立ETCH-04的专项SPC监控,每小时刷新一次数据
### 下周重点
- ETCH-04膜厚改善(目标CPK≥1.33)
- ETCH-02异常趋势跟踪
[配图说明:SPC周报模板:包含本周总结、问题分析、改善建议、下周重点]
实测效果
使用ChatGPT辅助SPC工作后,工作效率大幅提升:
| 工作内容 | 以前 | 现在 | 效率提升 |
|---------|------|------|---------|
| SPC分析代码 | 1-2小时 | 5分钟 | 12-24倍 |
| Nelson规则检测 | 手动检查 | 自动检测 | 节省30分钟/次 |
| SPC周报 | 1小时 | 10分钟 | 6倍 |
注意事项
⚠️ ChatGPT输出的代码要审核后再用!原因:
1. 计算公式可能与行业标准不完全一致
2. 数据边界情况(空值、异常值)处理不完善
3. 控制图样式需要按公司标准调整
我的做法:先用小数据集测试,确认无误后再用于正式分析。
---
你用ChatGPT做过SPC分析吗?有什么好的Prompt?评论区分享!
觉得有用点赞收藏!关注我,一起探索AI+半导体!