ChemAgent

化工工艺仿真的 AI 助手 — 从概念到仿真,一步到位
ChemAgent 是什么
  • 化工工艺仿真的 AI 助手,Windows 桌面应用
  • 通过 COM 接口直接操控 ASPEN Plus V12
  • 自然语言交互,AI 自动完成从建模到出报告的全流程
解决什么问题

学习曲线陡峭

ASPEN 操作复杂,新手上手慢,培训周期长

手工试错耗时

一个项目 5–20 轮迭代调参,可能折腾好几天

经验难以沉淀

老工程师的调参经验在脑子里,人走了就没了

文档重复劳动

物料平衡表等交付物每次都要手动整理

目标用户
  • 化工 / 医药 / 石化的工艺设计工程师(3–15 年经验)
  • 尤其是中初级工程师需要独立做仿真的场景
  • 资深工程师也受益:AI 跑粗调,自己终审
MVP 范围 — 先把核心做到极致
Step 1ASPEN 仿真优化
Step 2物料平衡表
Step 3PFD 流程图
Step 4P&ID 管道仪表图
MVP 聚焦
Phase 2
Phase 3

MVP 只做 Step 1 和 2,但一步到位做到行业领先:

Step做什么输入输出
仿真优化 AI 通过 COM 直接操控 ASPEN,自动迭代调参直到收敛达标 用户自然语言描述需求 收敛的 ASPEN 模型 + 各股流数据 + 设备规格
物料平衡表 从仿真结果自动提取,交叉验证质量/能量守恒 Step 1 的收敛结果 标准物料平衡表(界面查看 + Excel 导出)
虽然只做两步,但底层全建好 — 知识库、记忆系统、Multi-Agent、Skill 工艺包、版本管理全部在 MVP 覆盖。后续加 Step 3、4 是往上搭积木,不是推倒重来。
MVP 支持的工艺类型
优先级工艺类型
P0 首批精馏、闪蒸、混合/分流
P1 紧随简单反应器、反应精馏、换热器
核心技术框架
5.1 六个 AI 专家协同工作(Multi-Agent)

不是一个 AI 什么都干,而是六个专家各司其职,由总调度统一指挥:

总调度 Orchestrator 理解用户意图,决定派谁干活 类比:总工程师 规划师 Planner 分析需求,查资料,推荐初始方案 类比:方案设计师 报告员 Reporter 汇总结果,生成物料平衡表 类比:文档专员 操作员 Simulation 直接操控 ASPEN 改参数、跑仿真 类比:ASPEN 操作熟手 诊断师 Diagnostic 不收敛时深度分析原因 类比:资深专家会诊 安全员 Safety 每次改参数前检查安全边界 类比:DCS 联锁保护 调度指令 迭代闭环(操作→诊断→安全→再操作)
  • 实线:总调度根据任务类型,派相应专家干活
  • 虚线闭环:仿真不收敛时,操作员→诊断师→安全员 自动循环,无需回到总调度
  • 用户只跟总调度对话,看不到后面的分工
为什么不用一个 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
关键设计:物料平衡表不会自动生成 — 必须用户确认版本 + 主动触发。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"是硬规则,不能模糊
  • 不同工艺类型之间的记忆不交叉污染
  • 用户可以在设置页面查看、编辑、删除任何一条记忆,完全透明可控
