Skip to content

安全机制

安全机制

UnveilChem SDL 2.0 部署四重安全机制,覆盖输入校验、执行门控、任务连续性、数据可追溯四个维度,确保智能体决策在物理可行性与历史可回溯性上不出错。

1. 物理极限语义防火墙

作用:在所有 Tool 调用前强制校验输入参数是否超出物理极限。

实现

  • 持有硬件 / 物理极限白名单(温度 / 压力 / 浓度 / 流量等)
  • 所有 Tool 输入经校验,超限直接拦截,不进入仿真或硬件执行
  • 白名单可按设备型号 / 工艺类型差异化配置

示例

  • 反应釜温度上限 350°C → 输入 500°C 直接拦截
  • 蒸馏塔压力下限 -0.1 MPa → 输入 -0.5 MPa 直接拦截

2. 串行孪生门控

作用:强制”先模拟后实体”,阻断危险方案上机。

实现

  • digital_twin_agent 必须先于 sdl_device_agent 完成 MuJoCo 仿真
  • 仿真未通过(碰撞 / 扭矩超限 / 温升异常)→ 自动拦截硬件调度
  • 仿真通过 → 生成”放行令牌”,sdl_device_agent 凭令牌下发实验

门控流程

processpi_sim_agent ──► digital_twin_agent ──┬─► 通过 ──► 放行令牌 ──► sdl_device_agent
└─► 拦截 ──► 终止流程 + 告警

3. 异步任务队列

作用:保障长周期任务(数小时 / 数天)的连续性,支持断点续传。

实现

  • 所有 Agent 任务进入持久化队列(PostgreSQL 后端)
  • 任务状态机:pendingrunningpauseddone / failed
  • 工作节点崩溃后,未完成任务由状态存储器恢复至最近 checkpoint
  • 用户可主动 pause / resume 任务

4. 时间轴版本管理

作用:所有数据(仿真结果 / 实验记录 / 模型参数)按时间轴版本化存储,永不覆盖。

实现

  • 新数据写入新版本,旧版本保留只读
  • 支持任意历史版本回溯与对比
  • 配合 bayes_opt_agent 的迭代历史,完整复现优化路径

版本结构

entity_id /
├── v1 / 2026-01-01T10:00:00Z / data.json
├── v2 / 2026-01-02T15:30:00Z / data.json
└── v3 / 2026-01-03T09:12:00Z / data.json ← 当前版本

安全机制协作

四重机制串行生效,形成纵深防御:

用户输入
[1] 物理极限语义防火墙 ──► 拦截超限输入
[2] 串行孪生门控 ──► 拦截危险方案上机
[3] 异步任务队列 ──► 保障任务连续性
[4] 时间轴版本管理 ──► 保障数据可回溯