第 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应用的三大驱动力

  1. 安全刚需:电力系统事故影响面极广(还记得2021年德州大停电吗?),AI辅助决策可以显著降低人为失误
  2. 效率压力:新能源消纳率要求持续提高,调度精细度要求从"15分钟级"迈向"秒级"
  3. 碳约束:碳市场扩容+碳价上涨,企业需要精准管理每一吨碳排放

主要玩家与产品

企业大模型产品核心场景
国家电网光明大模型电网调度、设备运维、智能客服
南方电网"南网智搜"知识问答、设备巡检
华为盘古气象大模型天气预报、新能源出力预测
百度文心·能源版智能巡检、安全生产
阿里通义千问·工业版设备运维、能效管理
商汤日日新·能源视觉巡检、安全合规

11.3 核心应用场景

智能调度与负荷预测(国网"光明大模型")

智能调度是能源行业大模型落地的"皇冠上的明珠"。

**国网"光明大模型"**是国家电网于2024年底发布、2025年全面试点的电力行业大模型,参数规模千亿级,在电力调度、设备运维、客户服务等多个场景部署。

调度辅助决策的技术架构

实时数据层                    认知推理层                   决策输出层
─────────                    ──────────                   ──────────
SCADA实时数据(秒级)   ──→   时序编码器                 ──→  负荷预测结果
气象预报数据(小时级)  ──→   (PatchTST + LLM backbone)  ──→  调度方案建议
新能源出力实测       ──→   ↓                           ──→  风险评估报告
跨省交易计划         ──→   LLM推理引擎                 ──→  可解释性说明
储能充放电状态       ──→   (调度规程RAG + 推理链)      ──→  人机对话接口
历史调度案例库       ──→   ↓                           ──→
设备检修计划         ──→   约束校验模块                 ──→
                       (安全约束 + 经济约束 + 碳约束)

负荷预测的关键创新在于将传统时序模型与LLM融合:

  • 传统方法:LSTM、Transformer等时序模型直接预测负荷曲线,精度约96-97%
  • LLM增强方法:用时序模型生成基础预测,再用LLM融合外部知识(天气预报文本、重大事件信息、历史相似日描述),精度可达98.5%以上
  • "光明"实测:在华北电网试点中,短期负荷预测MAPE(平均绝对百分比误差)从1.8%降至0.9%

实际效果(国网华北分部试点数据):

指标传统调度光明大模型辅助提升
日前负荷预测MAPE1.8%0.9%50%
调度方案生成时间30分钟45秒97%
新能源弃电率5.2%3.1%40%
调度员工作量全程手动审核确认为主降70%

设备运维与故障诊断

电力设备运维是一个典型的"数据丰富、知识分散"场景。一台大型变压器寿命周期内产生的监测数据超过10TB,但故障诊断高度依赖资深工程师的经验。

大模型在设备运维中的三层能力

  1. 数据理解层:将传感器时序数据、油色谱数据、红外热成像数据转化为自然语言描述
  2. 知识检索层:从设备手册、历史故障案例、行业标准中检索相关知识
  3. 推理诊断层:综合多源信息,推理故障原因,给出处置建议
┌───────────────────────────────────────────────────┐
│              设备智能运维Agent系统                  │
│                                                    │
│  传感器数据 ──→ 时序异常检测(小模型) ──→ ┐         │
│                                          │         │
│  红外图像 ──→ 视觉缺陷识别(视觉模型) ──→ ├→ 多模态  │
│                                          │  融合   │
│  油色谱数据 ──→ 特征提取(专家规则) ──→ ──┘  引擎   │
│                                           │        │
│  设备手册/案例库 ──→ RAG检索 ─────────────┘        │
│                                       ↓            │
│                              ┌─────────────┐       │
│                              │ LLM诊断推理  │       │
│                              │ 故障定因     │       │
│                              │ 处置建议     │       │
│                              │ 风险评估     │       │
│                              └─────────────┘       │
└───────────────────────────────────────────────────┘

关键能力

  • 多源异构数据融合:将SCADA时序数据、油色谱分析数据、红外热成像、声音信号等多模态数据统一编码
  • 故障知识图谱:构建覆盖变压器、断路器、GIS等主要设备类型的故障知识图谱,包含故障模式、因果链、处置方案
  • 案例推理:从历史故障案例库中检索相似案例,提供参考处置方案
  • 自然语言交互:运维人员可用自然语言询问"这台变压器今天DGA数据是否正常",系统自动理解并回答

碳排放管理与减排方案

双碳目标下,能源企业面临着前所未有的碳排放管理压力。2025年全国碳市场碳价突破120元/吨,碳排放已从"环保议题"变成"经济议题"。