数据隔离
纯本地部署 — 所有项目数据(参数、仿真结果、ASPEN 文件)只存在用户自己电脑上,不上传任何服务器。
项目间数据隔离
数据隔离 / 共享说明
仿真文件(.bkp)、版本记录项目隔离项目 A 看不到项目 B 的数据
对话历史项目隔离每个项目独立的对话线程
知识库全局共享跨项目复用,按工艺类型过滤
用户偏好记忆全局共享跟人走,不跟项目走
需要从合伙人拿到的材料
#材料具体要什么为什么要 / 用来做什么
1 ASPEN V12 调试环境 一台装有 ASPEN Plus V12 的 Windows 电脑,开通远程访问(TeamViewer / 向日葵 / 远程桌面均可)。我们的程序需要通过 COM 接口(Apwn.Document.37.0)调用 ASPEN,必须在装有 V12 的真机上才能调试,没有任何模拟替代方案。 整个产品的核心能力是通过 COM 遥控 ASPEN 跑仿真。没有真机环境,COM 通信验证、参数读写、仿真触发全部无法开展,后续所有开发都卡在这一步。
2 真实 .bkp 项目文件(3-5个) 历史项目文件,最好覆盖不同场景:①一个简单经典案例(如甲醇-水精馏);②一个稍复杂的组合流程(反应+分离);③一个曾经遇到过不收敛、后来调好了的案例。不需要脱敏,全程本地处理不上传。 三个用途:①测试 COM 能否正确打开和读取不同复杂度的 .bkp;②测试 .bkp → 结构化 JSON → 向量化入库的完整知识库管线;③不收敛案例用来训练 Diagnostic Agent 的排错能力。
3 完整调参流程的文字记录 选一个典型项目,用文字写下完整操作过程:打开项目 → 查看当前状态 → 决定调哪个参数 → 为什么这样调(依据什么经验/规则)→ 跑仿真 → 看结果哪里不满意 → 再调什么 → 最终达标。重点写每一步背后的判断逻辑("我看到塔顶温度偏高,所以先加大回流比试试")。md 或 txt 格式即可。 这份记录直接决定 AI 的"专业水平"。每个 Agent 的 system prompt 需要用真实的工程判断逻辑来填充,否则 AI 只会说废话。这是把老师傅的经验变成 AI 能力的最关键素材。
4 安全边界规则 各类常见设备(精馏塔、反应器、换热器等)的参数安全范围,比如:精馏塔操作压力不超过 XX MPa、塔顶温度不低于 XX°C、回流比范围 X-X。以及绝对禁止的参数组合。格式不限,Excel / 文字 / 口述都行。 Safety Agent 在每次 AI 改参数之前会做安全预检,用的是确定性规则引擎(不靠 AI 猜),所以需要明确的数值边界。没有这些规则,安全检查就是摆设。
5 常见不收敛场景 + 排查经验 在 ASPEN 里跑仿真经常遇到的不收敛情况:什么条件下容易不收敛?遇到后一般先检查什么、再检查什么?典型的修复手段?最好结合真实案例("上次XX项目不收敛,最后发现是XX问题,改了XX就好了")。 Diagnostic Agent 的核心能力就是自动诊断不收敛。这些经验直接写入 Diagnostic Agent 的知识库和 prompt,让 AI 能像老师傅一样排查问题,而不是瞎猜。
6 物性方法选择指南 不同工艺体系该用什么热力学模型:醇-水体系用 NRTL、烃类体系用 SRK、强电解质用 ELECNRTL……越全越好。包括选错了会怎样("非极性体系误用 NRTL 会导致XX偏差")。 两个用途:①写入出厂预置知识库,新建项目时 AI 能推荐合适的物性方法;②Planner Agent 制定仿真方案时的决策依据。物性方法选错,后面所有仿真结果都不可靠。
7 物料平衡表模板 公司目前实际在用的物料平衡表 Excel 模板(或样例)。需要看到:有哪些列、哪些行、数据精度要求、格式规范。 Reporter Agent 自动生成物料平衡表时,需要按客户习惯的格式输出,而不是我们自己编一个。直接套用现有模板,交付物才能直接用。
8 用户操作习惯和偏好 日常习惯,比如:默认用什么物性方法、温度单位用摄氏还是华氏、压力单位用 MPa 还是 bar、做优化时优先考虑能耗还是纯度、ASPEN 里有没有自己的常用设置。 写入用户偏好记忆的种子数据。产品上线后 AI 会自动学习,但初始阶段有种子数据能让 AI 从第一次对话就表现得"懂你",体验好很多。
下一步工作规划
阶段做什么前提时间
A
COM 通信验证
pywin32 连接 ASPEN V12,跑通完整链路:打开 .bkp → 读取参数 → 修改参数 → 触发仿真 → 读取结果 材料 1 + 2 1-2 周
B
知识库管线
.bkp 结构化抽取(COM 打开 → 遍历 Tree → JSON)→ 切片 → 向量化入库;普通文档入库;验证检索效果 A 完成 +
材料 2、6
1-2 周
C
单 Agent 端到端
Simulation Agent 闭环:用户自然语言 → AI 决策 → COM 操作 ASPEN → 返回结果;接入知识库和项目记忆 A + B 完成 1-2 周
D
Multi-Agent 闭环
加入 Safety / Diagnostic / Reporter Agent;四档调度模式;自动生成物料平衡表;真实案例端到端验收 C 完成 +
材料 4、5、7
2-3 周
E
Skill 充实
各 Agent 专业 prompt 填充;出厂预置知识库录入;用户偏好种子数据导入 材料 3、6、8 持续
第一步:拿到 ASPEN V12 环境 + .bkp 文件,后面才能动。