-
Notifications
You must be signed in to change notification settings - Fork 0
AgentOS Primer
中文 | English
维护版本:v0.51.2 | 最后更新:2026-07-06
本页给电力行业工程师补足 Agent / LLM / 多智能体等 AI 概念,让 EnerOS 代码里的 LlmClient、PPO、SHAP 不再是黑话。wiki 独有内容。
Agent = 感知 + 决策 + 行动 的闭环实体。
| 概念 | 类比电力系统 |
|---|---|
| Agent | 一个自动化的运行人员(如调度员 Agent) |
| 感知(Perception) | SCADA 数据采集 |
| 决策(Decision) | 调度策略计算 |
| 行动(Action) | 下发调度命令 |
EnerOS 中的 Agent 通过 Agent trait 定义(见 eneros-agent),每个 Agent 是一个独立运行单元,有生命周期(spawn → run → stop)。
EnerOS 内置 7 种领域 Agent(见 Agent Runtime):
- DispatchAgent(调度)
- SelfHealingAgent(故障自愈)
- LoadForecastAgent(负荷预测)
- MaintenanceAgent(运维)
- PlanningAgent(规划)
- TradingAgent(交易)
- EnergyAgent(能效)
LLM = 用海量文本训练的深度神经网络,可生成自然语言响应。
| 术语 | 含义 |
|---|---|
| Prompt | 输入 LLM 的文本("请给出故障定位建议") |
| Token | LLM 处理的最小单位(≈ 一个汉字 / 半个英文单词) |
| Context Window | LLM 单次能处理的最大 token 数(如 8K、32K、128K) |
| Temperature | 随机性参数,0 = 确定,1 = 高随机 |
| Hallucination | 幻觉——LLM 编造不存在的事实 |
EnerOS 通过 LlmClient trait 抽象 LLM 调用(见 LLM Integration),支持三大后端:
- OpenAI(GPT-4o / o1)
- Anthropic(Claude 3.5 Sonnet)
- Ollama(本地推理,推荐边缘部署)
关键问题:LLM 不安全——它会输出超过权限的命令(如 EmergencyOverride)。EnerOS 的 LlmDecisionParser 自动拒绝 EmergencyOverride,转 RequestApproval。
LLM 知识有限,RAG 通过"先检索后生成"补充领域知识:
用户问题 → 向量化 → 检索相关文档 → 拼接 Prompt → LLM 生成答案
EnerOS 在 eneros-ai 中提供:
-
EmbeddingModeltrait — 文本向量化(支持 ONNX Runtime) -
VectorStoretrait — 向量存储与相似度检索(InMemoryVectorStore/UsearchStore) -
SemanticMemory— 嵌入检索 + TF-IDF 回退
电力场景应用:故障诊断时检索历史相似故障的处理方案,注入 LLM 上下文。
复杂任务单个 Agent 难以完成,多个 Agent 协作:
| 模式 | 英文 | 类比电力 | EnerOS 实现 |
|---|---|---|---|
| 主从分配 | MasterSlave | 调度中心 → 各厂站 | MasterSlaveCoordinator |
| 对等协商 | PeerToPeer | 厂站间直连协商 | PeerCoordinator |
| 合同网竞标 | Bidding | 现货市场报价 | BiddingCoordinator |
CollaborationCoordinator trait 统一抽象三种模式,协作失败 fallback 到 route_action。
详见 Agent Runtime 与 ADR-0010。
RL = Agent 通过试错与环境交互学习最优策略。
| 术语 | 含义 |
|---|---|
| State | 当前电网状态(电压、潮流、负荷) |
| Action | Agent 决策(如调整发电机出力) |
| Reward | 奖励信号(如越限减少 +1,成本降低 +1) |
| Policy | 策略 π(a |
| Episode | 一次完整试错序列 |
PPO(Proximal Policy Optimization)— 当前主流 RL 算法,OpenAI 用于训练 GPT。EnerOS 的 PpoAgent(在 eneros-agent::learning)实现纯 Rust MLP + 可选 candle GPU 后端。
安全约束奖励塑形 — PowerRewardShaper 把电网安全约束(电压越限、热稳定)转化为负奖励,引导 PPO 学出安全策略。
电力决策必须可解释(监管要求)。EnerOS 在 eneros-agent::explain 提供 4 种解释器:
| 解释器 | 方法 | 用途 |
|---|---|---|
ShapExplainer |
TreeSHAP / Integrated Gradients | 特征重要性 |
LimeExplainer |
LIME | 局部线性近似 |
AuditTrailExplainer |
审计重建 | 历史决策回放 |
CompositeExplainer |
优先级组合 | 多解释器融合 |
输出格式:JSON / DOT(Graphviz)/ Mermaid 三种序列化。
电力 Agent 决策可能影响实体电网,安全边界至关重要:
| 风险 | EnerOS 防御 |
|---|---|
| LLM 幻觉下发危险命令 |
LlmDecisionParser 拒绝 EmergencyOverride
|
| Agent 决策违反物理约束 |
SafetyGateway 类型层不可绕过 |
| 决策时延超预算 | WCET 框架 2× 预算触发看门狗 |
| 审计被篡改 | HMAC-SHA256 链式哈希 + WORM 存储 |
| 跨租户数据泄露 | 多租户命名空间隔离(404 而非 403) |
详见 Safety Gateway 与 Zero-Trust Security。
v0.50.1+ 引入独立测试 crate tests/llm_verify/,用本地 Ollama 跑 100 个真实电力场景,验证 LLM Agent 输出与场景一致:
| 硬指标 | 含义 | 阈值 |
|---|---|---|
| C1 | EmergencyOverride 泄出 | = 0 |
| C2 | JSON 解析成功率 | ≥ 95% |
| C3 | SafetyGateway 绕过 | = 0 |
| C4 | 审计完整 | = 100% |
v0.50.2 新增语义正确性验证层——11 类期望规则 + 3 项匹配(keyword / action_type / direction),20 轮主测试入口。
详见 LLM Integration 与 ADR-0017 / ADR-0018。
- Power System Primer — 给 SW/AI 工程师的电力系统速通
- Agent Runtime — 7 种领域 Agent + 协作
- LLM Integration — LlmClient + 真实场景验证
- Safety Gateway — Agent 决策的安全边界
- Glossary — 术语表
EnerOS Wiki | v0.51.2