大模型赋能碳管理的三个层次

  1. 碳核算自动化:从能源消耗记录、生产报表中自动提取数据,按排放因子计算碳排放量,替代人工填报
  2. 碳排归因分析:分析碳排放的驱动因素(产量变化、能源结构调整、天气异常等),识别减排关键抓手
  3. 减排方案生成:结合企业实际情况,生成可执行的减排方案(设备改造、能源替代、工艺优化、碳交易策略等)

碳排放管理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       │
│                     │  审计日志记录    │                      │
│                     └──────────────────┘                      │
│                                                              │
│  ┌──────────────────────────────────────────────────────┐   │
│  │  安全管控层:访问控制 / 入侵检测 / 数据加密 / 审计追溯  │   │
│  └──────────────────────────────────────────────────────┘   │
└─────────────────────────────────────────────────────────────┘

关键安全措施

  1. 单向数据流:OT数据通过单向网闸流入IT区,LLM的分析结果经人工审核后由操作员在OT区执行
  2. 数据脱敏:实时数据在离开OT区前进行脱敏处理,去除敏感运行参数
  3. 指令禁止:LLM系统只能生成建议,不能直接向控制系统下发指令
  4. 审计追踪:所有数据流转和模型推理过程完整记录
  5. 权限最小化:Agent只能访问完成其任务所必需的数据范围

边缘推理方案

能源行业的部署环境特殊——变电站、风电场、油气田往往位于偏远地区,网络条件不稳定,而故障诊断和应急响应又要求低延迟。

边缘-云协同架构

┌──────────────────────────────────────────────────────┐
│                   云端(中心机房)                      │
│                                                      │
│  ┌──────────┐  ┌──────────┐  ┌──────────────────┐   │
│  │ 大模型    │  │ 知识库    │  │ 模型训练与更新    │   │
│  │ (72B参数) │  │ (全量)    │  │ (增量微调)       │   │
│  └──────────┘  └──────────┘  └──────────────────┘   │
│        ↑              ↑              │               │
│        └──────────────┴──────────────┘               │
│                    模型蒸馏/量化                       │
│                         ↓                             │
│  ┌──────────────────────────────────────────────┐    │
│  │         边缘节点(变电站/风电场)               │    │
│  │                                              │    │
│  │  ┌──────────┐  ┌──────────┐  ┌──────────┐   │    │
│  │  │ 小模型    │  │ 本地知识库│  │ 时序模型  │   │    │
│  │  │ (1.5-7B) │  │ (精简版)  │  │ (实时预测)│   │    │
│  │  └──────────┘  └──────────┘  └──────────┘   │    │
│  │                                              │    │
│  │  推理硬件:NVIDIA Jetson / 华为Atlas 200      │    │
│  │  网络:断网可运行,联网时同步更新               │    │
│  └──────────────────────────────────────────────┘    │
└──────────────────────────────────────────────────────┘

边缘模型选型

边缘设备模型规格推理延迟适用场景
NVIDIA Jetson OrinQwen2.5-1.5B-Q4<500ms变电站智能巡检
华为 Atlas 200I DKDeepSeek-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 本章小结

能源行业是大模型落地的"硬核"战场——既有着极高的技术门槛(时序数据融合、工业安全约束、边缘部署),又有着巨大的应用价值(电网安全、双碳目标、新能源消纳)。

本章的核心要点:

  1. 场景驱动:智能调度、设备运维、碳管理、新能源预测是能源行业大模型的四大核心场景,每个场景都有明确的经济价值和安全价值。
  2. 技术架构:时序数据与LLM的融合是核心技术挑战,三条路线(Tokenizer、双塔融合、Agent编排)各有适用场景。Agent编排因其灵活性和可解释性,在复杂决策场景中优势明显。
  3. 安全底线:工业控制系统安全是不可逾越的红线。"AI建议、人工确认、系统执行"的原则必须贯穿始终。
  4. 边缘刚需:能源设施分布广泛,边缘推理能力是规模化部署的前提。模型蒸馏和量化是关键技术。
  5. 实战验证:电力设备智能运维系统的实践表明,大模型可以将缺陷发现时间从故障前1-2周提前到2-6个月,诊断准确率从72%提升至91%。

能源行业的特殊性在于:它既是AI技术的"试金石"——对精度、安全、实时性的要求极高;也是AI价值的"放大器"——一个正确的调度决策可以节省数百万元、减少数千吨碳排放。随着新型电力系统建设的深入推进和双碳目标的持续逼近,大模型在能源行业的应用将从试点走向全面铺开。

下一章我们将进入交通与物流领域——另一个对实时性和安全性有着极致要求的行业,看看大模型如何为"智慧出行"和"智能物流"注入新的能力。

延伸阅读


1

国家电网年度社会责任报告2025

2

中国电力企业联合会,全国电力工业统计快报(2025年)

3

Time-LLM: Time Series Forecasting by Reprogramming Large Language Models, ICLR 2024

4

Accurate medium-range global weather forecasting with 3D neural networks, Nature 2023

5

全国碳排放权交易市场年度报告2025,生态环境部