ALM重新验证半导体晶圆厂综合防灾STPA——半天内将损失场景从6个扩展到26个
我们对某半导体晶圆厂消防、气体与设施综合防灾控制结构的现有STPA分析进行了重新验证。该结构从安全中心操作员(EHS/FMS Operator)出发,经由中央FMS/GMS综合监控服务器和现场安全联锁PLC,延伸至三类设备:洁净室空调与洗涤塔排气、OHT物料搬运,以及特种气体与化学品供应阀门——其控制行为与反馈均以图示方式定义。
关键在于工作方式。基于VisualPro STPA的MCP(Model Context Protocol)集成,AI智能体完成了所有查询、登记和修改,而人只负责语义判断。GUI操作次数为零。
| 累计指标 | 初始(原始版) | 最终(Rev 2.1) |
|---|---|---|
| 损失场景 | 6个(100%基于故障) | 26个(故障6个/非故障20个) |
| UCA | 8个 | 15个 |
| 危害/系统约束 | 5 / 5 | 6 / 6 |
| 追溯链断裂的危害 | 1个(H-5) | 0个 |
此次重新验证的核心发现并不是新增的场景,而是现有分析集中在哪里。原有6个场景全部基于故障,而涵盖设计判断与法规义务的Responsibility系列(Class 1,C1–C4)完全空白。随后的7项发现,全部是从这一空白反向推导出来的。
· 本次会话中智能体登记的数据:1个危害、1条系统约束、7个UCA、20个损失场景,以及约50条关系链接
· 每条命令都分两步——先describe(获取规格),再execute(执行)——智能体自行掌握数据模式,因此登记时不会出现格式错误:批量登记错误为零
· UCA ID(UCA-N-9、UCA-P-13)和场景编号按类型规则自动分配——完全无需手动编号
这些缺陷是在工作开始时仅凭关系查询发现的。没有一项属于“分析错了”——三项都属于“分析是空的”。
| 发现的缺陷 | 发现方式 | 措施 |
|---|---|---|
| 危害H-5(应急电源丧失)的UCA和场景均为0个——追溯链完全断裂 | 每个危害执行一次关系查询 | 通过登记LS-11和LS-23恢复链条 |
| UCA-3和UCA-7没有损失场景 | UCA↔场景交叉核对 | 确定为后续场景的编写对象 |
| 控制行为“紧急手动切断”(操作员)没有UCA | 控制行为↔UCA映射 | 通过新增UCA-9和UCA-10解决 |
每一条路径即使所有部件均正常、所有测试均通过,也依然成立。每一项都表述为一个根据文档约一小时即可回答的审核问题,凡是答案为“否”的问题,就是一条现实存在的事故路径。
| # | 发现 | 为何被遗漏 | Class |
|---|---|---|---|
| 14 | 火灾模式 vs 气体模式——法规之间相互冲突 | 消防与气体安全的法规不同、设计承包商不同、图纸也不同,交叉评审从未进行 | 1-C4 |
| 15 | 未解除的Force标签——调试遗留的幽灵 | Force状态只显示在诊断画面深处,而逻辑评审只看源代码,不看输出强制覆盖 | 1-C23 |
| 16 | 把“无信号”解读为正常的默认设置 | 设计评审会考察“值错了怎么办”,却很少考察“收不到值时采取什么策略” | 1-C20 |
| 17 | 晶圆厂改造后的过时映射——MOC的盲区 | 值本身是正确的,因此任何自诊断都无法发现。出错的不是数据,而是坐标系 | 2-C7 |
| 18 | 复电陷阱——重新通电比停电更危险 | 停电演练和UPS测试针对的是断电的瞬间,设备恢复的顺序则未经测试 | 3-C7 |
| 19 | 作为共因的仪表空气 | 所有部件均正常,所有单机测试均合格。“所有区域同时动作”不在任何测试程序之中 | 3-C11 |
| 20 | 日程的背叛——日历不知道紧急情况 | 调度程序不被视为控制要素,因此从未出现在联锁矩阵中 | 4-C11 |
这7项发现并非来自头脑风暴,而是来自在数据上执行的流程。工具在每一步承担了什么工作,决定了这种方法能够被复现。
| 步骤 | 专家的角色 | VisualPro的角色 |
|---|---|---|
| 1. 标签审核 | 从语义上对照案例原文与每个场景的因果结构 | 即时查询全部26个场景及其标签和链接;错误标签(LS-8)的修正只需一次保存即可生效 |
| 2. 覆盖率矩阵 | 从空白中筛选出在晶圆厂中确实可能发生的系列 | 根据Class标签数据自动计算66个案例 × 26个场景的映射 |
| 3. 反向推导与登记 | 将领域实体代入%slots%,设计审核问题 | 批量登记新的UCA、场景和关系;自动分配ID;即时建立追溯链接 |
| # | 审核问题 | 需确认的文件 | 关联 |
|---|---|---|---|
| 1 | 火灾与气体信号同时出现时,风阀优先级是否已形成文件? | 消防联锁设计文件、联锁矩阵 | LS-20 |
| 2 | 是否对PLC Force标签进行持续监控,并在交接班时进行检查? | PLC操作规程、交接班日志 | LS-26 |
| 3 | 通信超时时,标签质量策略是否为“报警”? | PLC逻辑标准、标签数据库 | LS-21 |
| 4 | 设备搬迁的MOC是否包括更新防灾映射? | MOC程序文件、映射表历史记录 | LS-22 |
| 5 | 复电顺序是否已形成文件并经过测试? | 复电程序文件、重启测试记录 | LS-23 |
| 6 | 所有区域同时动作时的IA需求量是否已计算并验证? | 仪表空气容量计算书 | LS-24 |
| 7 | 定时动作是否设有紧急状态下的暂停条件? | 自动测试日程设置、联锁清单 | LS-25 |
本项目中观察到的各项效果,与产生这些效果的功能一一对应。所有数据均为本次会话的实测值。
| VisualPro功能 | 本次工作中的效果 |
|---|---|
| MCP服务器(AI智能体集成) | 以自然语言完成STPA查询、登记和修改。GUI操作为零,半天完成全部工作 |
| 从Loss到Countermeasure的追溯模型 | 仅凭查询发现三项结构缺陷——H-5追溯断裂、控制行为缺少UCA |
| 双向关系数据 | 对全部20条Loss↔Hazard关系进行穷尽式交叉验证——文档分析中通常会省略的检查 |
| UCA类型体系(N/P/T/S)与自动ID | UCA增至15个时,ID与类型仍保持一致;手动编号为零 |
| 支持不与UCA关联的场景 | 过程自主行为(Class 4)和传递失败(Class 3)系列也作为正式数据纳入 |
| describe/execute两步式API | 智能体在登记前确认数据模式——20次批量登记零错误 |
STPA的难点不在于学习方法本身,而在于了解分析已推进到哪一步、还有哪些空白。用文档管理,这个问题的答案只存在于分析人员的记忆中;用数据管理,答案则以查询结果的形式返回。从已在半导体、汽车、国防、航空和机器人领域得到验证的VisualPro开始,让完整性成为结构本身的属性,而不是依赖任何人的勤勉。

