01
ChemAgent 是什么
- 化工工艺仿真的 AI 助手,Windows 桌面应用
- 通过 COM 接口直接操控 ASPEN Plus V12
- 用自然语言交互,AI 自动完成从建模到出报告的全流程
02
解决什么问题
学习曲线陡峭
ASPEN 操作复杂,新手上手慢,培训周期长
手工试错耗时
一个项目 5–20 轮迭代调参,可能折腾好几天
经验难以沉淀
老工程师的调参经验在脑子里,人走了就没了
文档重复劳动
物料平衡表等交付物每次都要手动整理
03
目标用户
- 化工 / 医药 / 石化的工艺设计工程师(3–15 年经验)
- 尤其是中初级工程师需要独立做仿真的场景
- 资深工程师也受益:AI 跑粗调,自己终审
04
MVP 范围 — 先把核心做到极致
Step 1ASPEN 仿真优化
→
Step 2物料平衡表
→
Step 3PFD 流程图
→
Step 4P&ID 管道仪表图
MVP 只做 Step 1 和 2,但一步到位做到行业领先:
| Step | 做什么 | 输入 | 输出 |
|---|---|---|---|
| 仿真优化 | AI 通过 COM 直接操控 ASPEN,自动迭代调参直到收敛达标 | 用户自然语言描述需求 | 收敛的 ASPEN 模型 + 各股流数据 + 设备规格 |
| 物料平衡表 | 从仿真结果自动提取,交叉验证质量/能量守恒 | Step 1 的收敛结果 | 标准物料平衡表(界面查看 + Excel 导出) |
虽然只做两步,但底层全建好 — 知识库、记忆系统、Multi-Agent、Skill 工艺包、版本管理全部在 MVP 覆盖。后续加 Step 3、4 是往上搭积木,不是推倒重来。
MVP 支持的工艺类型
| 优先级 | 工艺类型 |
|---|---|
| P0 首批 | 精馏、闪蒸、混合/分流 |
| P1 紧随 | 简单反应器、反应精馏、换热器 |
05
核心技术框架
5.1 六个 AI 专家协同工作(Multi-Agent)
不是一个 AI 什么都干,而是六个专家各司其职,由总调度统一指挥:
- 实线:总调度根据任务类型,派相应专家干活
- 虚线闭环:仿真不收敛时,操作员→诊断师→安全员 自动循环,无需回到总调度
- 用户只跟总调度对话,看不到后面的分工
为什么不用一个 AI? 学术论文实测证明(Imperial/BYU Sketch2Simulation, 2026),单 AI 在多步推理时注意力衰减、错误传播,Multi-Agent 在简单案例达到 F1=1.00 而单 Agent 做不到。而且化工仿真的子任务差异巨大 — 诊断不收敛需要深度推理模型,安全校验需要确定性规则引擎不能靠 AI 猜,报告生成需要模板 — 天然就该拆开。
四档模式 — 总调度自动判断,用户不需要手动选
总调度收到用户消息后,根据意图复杂度自动决定启动哪些专家:
| 场景 | 启动谁 | 例子 |
|---|---|---|
| 简单问答 | 调度 + 诊断 + 报告 | "当前结果怎么样?" |
| 微调一个参数 | 调度 + 操作 + 安全 + 报告 | "回流比改成 2.5" |
| 完整设计 | 全部六个 | "设计甲醇-水精馏塔" |
| 不收敛修复 | 调度 + 诊断 + 安全 | ASPEN 跑飞了 |
5.2 工艺包(Skill)— 可扩展的专业知识模块
每种工艺类型(精馏、反应、闪蒸...)封装成一个 Skill 包,包含:
- 工艺概述和流程说明
- 仿真参数指南(温度范围、典型塔板数、回流比经验值等)
- 安全规则(硬边界定义)
- 物料平衡表模板 — 定义该工艺类型的交付物格式:包含哪些列、校验规则、导出样式。不同工艺的物料平衡表长得不一样:精馏塔要展示塔顶/塔底/进料各股流,反应器要展示转化率/选择性
- 参考案例(甲醇-水、乙醇-水等,作为示例教 AI "好的方案长什么样")
Skill 与 Agent 的关系:Skill 是菜谱,Agent 是厨师。 Skill 本身只是数据和参考资料,不包含 AI 行为逻辑。Agent 的"怎么思考、怎么决策"由各自的内置指令定义,Skill 只提供"这个工艺类型的具体参数是什么"。
总调度(Orchestrator)是唯一读取 Skill 的人,然后按需把相关内容分发给各专家:
| Skill 里的内容 | 分发给谁 | 什么时候给 |
|---|---|---|
| 工艺概述 + 流程说明 | 总调度自己用 | 用户创建项目选工艺类型时 |
| 仿真参数指南 + 参考案例 | 规划师 + 操作员 | 开始规划方案和操控 ASPEN 时 |
| 安全规则 | 安全员 | 每次改参数前的安全检查时 |
| 物料平衡表模板 | 报告员 | 用户确认版本后手动触发生成物料平衡表时 |
| 参考案例 | 规划师 | 作为"示范答案"帮 AI 推荐更准的初始参数 |
| 关联知识库条目列表 | 规划师 + 诊断师 | 检索知识库时,限定范围到相关工艺 |
加载是渐进式的,不是一股脑全塞进去
发现阶段应用启动时,只读每个 Skill 的名字和简介,用于识别用户意图
→
激活阶段用户选了工艺类型,加载该 Skill 的完整概述和工作流模板
→
执行阶段各专家干活时,按需传递具体内容 — 每个人只看到自己需要的部分
为什么这样设计? 每个专家只看到自己需要的资料,不会被无关信息干扰。新增工艺类型 = 写一套新 Skill 包,不改任何代码。同一个规划师加载精馏 Skill 就是精馏专家,加载反应器 Skill 就是反应器专家。
5.3 自动迭代闭环(核心工作流)
整个流程分两个阶段:迭代仿真阶段 和 产出物阶段。
迭代仿真阶段(自动 + 人机协作)
用户描述需求
→
规划师出方案查知识库 + 用户记忆 + Skill 参数指南
→
安全员预检规则引擎检查参数是否在安全边界内
→
用户确认方案
↓
操作员跑仿真操控 ASPEN 建模 + 运行 → v1
→
诊断师分析查知识库历史经验 + 深度推理分析
→
安全员复检新参数安全校验
→
自动循环v2, v3... 直到收敛达标
- 每一轮仿真产生一个独立版本(v1, v2, v3...),有完整的仿真结果
- 用户可以随时在界面上切换查看任意版本的结果
- 收敛了但用户不满意?("能耗太高""纯度再提一点")— 诊断师重新分析,继续调参再跑
- 用户可随时手动干预("回流比再高一点"),AI 据此调整
- 用户也可以回溯到历史版本,从那个版本重新分支
谁在什么时候查知识库
| 专家 | 查知识库的时机 | 查什么 |
|---|---|---|
| 规划师 | 收到用户需求,准备出方案时 | 历史项目经验、工艺参数范围 |
| 诊断师 | 拿到仿真结果,准备分析时 | 类似工况的历史处理经验 |
| 其他 Agent | 不查 | — |
产出物阶段(用户主动触发)
用户对某版本满意
→
标记「已确认」点按钮或对话说"确认 v5"
→
手动触发生成点「生成产出物」按钮
或说"帮我出一下物料平衡表"
或说"帮我出一下物料平衡表"
→
物料平衡表按 Skill 模板生成
可预览、可下载 Excel
可预览、可下载 Excel
关键设计:物料平衡表不会自动生成 — 必须用户确认版本 + 主动触发。AI 不自作主张出交付物。
安全兜底贯穿全程
- 参数有硬边界(如温度 -200~500°C,压力 0.001~100atm),超了就拦
- 迭代有上限,到了就停下来请人介入
- 安全员用的是确定性规则引擎,不是 AI 猜的
5.4 知识库(KB)— 专业参考资料
AI 推荐参数不是凭空编的,而是先查知识库找经验值。
知识库 vs Skill 的区别:Skill 是静态的"专家手册"(跟着软件版本发布,开发团队维护),知识库是动态的"资料库"(用户可以不断往里加东西)。Skill 告诉 AI "这类工艺该怎么干",知识库提供"具体的参考数据和历史经验"。两者配合:Skill 给框架,知识库给数据。
知识库四个入口
| 入口 | 触发方式 | 存什么 |
|---|---|---|
| 出厂预置 | 安装时自带 | 通用工艺参考资料(热力学模型选择指南、参数经验范围、物性数据) |
| 文件导入 | 用户在知识库管理页面手动导入 | 普通文档(.md/.txt/.csv)直接分块向量化;ASPEN 项目文件(.bkp)通过 COM 打开 → 自动抽取结构化数据(组分、物性方法、设备参数、流股工况)→ 向量化入库。.bkp 导入需要本机装有 ASPEN V12 |
| 项目成果入库 | 版本已确认状态下,用户点「存入知识库」按钮 | 该版本的 .bkp 结构化数据 + 物料平衡表 |
| 对话沉淀 | AI 消息旁边,用户点「存到知识库」按钮 | 该条对话中有价值的知识 |
核心原则:知识库 = 用户背书过的好经验。 三个用户触发的入口逻辑统一 — 用户确认 → 点按钮 → 入库。AI 永远不自作主张往知识库里塞东西。这样保证知识库里全是经过验证的靠谱经验,不会被试错过程中的错误数据污染。
AI 检索机制:用向量语义检索(类似"智能搜索"),不是关键词匹配。比如用户说"甲醇提纯",知识库会匹配到"甲醇-水精馏"相关经验,即使用词不完全一样。所有推荐都带参考来源,可追溯。
重点功能:.bkp 历史项目入库 — 你们公司几十年的历史项目 .bkp 文件,导进去 AI 就自动学习过往经验(组分选择、参数配置、工况数据)。冷启动就有料可用,不是从零开始。
5.5 记忆系统 — 越用越聪明
分短期记忆和长期记忆两大类:
短期记忆 — 项目内
L1
工作记忆
当前对话的上下文。全量保存在数据库里不丢失,但 AI 每次处理时只看最近 5 条消息 + 早期对话的 8 段结构化摘要。当上下文占到 85% 窗口时自动压缩,关键决策点(参数变更、收敛结果、用户确认)永远不会被压缩丢弃。
跟项目走,全量持久化
L2
项目记忆
这个项目的组分、目标、已确认决策、各版本参数
项目存在就在,切换项目就切换
长期记忆 — 跨项目,越用越聪明
L3
用户偏好
"我习惯用 NRTL""我偏好节能优先""温度单位用摄氏度"
永久保存,跟人走不跟项目走
L4
知识库
上一节讲的专业资料(出厂预置 + 用户导入 + 项目成果 + 对话沉淀)
永久保存,跨项目共享
短期 vs 长期的区别:你今天在项目 A 做甲醇精馏 → L1/L2 只服务于项目 A。明天开个新项目 B 做乙醇精馏 → L1/L2 全新开始,但 L3 记得你喜欢用 NRTL,L4 记得项目 A 的成功经验。就像一个工程师:每个项目的工作台是新的,但脑子里的习惯和经验一直在。
L3 怎么学的? AI 自动从对话中提取 — 检测到用户说"我一般用 NRTL"就自动记下来,不需要用户手动操作。(区别于知识库的对话沉淀,那个需要用户点按钮)
关键设计
- L3 偏好用规则精确匹配,不用模糊检索 — "醇水系统用 NRTL"是硬规则,不能模糊
- 不同工艺类型之间的记忆不交叉污染
- 用户可以在设置页面查看、编辑、删除任何一条记忆,完全透明可控
06
数据隔离与安全
纯本地部署 — 所有项目数据(参数、仿真结果、ASPEN 文件)只存在用户自己电脑上,不上传任何服务器。
项目间数据隔离
| 数据 | 隔离 / 共享 | 说明 |
|---|---|---|
| 仿真文件(.bkp)、版本记录 | 项目隔离 | 项目 A 看不到项目 B 的数据 |
| 对话历史 | 项目隔离 | 每个项目独立的对话线程 |
| 知识库 | 全局共享 | 跨项目复用,按工艺类型过滤 |
| 用户偏好记忆 | 全局共享 | 跟人走,不跟项目走 |
AI 调用云端大模型时的数据安全
- 采用字段白名单机制 — 只有工艺参数(温度、压力、流量等)和仿真结果允许发送给大模型
- 身份信息(客户名、项目编号、人员姓名)、文件路径、商业数据一律不发送
- 这是规则引擎自动过滤的,不依赖 AI 自己判断该不该发