第 11 章:能源行业大模型应用
2025年盛夏,华北电网调度中心。下午两点,调度员李工面前的屏幕突然亮起红色预警——受突发高温影响,辖区内空调负荷在30分钟内飙升了1200兆瓦,而此时一座主力火电机组正按计划停机检修。传统调度系统给出的建议是紧急启动两台备用柴油机组,成本高昂且碳排放超标。但今天,李工多了一个"队友":刚上线一个月的"光明"大模型调度助手在3秒内完成了全网的供需推演,给出了一套截然不同的方案——从邻近省份临时调入800兆瓦富余电力、通知3座储能电站在用电高峰前两小时开始蓄能、向5万户工业用户发出需求响应邀约。这套组合拳不仅满足了供需平衡,还节省了约80万元的调度成本。李工审核后一键确认。这不是科幻场景,而是国家电网"光明大模型"在2025年试点运行的日常。
11.1 场景开篇:一张电网的"智慧大脑"
电力系统是人类建造的最复杂的动态均衡系统之一。中国电网装机容量超过29亿千瓦(2025年数据),输电线路总长度超过230万公里,每天需要实时平衡数十亿千瓦时的发电量与用电量。随着新能源占比快速攀升(风电+光伏装机占比已超40%),电网调度的复杂性呈指数级增长——风光的间歇性和波动性让传统的确定性调度方法力不从心。
大模型在能源行业的价值,正是在这种复杂性中凸显。它不能替代物理定律,但它能做到的是:
- 在秒级时间尺度上综合海量变量,给出最优调度策略
- 从TB级的设备运行数据中发现微弱的故障先兆,提前预警
- 将分散的碳排放数据整合为可执行的减排方案,服务双碳目标
- 用自然语言打通数据壁垒,让一线运维人员直接对话设备数据
传统调度的核心痛点在于:
| 环节 | 传统方式 | 痛点 |
|---|---|---|
| 负荷预测 | 统计模型+经验修正 | 新能源高渗透率下精度急剧下降 |
| 调度决策 | 人工+规则引擎 | 场景组合爆炸,难以全局最优 |
| 故障诊断 | 定期巡检+阈值告警 | 发现滞后,误报率高达60% |
| 碳排管理 | 手动填报+报表汇总 | 数据滞后、粒度粗、难以归因 |
| 新能源预测 | 数值天气预报+统计模型 | 极端天气下误差超过30% |
大模型不是来替代SCADA系统或EMS能量管理系统的,它是在这些工业系统之上叠加一层"认知智能"——理解数据、推理决策、生成方案、解释原因。
11.2 行业全景:能源行业数字化、双碳目标驱动
双碳目标倒逼能源智能化
2020年,中国提出"2030碳达峰、2060碳中和"目标。此后,能源行业经历了前所未有的结构性变革:
- 新能源装机狂飙:2025年底,中国风电装机突破5.5亿千瓦、光伏装机突破8.5亿千瓦,风光合计占比超过总装机的40%
- 煤电角色转变:从"主力电源"转向"调节性电源",煤电灵活性改造成为刚需
- 新型电力系统建设:储能、虚拟电厂、需求响应等新业态涌现
- 碳市场深化:全国碳市场覆盖范围从发电行业向钢铁、水泥等行业扩展,碳价从2021年的40元/吨攀升至2025年的120元/吨以上
这些变化带来的核心挑战是:不确定性与复杂性。电网调度需要同时处理数百个变量(天气、负荷、新能源出力、储能状态、跨省交易、碳配额),传统的确定性优化模型已经难以胜任。
能源行业大模型应用成熟度
| 场景 | 成熟度 | 技术方案 | 落地率 |
|---|---|---|---|
| 智能调度辅助决策 | 中高 | 时序模型 + LLM + RAG | ~25% |
| 设备故障诊断 | 中 | 多模态LLM + 知识图谱 | ~20% |
| 碳排放管理 | 中 | RAG + Agent | ~15% |
| 新能源出力预测 | 中高 | 时序大模型 + 气象数据 | ~30% |
| 智能巡检 | 中 | 多模态(视觉+文本)LLM | ~20% |
| 能源交易辅助 | 低 | Agent + 强化学习 | <10% |
| 安全生产合规 | 中 | RAG + 规则引擎 | ~15% |
能源行业AI应用的三大驱动力:
- 安全刚需:电力系统事故影响面极广(还记得2021年德州大停电吗?),AI辅助决策可以显著降低人为失误
- 效率压力:新能源消纳率要求持续提高,调度精细度要求从"15分钟级"迈向"秒级"
- 碳约束:碳市场扩容+碳价上涨,企业需要精准管理每一吨碳排放
主要玩家与产品
| 企业 | 大模型产品 | 核心场景 |
|---|---|---|
| 国家电网 | 光明大模型 | 电网调度、设备运维、智能客服 |
| 南方电网 | "南网智搜" | 知识问答、设备巡检 |
| 华为 | 盘古气象大模型 | 天气预报、新能源出力预测 |
| 百度 | 文心·能源版 | 智能巡检、安全生产 |
| 阿里 | 通义千问·工业版 | 设备运维、能效管理 |
| 商汤 | 日日新·能源 | 视觉巡检、安全合规 |
11.3 核心应用场景
智能调度与负荷预测(国网"光明大模型")
智能调度是能源行业大模型落地的"皇冠上的明珠"。
**国网"光明大模型"**是国家电网于2024年底发布、2025年全面试点的电力行业大模型,参数规模千亿级,在电力调度、设备运维、客户服务等多个场景部署。
调度辅助决策的技术架构:
实时数据层 认知推理层 决策输出层
───────── ────────── ──────────
SCADA实时数据(秒级) ──→ 时序编码器 ──→ 负荷预测结果
气象预报数据(小时级) ──→ (PatchTST + LLM backbone) ──→ 调度方案建议
新能源出力实测 ──→ ↓ ──→ 风险评估报告
跨省交易计划 ──→ LLM推理引擎 ──→ 可解释性说明
储能充放电状态 ──→ (调度规程RAG + 推理链) ──→ 人机对话接口
历史调度案例库 ──→ ↓ ──→
设备检修计划 ──→ 约束校验模块 ──→
(安全约束 + 经济约束 + 碳约束)
负荷预测的关键创新在于将传统时序模型与LLM融合:
- 传统方法:LSTM、Transformer等时序模型直接预测负荷曲线,精度约96-97%
- LLM增强方法:用时序模型生成基础预测,再用LLM融合外部知识(天气预报文本、重大事件信息、历史相似日描述),精度可达98.5%以上
- "光明"实测:在华北电网试点中,短期负荷预测MAPE(平均绝对百分比误差)从1.8%降至0.9%
实际效果(国网华北分部试点数据):
| 指标 | 传统调度 | 光明大模型辅助 | 提升 |
|---|---|---|---|
| 日前负荷预测MAPE | 1.8% | 0.9% | 50% |
| 调度方案生成时间 | 30分钟 | 45秒 | 97% |
| 新能源弃电率 | 5.2% | 3.1% | 40% |
| 调度员工作量 | 全程手动 | 审核确认为主 | 降70% |
设备运维与故障诊断
电力设备运维是一个典型的"数据丰富、知识分散"场景。一台大型变压器寿命周期内产生的监测数据超过10TB,但故障诊断高度依赖资深工程师的经验。
大模型在设备运维中的三层能力:
- 数据理解层:将传感器时序数据、油色谱数据、红外热成像数据转化为自然语言描述
- 知识检索层:从设备手册、历史故障案例、行业标准中检索相关知识
- 推理诊断层:综合多源信息,推理故障原因,给出处置建议
┌───────────────────────────────────────────────────┐
│ 设备智能运维Agent系统 │
│ │
│ 传感器数据 ──→ 时序异常检测(小模型) ──→ ┐ │
│ │ │
│ 红外图像 ──→ 视觉缺陷识别(视觉模型) ──→ ├→ 多模态 │
│ │ 融合 │
│ 油色谱数据 ──→ 特征提取(专家规则) ──→ ──┘ 引擎 │
│ │ │
│ 设备手册/案例库 ──→ RAG检索 ─────────────┘ │
│ ↓ │
│ ┌─────────────┐ │
│ │ LLM诊断推理 │ │
│ │ 故障定因 │ │
│ │ 处置建议 │ │
│ │ 风险评估 │ │
│ └─────────────┘ │
└───────────────────────────────────────────────────┘
关键能力:
- 多源异构数据融合:将SCADA时序数据、油色谱分析数据、红外热成像、声音信号等多模态数据统一编码
- 故障知识图谱:构建覆盖变压器、断路器、GIS等主要设备类型的故障知识图谱,包含故障模式、因果链、处置方案
- 案例推理:从历史故障案例库中检索相似案例,提供参考处置方案
- 自然语言交互:运维人员可用自然语言询问"这台变压器今天DGA数据是否正常",系统自动理解并回答
碳排放管理与减排方案
双碳目标下,能源企业面临着前所未有的碳排放管理压力。2025年全国碳市场碳价突破120元/吨,碳排放已从"环保议题"变成"经济议题"。
大模型赋能碳管理的三个层次:
- 碳核算自动化:从能源消耗记录、生产报表中自动提取数据,按排放因子计算碳排放量,替代人工填报
- 碳排归因分析:分析碳排放的驱动因素(产量变化、能源结构调整、天气异常等),识别减排关键抓手
- 减排方案生成:结合企业实际情况,生成可执行的减排方案(设备改造、能源替代、工艺优化、碳交易策略等)
碳排放管理Agent工作流:
# 碳排放管理Agent编排(简化版)
class CarbonState(TypedDict):
enterprise_id: str
period: str # 核算周期
energy_data: dict # 能源消耗数据
emission_result: dict # 排放核算结果
attribution: dict # 归因分析
reduction_plan: dict # 减排方案
compliance_check: dict # 合规性检查
def carbon_accounting(state: CarbonState) -> CarbonState:
"""自动碳核算:从能源数据计算碳排放"""
prompt = f"""
根据以下能源消耗数据,按照《企业温室气体排放核算方法与报告指南》
计算排放量:
企业:{state['enterprise_id']}
周期:{state['period']}
能源数据:{state['energy_data']}
请分别计算:
1. 化石燃料燃烧排放(按燃料类型分列)
2. 净购入电力排放
3. 净购入热力排放
4. 碳酸盐分解过程排放
5. 总排放量及排放强度
"""
result = llm.invoke(prompt, retrieval_mode="emission_factors")
state["emission_result"] = result
return state
def carbon_attribution(state: CarbonState) -> CarbonState:
"""碳排归因分析"""
prompt = f"""
分析本期碳排放变化的原因:
本期排放:{state['emission_result']}
同比/环比数据:{historical_data}
请从以下维度进行归因:
1. 产量变化影响
2. 能源结构变化影响
3. 能效变化影响
4. 外部因素(气温、特殊工况等)影响
"""
analysis = llm.invoke(prompt, retrieval_mode="historical_carbon")
state["attribution"] = analysis
return state
def reduction_planning(state: CarbonState) -> CarbonState:
"""生成减排方案"""
prompt = f"""
基于以下分析,为企业生成定制化减排方案:
排放现状:{state['emission_result']}
归因分析:{state['attribution']}
企业设备清单:{equipment_list}
碳配额余额:{carbon_allowance}
方案需包含:
1. 短期措施(0-6月):运行优化、管理改进
2. 中期措施(6-24月):设备改造、能源替代
3. 长期规划(2-5年):技术升级、产业转型
4. 每项措施的预估减排量、投资额、ROI
5. 碳交易策略建议
"""
plan = llm.invoke(prompt, retrieval_mode="reduction_technologies")
state["reduction_plan"] = plan
return state
新能源出力预测
新能源(风电、光伏)出力预测是新型电力系统最核心的基础技术之一。预测精度的每1%提升,都意味着数亿元的新能源消纳价值。
传统方法的瓶颈:
- 数值天气预报(NWP)的时空分辨率有限
- 统计模型难以捕捉极端天气下的非线性关系
- 单一模型无法融合气象、地理、设备状态等多源信息
大模型带来的突破:
华为盘古气象大模型在2023年发表于《Nature》,其天气预报精度首次超越传统数值方法。在此基础上,能源行业进一步开发了专用的风光出力预测模型:
| 方法 | 短期预测精度(24h) | 极端天气精度 | 更新频率 |
|---|---|---|---|
| 传统NWP+统计 | MAPE 10-15% | MAPE >30% | 6小时 |
| 时序大模型(时序Transformer) | MAPE 6-8% | MAPE 15-20% | 1小时 |
| 气象大模型+时序融合 | MAPE 4-6% | MAPE 10-15% | 15分钟 |
| LLM增强(加入文本理解) | MAPE 3-5% | MAPE 8-12% | 实时 |
LLM增强的独特价值在于理解非结构化信息:
- 解析气象台的文字预报("午后局部地区有强对流天气")并量化其对光伏出力的影响
- 从社交媒体和新闻报道中提取突发天气信息
- 综合多个气象源的矛盾预测,给出置信区间
11.4 技术架构深度解析
时序数据+LLM融合架构
能源行业的核心数据是时序数据——传感器读数、电力负荷、气象观测都以时间序列形式存在。如何让LLM"理解"时序数据,是能源大模型的技术核心。
当前有三条技术路线:
路线一:时序Tokenizer(Time-Series-as-Token)
将时序数据分 patch 后编码为与文本 token 兼容的向量,直接输入LLM。代表工作:Time-LLM、PromptCast。
时序数据分Patch LLM骨干网络 输出
───────────── ────────── ─────
[1.2, 1.3, 1.1, ...] ─→ Patch Embedding ─→
[1.5, 1.4, 1.6, ...] ─→ Patch Embedding ─→ ┌──────────┐
[0.8, 0.9, 0.7, ...] ─→ Patch Embedding ─→ │ LLM │ ─→ 负荷预测
文本Prompt ─→ │ Backbone │ ─→ 异常描述
[天气:晴, 温度:35°C] ─→ Text Embedding ─→ │ │ ─→ 调度建议
历史案例文本 ─→ └──────────┘
路线二:双塔融合(Two-Tower Fusion)
时序模型和LLM各自独立编码,在推理层进行融合。
时序数据 ──→ 时序编码器(PatchTST/iTransformer) ──→ 时序特征向量
│
Cross-Attention
│
文本数据 ──→ LLM编码器(Qwen2.5/DeepSeek) ──→ 文本特征向量
│
↓
融合推理层 ──→ 输出
路线三:Agent编排(Agent Orchestration)
时序模型和LLM作为独立工具,由Agent编排调用。
from langgraph.graph import StateGraph, END
from typing import TypedDict
class DispatchState(TypedDict):
region: str
timestamp: str
load_forecast: dict # 负荷预测结果
renewable_forecast: dict # 新能源出力预测
weather_info: str # 天气信息
dispatch_plan: dict # 调度方案
risk_assessment: dict # 风险评估
explanation: str # 可解释性说明
def load_forecaster(state: DispatchState) -> DispatchState:
"""时序模型预测负荷"""
ts_data = fetch_timeseries_data(state["region"], hours=168)
forecast = timeseries_model.predict(ts_data, horizon=24)
state["load_forecast"] = forecast
return state
def renewable_forecaster(state: DispatchState) -> DispatchState:
"""新能源出力预测"""
weather_data = fetch_weather_data(state["region"])
solar_forecast = solar_model.predict(weather_data)
wind_forecast = wind_model.predict(weather_data)
state["renewable_forecast"] = {
"solar": solar_forecast,
"wind": wind_forecast
}
return state
def dispatch_planner(state: DispatchState) -> DispatchState:
"""LLM生成调度方案"""
prompt = f"""
你是一名资深电网调度专家。请根据以下信息生成未来24小时的调度方案:
区域:{state['region']}
时间:{state['timestamp']}
负荷预测:{state['load_forecast']}
新能源预测:{state['renewable_forecast']}
天气状况:{state['weather_info']}
请生成:
1. 机组启停计划(含储能充放电)
2. 跨省交易建议
3. 需求响应方案
4. 安全裕度分析
5. 经济性评估(含碳成本)
"""
plan = llm.invoke(
prompt,
retrieval_mode=["dispatch_regulations", "historical_cases"],
temperature=0.1 # 调度场景需要低随机性
)
state["dispatch_plan"] = plan
return state
def risk_assessor(state: DispatchState) -> DispatchState:
"""安全约束校验与风险评估"""
prompt = f"""
对以下调度方案进行安全校验:
{state['dispatch_plan']}
检查项目:
1. N-1安全约束是否满足
2. 电压稳定裕度是否足够
3. 备用容量是否达标
4. 是否存在越限风险
5. 碳排放是否在配额范围内
"""
assessment = llm.invoke(prompt)
state["risk_assessment"] = assessment
return state
# 构建调度Agent编排图
workflow = StateGraph(DispatchState)
workflow.add_node("forecast_load", load_forecaster)
workflow.add_node("forecast_renewable", renewable_forecaster)
workflow.add_node("plan_dispatch", dispatch_planner)
workflow.add_node("assess_risk", risk_assessor)
workflow.add_edge("forecast_load", "forecast_renewable")
workflow.add_edge("forecast_renewable", "plan_dispatch")
workflow.add_edge("plan_dispatch", "assess_risk")
workflow.add_edge("assess_risk", END)
dispatch_app = workflow.compile()
选型建议:
| 方案 | 适用场景 | 优势 | 劣势 |
|---|---|---|---|
| 时序Tokenizer | 纯预测场景(负荷/出力预测) | 端到端训练,精度高 | 需要大量训练数据 |
| 双塔融合 | 需要同时理解时序和文本 | 各塔独立优化 | 融合层设计复杂 |
| Agent编排 | 调度决策等复杂推理场景 | 灵活、可解释、可审计 | 调用链路较长 |
工业控制系统安全
能源行业的AI应用必须面对一个特殊挑战:工业控制系统(ICS/SCADA)的安全隔离。
电力、油气等行业的控制系统通常运行在封闭的OT(Operational Technology)网络中,与IT网络物理隔离。大模型的引入不能打破这一安全边界。
安全架构设计原则:
┌─────────────────────────────────────────────────────────────┐
│ 安全区域划分 │
│ │
│ ┌──────────────────┐ 单向网闸 ┌──────────────────┐ │
│ │ OT区(生产网) │ ════════════→ │ IT区(管理网) │ │
│ │ │ 只允许数据 │ │ │
│ │ SCADA系统 │ 单向流出 │ 大模型推理服务 │ │
│ │ PLC控制器 │ │ 知识库服务 │ │
│ │ 传感器网络 │ │ Agent编排引擎 │ │
│ │ 实时数据库 │ │ 运维管理平台 │ │
│ └──────────────────┘ └──────────────────┘ │
│ │ │ │
│ │ ┌──────────────────┐ │ │
│ └─────────→│ DMZ(隔离区) │←──────┘ │
│ 数据采集 Agent │ 数据脱敏/清洗 │ 策略下发 Agent │
│ │ 审计日志记录 │ │
│ └──────────────────┘ │
│ │
│ ┌──────────────────────────────────────────────────────┐ │
│ │ 安全管控层:访问控制 / 入侵检测 / 数据加密 / 审计追溯 │ │
│ └──────────────────────────────────────────────────────┘ │
└─────────────────────────────────────────────────────────────┘
关键安全措施:
- 单向数据流:OT数据通过单向网闸流入IT区,LLM的分析结果经人工审核后由操作员在OT区执行
- 数据脱敏:实时数据在离开OT区前进行脱敏处理,去除敏感运行参数
- 指令禁止:LLM系统只能生成建议,不能直接向控制系统下发指令
- 审计追踪:所有数据流转和模型推理过程完整记录
- 权限最小化:Agent只能访问完成其任务所必需的数据范围
边缘推理方案
能源行业的部署环境特殊——变电站、风电场、油气田往往位于偏远地区,网络条件不稳定,而故障诊断和应急响应又要求低延迟。
边缘-云协同架构:
┌──────────────────────────────────────────────────────┐
│ 云端(中心机房) │
│ │
│ ┌──────────┐ ┌──────────┐ ┌──────────────────┐ │
│ │ 大模型 │ │ 知识库 │ │ 模型训练与更新 │ │
│ │ (72B参数) │ │ (全量) │ │ (增量微调) │ │
│ └──────────┘ └──────────┘ └──────────────────┘ │
│ ↑ ↑ │ │
│ └──────────────┴──────────────┘ │
│ 模型蒸馏/量化 │
│ ↓ │
│ ┌──────────────────────────────────────────────┐ │
│ │ 边缘节点(变电站/风电场) │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 小模型 │ │ 本地知识库│ │ 时序模型 │ │ │
│ │ │ (1.5-7B) │ │ (精简版) │ │ (实时预测)│ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ │ 推理硬件:NVIDIA Jetson / 华为Atlas 200 │ │
│ │ 网络:断网可运行,联网时同步更新 │ │
│ └──────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────┘
边缘模型选型:
| 边缘设备 | 模型规格 | 推理延迟 | 适用场景 |
|---|---|---|---|
| NVIDIA Jetson Orin | Qwen2.5-1.5B-Q4 | <500ms | 变电站智能巡检 |
| 华为 Atlas 200I DK | DeepSeek-1.3B-Q4 | <300ms | 风电场故障诊断 |
| 工控机 (A10 GPU) | Qwen2.5-7B-Q4 | <2s | 油气田远程运维 |
| 网络畅通时直连云端 | Qwen2.5-72B | <5s | 调度中心辅助决策 |
11.5 实战案例:电力设备智能运维系统
需求分析
某省级电网公司管辖范围内有超过12000台变压器、8000余台断路器、数万公里输电线路。传统运维面临三大难题:
- 人力不足:经验丰富的运维工程师平均年龄48岁,未来5年退休比例超过30%
- 数据过载:每台主变压器每天产生约2GB监测数据,人工分析覆盖不到5%
- 故障滞后:从缺陷萌发到故障发生平均要6-18个月,但传统阈值告警往往在故障前1-2周才能发现
项目目标:
- 构建覆盖变压器、断路器、GIS等主要设备的智能运维系统
- 实现缺陷自动识别、故障原因推理、处置方案推荐
- 要求:数据不出局、诊断结果可解释、准确率>90%
数据准备
| 数据类型 | 数据量 | 来源 | 用途 |
|---|---|---|---|
| SCADA时序数据 | 50TB/年 | 变电站监控系统 | 电气参数监测 |
| DGA油色谱数据 | 120万条 | 油色谱在线监测装置 | 变压器内部状态 |
| 红外热成像 | 80万张 | 无人机/机器人巡检 | 热缺陷检测 |
| 局部放电数据 | 30TB/年 | 在线监测装置 | 绝缘状态评估 |
| 设备台账 | 12万台 | ERP系统 | 设备基础信息 |
| 历史故障案例 | 3000例 | 运维工单系统 | 案例推理知识库 |
| 技术标准文档 | 2000份 | 国标/行标/企标 | 规程知识库 |
系统架构
┌──────────────────────────────────────────────────────────────┐
│ 电力设备智能运维平台 │
│ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 用户交互层 │ │
│ │ 运维工作台 │ 移动端APP │ 调度大屏 │ API接口 │ │
│ └──────────────────────────┬─────────────────────────────┘ │
│ ↓ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ Agent编排引擎 (LangGraph) │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 时序异常 │ │ 视觉缺陷 │ │ DGA分析 │ │ │
│ │ │ 检测Agent │ │ 识别Agent │ │ Agent │ │ │
│ │ └────┬─────┘ └────┬─────┘ └────┬─────┘ │ │
│ │ └──────────────┼──────────────┘ │ │
│ │ ↓ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 融合诊断 │ │ 处置建议 │ │ 报告生成 │ │ │
│ │ │ Agent │→ │ Agent │→ │ Agent │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ └──────────────────────────┬─────────────────────────────┘ │
│ ↓ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 模型服务层 │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ ┌──────────┐ │ │
│ │ │ LLM推理 │ │ 视觉模型 │ │ 时序模型 │ │ │
│ │ │ (Qwen2.5 │ │ (缺陷检测 │ │ (异常检测 │ │ │
│ │ │ 72B) │ │ 专用) │ │ 专用) │ │ │
│ │ └──────────┘ └──────────┘ └──────────┘ │ │
│ │ │ │
│ │ ┌──────────┐ ┌──────────┐ │ │
│ │ │ 设备知识库│ │ 故障案例库│ │ │
│ │ │ (Milvus) │ │ (Milvus) │ │ │
│ │ └──────────┘ └──────────┘ │ │
│ └────────────────────────────────────────────────────────┘ │
│ ↑ │
│ ┌────────────────────────────────────────────────────────┐ │
│ │ 数据采集层 │ │
│ │ SCADA ←→ 单向网闸 ←→ 时序数据库(InfluxDB) │ │
│ │ 巡检机器人/无人机 ──→ 对象存储(图像/视频) │ │
│ │ 在线监测装置 ──→ DGA数据库 │ │
│ └────────────────────────────────────────────────────────┘ │
└──────────────────────────────────────────────────────────────┘
关键代码:融合诊断Agent
from langgraph.graph import StateGraph, END
from typing import TypedDict, List, Optional
from datetime import datetime
class DiagnosisState(TypedDict):
device_id: str
device_type: str # "transformer" / "breaker" / "gis"
alert_source: str # 触发来源
ts_anomalies: Optional[List[dict]] # 时序异常检测结果
visual_defects: Optional[List[dict]] # 视觉缺陷检测结果
dga_anomalies: Optional[List[dict]] # 油色谱异常检测结果
similar_cases: List[dict] # 相似历史案例
diagnosis: dict # 诊断结论
action_plan: dict # 处置方案
report: str # 诊断报告
def ts_anomaly_agent(state: DiagnosisState) -> DiagnosisState:
"""时序异常检测Agent"""
ts_data = fetch_device_timeseries(
state["device_id"],
metrics=["voltage", "current", "temperature",
"load", "oil_temperature", "winding_resistance"],
hours=720 # 最近30天
)
anomalies = timeseries_detector.detect(ts_data)
state["ts_anomalies"] = anomalies
return state
def visual_inspection_agent(state: DiagnosisState) -> DiagnosisState:
"""视觉缺陷检测Agent"""
images = fetch_recent_inspection_images(state["device_id"])
defects = vision_model.detect_defects(
images,
device_type=state["device_type"]
)
state["visual_defects"] = defects
return state
def dga_analysis_agent(state: DiagnosisState) -> DiagnosisState:
"""油色谱分析Agent(仅变压器)"""
if state["device_type"] != "transformer":
state["dga_anomalies"] = []
return state
dga_data = fetch_dga_data(state["device_id"])
# 大卫三角法 + 三比值法 + 大模型综合分析
anomalies = dga_analyzer.analyze(dga_data)
state["dga_anomalies"] = anomalies
return state
def fusion_diagnosis_agent(state: DiagnosisState) -> DiagnosisState:
"""融合诊断Agent —— 核心推理环节"""
prompt = f"""
你是一名资深电力设备诊断专家。请综合以下多源信息,进行故障诊断:
设备:{state['device_id']}({state['device_type']})
告警来源:{state['alert_source']}
1. 时序数据异常:
{format_anomalies(state.get('ts_anomalies', []))}
2. 视觉检测结果:
{format_defects(state.get('visual_defects', []))}
3. 油色谱分析:
{format_dga(state.get('dga_anomalies', []))}
4. 相似历史案例:
{format_cases(state.get('similar_cases', []))}
请输出:
- 故障类型判断(含置信度)
- 故障严重程度(一般/严重/紧急)
- 故障原因推理链
- 建议处置措施
- 是否需要立即停电处理
"""
diagnosis = llm.invoke(
prompt,
retrieval_mode=["device_manuals", "fault_knowledge_graph"],
temperature=0.05
)
state["diagnosis"] = diagnosis
return state
def action_planning_agent(state: DiagnosisState) -> DiagnosisState:
"""处置方案生成Agent"""
severity = state["diagnosis"]["severity"]
fault_type = state["diagnosis"]["fault_type"]
prompt = f"""
基于以下诊断结果,生成处置方案:
设备:{state['device_id']}
故障类型:{fault_type}
严重程度:{severity}
请按照《设备检修规程》要求,生成包含以下内容的处置方案:
1. 应急措施(如需)
2. 检修方案(步骤、所需工器具、人员配置、时间估算)
3. 所需备品备件清单
4. 安全注意事项
5. 后续监测建议
"""
plan = llm.invoke(
prompt,
retrieval_mode=["maintenance_regulations", "spare_parts_catalog"],
temperature=0.1
)
state["action_plan"] = plan
return state
def report_generator_agent(state: DiagnosisState) -> DiagnosisState:
"""诊断报告生成Agent"""
report = format_diagnosis_report(state)
state["report"] = report
return state
# 构建诊断工作流
workflow = StateGraph(DiagnosisState)
workflow.add_node("detect_ts", ts_anomaly_agent)
workflow.add_node("detect_visual", visual_inspection_agent)
workflow.add_node("analyze_dga", dga_analysis_agent)
workflow.add_node("fuse_diagnose", fusion_diagnosis_agent)
workflow.add_node("plan_action", action_planning_agent)
workflow.add_node("gen_report", report_generator_agent)
# 并行检测 → 汇聚诊断 → 生成方案 → 输出报告
workflow.add_edge("detect_ts", "fuse_diagnose")
workflow.add_edge("detect_visual", "fuse_diagnose")
workflow.add_edge("analyze_dga", "fuse_diagnose")
workflow.add_edge("fuse_diagnose", "plan_action")
workflow.add_edge("plan_action", "gen_report")
workflow.add_edge("gen_report", END)
diagnosis_app = workflow.compile()
效果评估
系统上线12个月后的效果数据:
| 指标 | 上线前 | 上线后 | 变化 |
|---|---|---|---|
| 缺陷发现时间(平均) | 故障前1-2周 | 故障前2-6个月 | 提升10倍 |
| 故障诊断准确率 | 72%(人工) | 91%(AI辅助) | +26% |
| 单次诊断耗时 | 4-8小时 | 15-45分钟 | -90% |
| 重复性分析工作 | 占运维60%时间 | 降低至20% | -67% |
| 设备非计划停运率 | 0.8次/百台·年 | 0.3次/百台·年 | -63% |
| 年度运维成本节省 | - | 约2800万元 | ROI >300% |
运维工程师的反馈最为直观:"以前拿到一组异常DGA数据,要翻半天手册、对比历史记录、请教老师傅。现在系统直接告诉我:根据大卫三角法判断为低温过热,置信度85%,建议检查有载分接开关触头。并附上3个相似案例。我只需验证和执行。"
11.6 陷阱与最佳实践
陷阱一:忽视工业安全边界
典型案例:某能源企业在试点中尝试将大模型直接接入SCADA系统,希望通过API直接下发控制指令。虽然技术上可行,但在安全审计中被一票否决——工业控制系统要求任何操作指令必须由人在回路中确认,AI系统不得绕过这一原则。
最佳实践:
- 大模型只生成建议,不直接控制设备——"AI推荐、人工确认、系统执行"
- OT与IT之间必须通过单向网闸隔离,数据流方向严格受控
- 任何涉及控制操作的AI建议必须经过双人审核
陷阱二:时序数据的"伪精度"
典型案例:某新能源公司直接将时序数据转成文本喂给LLM做负荷预测,结果模型"创造"了历史上从未出现过的负荷模式,原因在于LLM的文本生成本质使其倾向于生成"看起来合理"但实际不存在的数值。
最佳实践:
- 时序预测任务优先使用专用时序模型,LLM作为增强而非替代
- 所有数值预测结果必须经过物理约束校验(如负荷值不能为负、不能超过最大容量)
- 部署异常检测模块,对预测结果进行合理性检查
陷阱三:忽视行业知识的时效性
典型案例:某电力公司的设备运维知识库基于2020年的技术标准构建,但2023年新版GB/T 1094系列标准已经对变压器状态评价方法做了重大修订。系统继续按旧标准给出建议,导致多次误判。
最佳实践:
- 知识库建立版本管理机制,标注每份文档的生效/失效日期
- 设置法规变更监控Agent,定期扫描标准发布平台
- 对检索到的知识进行时效性标注,过期知识自动降权或标注警告
陷阱四:边缘部署的"性能幻觉"
典型案例:某风电场在实验室环境下测试边缘推理效果良好,部署到现场后发现:风电场的极端低温(-30度)导致GPU性能下降40%,加之网络延迟波动,实际推理延迟从预期的2秒变成了15秒。
最佳实践:
- 边缘设备选型必须考虑极端环境(温度、湿度、振动、电磁干扰)
- 在目标环境下做压力测试,而非仅在实验室测试
- 部署降级策略:边缘超时时回退到规则引擎,保证系统可用性
陷阱五:数据孤岛导致诊断盲区
典型案例:某变电站的变压器故障诊断系统只使用了DGA数据,忽略了红外热成像和声音信号,导致一起套管接触不良缺陷漏报——DGA数据正常,但红外图像已经显示了明显的温度异常。
最佳实践:
- 设备诊断必须融合多源数据(电气量、化学量、物理量)
- 构建统一的数据接入层,打破SCADA、在线监测、巡检系统之间的数据壁垒
- Agent编排设计时,检测类Agent应并行运行而非串行,避免信息遗漏
最佳实践总结
| 维度 | 最佳实践 |
|---|---|
| 安全 | AI只建议不控制,人在回路中确认,OT/IT隔离 |
| 精度 | 时序用专用模型,LLM做增强,物理约束校验 |
| 知识 | 版本管理,时效性标注,法规变更监控 |
| 部署 | 极端环境测试,降级策略,边缘-云协同 |
| 数据 | 多源融合,打破孤岛,统一接入层 |
| 人机 | 专家审核机制,置信度标注,持续学习反馈 |
11.7 本章小结
能源行业是大模型落地的"硬核"战场——既有着极高的技术门槛(时序数据融合、工业安全约束、边缘部署),又有着巨大的应用价值(电网安全、双碳目标、新能源消纳)。
本章的核心要点:
- 场景驱动:智能调度、设备运维、碳管理、新能源预测是能源行业大模型的四大核心场景,每个场景都有明确的经济价值和安全价值。
- 技术架构:时序数据与LLM的融合是核心技术挑战,三条路线(Tokenizer、双塔融合、Agent编排)各有适用场景。Agent编排因其灵活性和可解释性,在复杂决策场景中优势明显。
- 安全底线:工业控制系统安全是不可逾越的红线。"AI建议、人工确认、系统执行"的原则必须贯穿始终。
- 边缘刚需:能源设施分布广泛,边缘推理能力是规模化部署的前提。模型蒸馏和量化是关键技术。
- 实战验证:电力设备智能运维系统的实践表明,大模型可以将缺陷发现时间从故障前1-2周提前到2-6个月,诊断准确率从72%提升至91%。
能源行业的特殊性在于:它既是AI技术的"试金石"——对精度、安全、实时性的要求极高;也是AI价值的"放大器"——一个正确的调度决策可以节省数百万元、减少数千吨碳排放。随着新型电力系统建设的深入推进和双碳目标的持续逼近,大模型在能源行业的应用将从试点走向全面铺开。
下一章我们将进入交通与物流领域——另一个对实时性和安全性有着极致要求的行业,看看大模型如何为"智慧出行"和"智能物流"注入新的能力。
延伸阅读
- 国家电网"光明"大模型技术白皮书 -- 国家电网官方发布,详细介绍光明大模型的技术架构和调度应用场景。
- 华为盘古气象大模型 (Bi et al., Nature 2023) -- 首次在天气预报精度上超越传统数值方法的AI模型,是新能源出力预测的重要基础。
- Time-LLM: Time Series Forecasting by Reprogramming Large Language Models (Jin et al., ICLR 2024) -- 时序数据与LLM融合的经典论文,提出将时序数据重新编程为LLM可理解的token。
- 中国能源大数据产业发展白皮书2025 -- 中国能源研究会发布,包含能源行业数字化转型的最新数据和趋势分析。
- 全国碳市场发展报告2025 -- 生态环境部发布,全国碳市场运行数据与政策展望。
国家电网年度社会责任报告2025
中国电力企业联合会,全国电力工业统计快报(2025年)
Time-LLM: Time Series Forecasting by Reprogramming Large Language Models, ICLR 2024
Accurate medium-range global weather forecasting with 3D neural networks, Nature 2023
全国碳排放权交易市场年度报告2025,生态环境部