污水处理专家系统(WWTP Expert)
Overview
本技能把"污水处理工艺专家"的领域知识、判定规则和可用工具打包在一起,用于回答水质达标、工艺选型、运行诊断、治理建议一类的问题,并可直接驱动 WWTP Expert System(FastAPI + SQLite + 静态前端 + 微信小程序)完成仿真、设计与诊断。
能力边界:给出的是工程判断与方案建议,涉及排放许可、环评、危废处置的结论必须提示用户以当地生态环境主管部门批复文件和最新国家标准原文为准。
何时使用
出现下列任一情形即应加载本技能:
- 询问某股废水"该怎么处理""选什么工艺""需要哪些单元"
- 给出水质数据,要求判断是否达标、超标多少倍、风险等级
- 出水 COD / 氨氮 / 总氮 / 总磷 / SS 超标,要求分析原因与对策
- 污泥膨胀、污泥老化、膜污染、泡沫、曝气头堵塞、消毒副产物等运行异常
- 需要未来 8/16/24/48 小时的水质预测与调控策略
- 查询 GB 18918-2002、GB 8978-1996、GB 3838-2002 等标准限值或法规条文
- 需要投资估算、运行成本、设备清单、工艺设计参数
- 需要生成诊断报告、设计方案、会议纪要、整改建议等文档
- 需要调用或改造 WWTP Expert System 的后端接口
核心能力
- 工艺设计与选型 — 按"行业 + 规模 + 排放标准"生成工艺路线、设计参数、设备清单、投资与运行成本、达标预判。
- 达标判定 — 用实测/预测出水浓度对照标准限值,输出达标率、超标倍数与风险等级;服务不可用时用内置限值表离线判定。
- 运行工况仿真 — 20 个运行场景(市政/工业)下的 72 小时时序仿真,输出历史序列、报警、调控策略与预测标记。
- 故障诊断与治理 — 10 类问题库按症状匹配,输出可能原因、排查顺序、处置措施与整改建议。
- 知识库检索 — 13 行业、5 套排放标准、法规库、FAQ 库。
- 文档产出 — 诊断报告、设计方案、整改建议、会议纪要。
决策工作流
用户提问
├─ 有实测水质,问"合不合格/怎么办" ────► 达标判定(离线表或 /predict/limits)
│ └─► 不达标则走诊断 → 治理建议
├─ 问"怎么设计/选什么工艺/多少钱" ──────► 工艺设计(/design/)
│ └─► 输出路线 + 投资 + 成本 + 达标预判
├─ 问"未来会怎样/要不要提前调" ─────────► 运行工况仿真(/operation)
│ └─► 解读 alarms + strategies + forecast_marks
├─ 描述异常现象,问"什么原因" ──────────► 诊断(/diagnose/)
└─ 问"标准是多少/法规怎么规定" ─────────► 标准与法规检索
执行顺序建议:先取知识库确定行业与标准的合法取值(中文 id),再调用计算类接口,最后按模板组织输出。
关键规则(非显然要点)
- 标准 id 是中文:
一级A、一级B、准IV类、综合一级、行业直排。传英文或 GB 号会 400。 - 行业 id 是英文短名:
municipal、chemical、textile、food、paper、tannery、electroplating、pharmaceutical、pesticide、dyestuff、refrigerant、coking、battery。 - 设计接口接受两套参数:新版
{industry, flow_m3d, standard},旧版{industry_type, capacity, standard_name}。 process_train是对象数组({name, type, description}),直接join会得到[object Object];展示用process_train_names。- 响应有两种形态:除
/api/v1/operation返回裸数据外,其余统一为{code, data, message}信封。 - GET 一律用查询参数:
/faq/search、/analysis/trends/{id}、/advice/{id}历史上曾依赖请求体,现已改为查询参数(POST 别名仍保留)。 - 报警等级:
red超标 /orange预警 /yellow关注;strategies的priority取值critical > high > medium > low,按priority与timeframe(如0-1h、4-12h)排序执行。 - 诊断必须凑够症状:匹配度 = 症状命中率×0.7 + 原因关键词命中率×0.3,默认阈值 0.6;只传 1 个症状最高 0.175,必然返回 0 条。补齐 3-4 个标准症状(见
skills/wwtp-expert/references/knowledge_base.md),或把confidence降到 0.15。 - 预测标记:
forecast_marks给出+8h/+16h/+24h/+48h的yhat与lower/upper区间,用于判断是否有超标趋势。 - 达标判定口径:用
predicted_effluent(设计工况)或history(仿真工况)对照limits;limits只含cod_out/nh3n_out/ss_out/tn_out/tp_out五项。 - 不建议把仿真值当实测值:仿真是确定性伪随机序列,用于演示与趋势判断,不能替代在线监测数据。
资源
skills/wwtp-expert/references/
knowledge_base.md— 13 行业、5 标准、26 仿真场景、20 运行场景、10 类问题库、默认限值表、工艺单元清单。需要合法 id 取值时先读它。api_reference.md— 全部端点清单、参数、返回契约与调用示例。schema.md— 9 张表的字段结构,写 SQL 或新增表时读它。operations.md— 启停、测试、数据库幂等、已修复缺陷与排查手册。
scripts/
wwtp_client.py— 纯标准库 CLI,调用本地或远程服务:health / scenarios / operation / simulate / design / diagnose / advice / knowledge。compliance_check.py— 离线达标判定(内置 5 套标准限值与预警/临界阈值),服务不可用时兜底。export_knowledge.py— 把知识库导出为 Markdown,便于写报告或核对取值。
assets/
report_templates.md— 诊断报告、设计方案、整改建议的 Markdown 输出模板。
常见陷阱
init_db()曾因缺少唯一索引导致每次启动重复播种(156 个站点实为 3 个)。现由唯一索引 + 空表守卫保证幂等;遇到数据翻倍先跑项目自带的repair_db.py(位于项目scripts目录)。/regulations/search必须声明在/{regulation_id}之前,否则被路径参数抢先匹配返回 422。- 测试会写库;运行测试前设置
WWTP_DB_PATH指向临时库,避免污染运行库。 - 修改路由后务必确认字面量路径排在路径参数之前,并用
/openapi.json复核。
详细清单见 skills/wwtp-expert/references/operations.md。