场景01:废气排放超标预警
当前阶段: 🔍 探索中 | 行业: 环保监测 | 关键词: 废气监测、环境监测、异常预警 | 返回环保场景 →
一、需求探索
1.1 痛点时刻
具体场景:
凌晨3点,某化工厂2号废气排放口的SO2浓度监测数据显示:
- 02:30 → 80mg/m³(接近预警线)
- 02:45 → 120mg/m³(超标)
- 03:00 → 150mg/m³(严重超标)
30分钟内,SO2浓度从80mg/m³快速上升到150mg/m³,超过国家标准(100mg/m³)50%。但环保监控室值班人员未及时发现,直到03:15才注意到浓度已经严重超标。
业务背景:
- 监测规模:化工厂有5-20个废气排放口,每个排放口监测SO2、NOx、颗粒物等多项指标
- 监测频率:每分钟采集一次数据,实时上传到环保监控平台
- 排放标准:《大气污染物综合排放标准》规定SO2排放浓度 ≤ 100mg/m³
- 监管要求:超标排放将面临环保部门处罚,严重超标可能被责令停产整改
1.2 核心痛点
问题1:发现滞后
- 废气浓度缓慢上升时,值班人员可能不会注意
- 只关注绝对值(是否超标),忽略变化趋势(快速上升)
- 夜班或疲劳时,容易漏看监控数据
问题2:判断困难
- 不知道是正常波动还是异常上升
- 不知道是设备故障还是工艺问题
- 不知道该立即停产还是先调整工艺参数
问题3:响应慢
- 发现异常后,人工通知、人工决策、人工执行,耗时长
- 应急预案在纸上,执行时容易遗漏步骤
- 事后追溯困难,责任不清
1.3 业务规则(行业标准)
《大气污染物综合排放标准》相关要求:
- SO2排放浓度 ≤ 100mg/m³(二级标准)
- NOx排放浓度 ≤ 240mg/m³
- 颗粒物排放浓度 ≤ 120mg/m³
实际业务规则(基于行业调研):
- 80%预警规则:SO2浓度 > 80mg/m³(80%标准值)→ 黄色预警,检查设备
- 100%报警规则:SO2浓度 > 100mg/m³(国家标准)→ 红色报警,调整工艺
- 快速上升规则:30分钟内上升 > 50mg/m³ → 立即报警(可能是设备故障)
- 150%紧急规则:SO2浓度 > 150mg/m³ → 紧急,启动应急处置
成本测算:
- 超标成本:环保处罚10-100万元/次,停产整改损失更大
- 预警成本:系统开发 + 运维,约8万元/年
- 投资回报:避免一次超标处罚,即可收回成本
二、方案设计
2.1 业务规则设计
规则1:绝对值预警规则
接口名称: checkConcentration
接口签名:
typescript
function checkConcentration(concentration: number): EmissionAlert数据模型:
typescript
interface EmissionAlert {
concentration: number; // 当前浓度(mg/m³)
pollutant: 'SO2' | 'NOx' | 'PM'; // 污染物类型
level: 'NORMAL' | 'WARNING' | 'ALARM' | 'CRITICAL';
action: string; // 应采取的措施
}业务规则:
- concentration >= 150mg/m³ → CRITICAL(立即启动应急处置,停止相关生产线,排查设备故障)
- concentration >= 100mg/m³ → ALARM(调整工艺参数,增加脱硫效率,通知环保科长)
- concentration >= 80mg/m³ → WARNING(检查脱硫设备运行状态,增加监测频率)
- concentration < 80mg/m³ → NORMAL(正常排放)
算法要求:
- 阈值判断采用分级策略
- 阈值可配置,支持运营调整
- 返回结果包含当前浓度、预警级别和建议措施
规则2:快速上升预警规则
接口名称: checkRapidRise
接口签名:
typescript
function checkRapidRise(
sensorData: SensorRecord[],
timeWindow?: number
): RapidRiseAlert参数说明:
- sensorData: 传感器历史数据数组
- timeWindow: 时间窗口(分钟),默认30分钟
数据模型:
typescript
interface RapidRiseAlert {
startConcentration: number; // 起始浓度
endConcentration: number; // 结束浓度
duration: number; // 时间窗口(分钟)
riseAmount: number; // 上升幅度
isRapidRise: boolean; // 是否快速上升
severity: 'warning' | 'critical';
}
interface SensorRecord {
id: string;
sensorId: string;
location: string;
pollutant: 'SO2' | 'NOx' | 'PM';
concentration: number;
timestamp: Date;
status: 'NORMAL' | 'FAULT';
}业务规则:
- 获取时间窗口内的数据(默认30分钟)
- 计算上升幅度 = 结束浓度 - 起始浓度
- 上升幅度 > 50mg/m³ → 快速上升
- 上升幅度 > 80mg/m³ → 严重级别(critical)
- 上升幅度 ≤ 80mg/m³ → 警告级别(warning)
算法要求:
- 时间窗口滑动计算
- 数据量不足时返回非快速上升
- 支持时间窗口和阈值配置
规则3:自动响应规则
数据模型:
typescript
interface AutoResponse {
// 黄色预警(浓度 > 80mg/m³)
warning: {
alert: {
channels: string[]; // ['环保监控室大屏', '环保专员手机']
message: string;
};
autoActions: string[]; // 自动执行的动作列表
};
// 红色报警(浓度 > 100mg/m³ 或 快速上升)
alarm: {
alert: {
channels: string[]; // ['环保监控室', '环保专员', '环保科长', '值班厂长']
sound: string;
message: string;
};
autoActions: string[];
};
// 紧急处置(浓度 > 150mg/m³)
critical: {
alert: {
channels: string[]; // ['全厂广播', '所有管理人员']
sound: string;
message: string;
};
autoActions: string[];
};
}业务规则:
- 黄色预警:推送到环保监控室和环保专员,检查脱硫设备,增加监测频率
- 红色报警:推送到管理层,调整工艺参数,增加脱硫剂投放量,记录超标事件
- 紧急处置:全厂广播,停止相关生产线,启动应急处置预案,通知环保部门
算法要求:
- 根据预警级别选择不同的推送通道
- 支持多通道并发推送
- 记录所有推送结果和确认状态
2.2 技术方案
技术架构
废气传感器 → 数据采集 → 规则引擎 → 报警推送
↓
数据存储(时序数据)
↓
可视化大屏 + 移动端核心技术点:
1. 废气传感器数据采集
- 采集频率:正常模式和预警模式可配置
- 数据格式:
{ sensorId, location, pollutant, concentration, timestamp } - 数据校验:排除异常值(如传感器故障导致的突变)
2. 时序数据存储
- 使用时序数据库(如InfluxDB)存储历史数据
- 支持快速查询时间窗口内的数据
- 支持数据聚合(如计算30分钟内的上升幅度)
3. 规则引擎
- 实时监测:定期检查所有传感器数据
- 双重判断:绝对值 + 变化趋势
- 支持规则配置(阈值、时间窗口可调整)
4. 报警推送
- 分级推送:黄色预警、红色报警、紧急处置
- 多通道推送:大屏、手机APP、短信、广播
- 推送确认:必须确认收到,否则持续推送
数据模型
typescript
// 传感器数据记录
interface SensorRecord {
id: string;
sensorId: string; // 传感器ID
location: string; // 位置(如"2号排放口")
pollutant: 'SO2' | 'NOx' | 'PM'; // 污染物类型
concentration: number; // 浓度(mg/m³)
timestamp: Date;
status: 'NORMAL' | 'FAULT'; // 传感器状态
}
// 预警事件记录
interface AlertEvent {
id: string;
sensorId: string;
location: string;
pollutant: string;
alertType: 'ABSOLUTE' | 'RAPID_RISE'; // 预警类型
level: 'WARNING' | 'ALARM' | 'CRITICAL';
detectedAt: Date;
// 预警详情
details: {
concentration?: number; // 当前浓度
riseAmount?: number; // 上升幅度
duration?: number; // 时间窗口
};
// 处置记录
disposal: {
confirmedBy: string;
confirmedAt: Date;
actions: string[]; // 采取的措施
result: string; // 处置结果
resolvedAt: Date;
};
}三、AI辅助开发方案
3.1 技术迁移分析
复用已有资产:矿山场景的"瓦斯浓度监测"规则
相似点:
- 都是基于传感器数据的环境监测
- 都需要判断绝对值 + 变化趋势
- 都需要分级预警 + 自动响应
差异点:
| 维度 | 矿山场景 | 环保场景 |
|---|---|---|
| 监测对象 | 瓦斯浓度 | 废气浓度(SO2/NOx/PM) |
| 阈值判断 | > 0.5%预警 | > 80mg/m³预警 |
| 变化趋势 | 15分钟上升 > 0.3% | 30分钟上升 > 50mg/m³ |
| 响应动作 | 加强通风、撤人 | 调整工艺、停产 |
| 数据采集 | 1分钟/次 | 1分钟/次 |
技术复用度:85%
- 规则引擎逻辑:100%复用(绝对值 + 变化趋势)
- 报警推送逻辑:100%复用
- 数据采集层:需要适配废气传感器(15%新开发)
3.2 Cursor Skill设计
Skill名称: environment-monitoring-alert.md
Skill内容: 复用矿山场景的环境监测规则,调整阈值和污染物类型
3.3 PROMPT模板
PROMPT 1:生成废气监测代码
你是一个业务逻辑开发专家。请根据以下业务规则,生成废气排放监测预警的代码。
## 业务场景
化工厂废气排放口SO2浓度监测,需要实时判断绝对值是否超标,以及是否快速上升。
## 业务规则
1. 绝对值判断:
- > 80mg/m³:黄色预警,检查设备
- > 100mg/m³:红色报警,调整工艺
- > 150mg/m³:紧急,启动应急处置
2. 变化趋势判断:
- 30分钟内上升 > 50mg/m³:立即报警(可能是设备故障)
3. 自动响应:
- 黄色预警:通知环保专员,增加监测频率
- 红色报警:通知管理层,调整工艺参数
- 紧急处置:停止生产,启动应急预案
## 数据模型
- SensorRecord:传感器数据记录(sensorId, pollutant, concentration, timestamp)
- AlertEvent:预警事件记录(alertType, level, details, disposal)
## 技术要求
- 使用TypeScript
- 实时监测机制
- 支持规则配置(阈值、时间窗口可调整)
- 记录所有预警事件和处置过程
请基于以上规范生成代码。PROMPT 2:生成分级报警逻辑
你是一个业务逻辑开发专家。请根据以下业务规则,生成分级报警推送的代码。
## 业务场景
废气浓度异常需要分级推送报警,不同级别推送给不同的人员。
## 业务规则
1. 黄色预警(浓度 > 80mg/m³):
- 推送到:环保监控室大屏、环保专员
- 推送内容:当前浓度、位置、建议措施
2. 红色报警(浓度 > 100mg/m³ 或 快速上升):
- 推送到:监控室、环保专员、环保科长、值班厂长
- 推送内容:当前浓度、上升趋势、应急措施
3. 紧急处置(浓度 > 150mg/m³):
- 推送到:全厂广播、所有管理人员
- 触发:启动应急预案、停止生产
## 技术要求
- 支持多通道推送(APP、短信、广播)
- 推送确认机制(必须确认收到)
- 推送失败重试机制
请基于以上规范生成代码。3.4 技术迁移复杂度评估
阶段一:原型验证
- 验证目标:确认规则引擎能否满足废气监测需求
- 技术难点:
- 废气传感器数据采集接口适配
- 时序数据存储和查询性能优化
- 规则引擎复用度验证
- 关键依赖:
- 废气传感器接口文档
- 历史监测数据样本
- 现有监控系统架构
阶段二:首版上线
- 核心模块:
- 传感器数据采集模块(新开发,复杂度:中)
- 规则引擎模块(复用矿山场景,复杂度:低)
- 报警推送模块(复用矿山场景,复杂度:低)
- 技术风险:
- 传感器设备兼容性
- 数据采集稳定性
- 规则引擎性能(需要实时监测多个排放口)
- 性能要求:
- 异常检测延迟要求低
- 报警推送延迟要求低
- 支持高并发数据采集
阶段三:迭代优化
- 优化方向:根据实际使用反馈调整阈值、优化报警策略
- 关键指标:误报率、漏报率、响应时长
四、开发资产
4.1 Cursor Skill
文件名: environment-monitoring-alert.md
内容: 复用矿山场景的环境监测规则(见矿山场景文档)
4.2 技术迁移说明
可复用的已有资产:
矿山场景:瓦斯浓度监测规则
- 复用:规则引擎框架(绝对值 + 变化趋势)、报警推送逻辑
- 调整:瓦斯浓度 → 废气浓度,阈值调整
- 复用度:85%
电力场景:变压器温度监测规则
- 复用:时序数据存储、趋势分析
- 调整:温度 → 浓度
- 复用度:75%
需要新开发的部分:
- 废气传感器数据采集接口(15%)
- 多污染物类型支持(SO2/NOx/PM)
4.3 实施指南
步骤1:准备环境
bash
# 安装依赖
npm install
# 配置传感器接口
# 编辑 config/sensor-config.json步骤2:使用Cursor Skill
1. 将 environment-monitoring-alert.md 保存到 .cursor/rules/
2. 在Cursor中告诉AI:
"参考 environment-monitoring-alert.md 中的业务规则,
实现废气排放监测预警功能"
3. AI会基于规则生成代码步骤3:调整配置
typescript
// config/alert-rules.ts
export const EMISSION_ALERT_CONFIG = {
SO2: {
thresholds: {
warning: 80, // 黄色预警
alarm: 100, // 红色报警
critical: 150 // 紧急处置
},
rapidRise: {
timeWindow: 30, // 时间窗口(分钟)
threshold: 50 // 上升阈值
}
},
NOx: {
thresholds: {
warning: 192, // 80% * 240
alarm: 240,
critical: 360
}
}
};步骤4:测试验证
bash
# 运行测试
npm test
# 模拟异常场景
npm run simulate:emission-alert五、下一步行动
如果您对这个场景感兴趣
- 快速验证:我们可以基于模拟数据做原型演示
- 技术对接:提供传感器接口文档,评估对接工作量
- 成本预估:根据排放口数量、监测指标,给出详细报价
相关场景
- 场景02:污水处理设施巡检漏检 - 计划任务类场景
- 矿山场景:瓦斯浓度预警 - 相似的环境监测场景

