我的知识平台

CFD 工程师的知识库

YunboAgent — CFD 仿真自动化智能体

2026-09-11
solving last-tended 2026-09-16
CFDLLMUI自动化FluentSTAR-CCM+智能体

项目进度

60%
已完成 60%
进行中 阶段3
待开始
1
架构设计
2
Skill 体系搭建
3
Fluent 全链路验证
4
多软件支持
5
案例库闭环

一句话简介:让工程师用一句自然语言驱动 ANSYS Fluent / STAR-CCM+ / 云泊软件自动完成"规划 → 网格 → 设置 → 求解 → 后处理"全流程,并通过经验闭环越用越聪明。

GitHub 仓库joew-wen/YunboAgent-CFD(私有)


一、设计背景

1.1 痛点

  • 重复劳动:一次典型 CFD 仿真要经历前处理、网格、物理模型设置、边界条件、求解监控、后处理等十几个环节,其中大量 GUI 操作是高度重复的。
  • 经验依赖:正确的参数设置和操作顺序依赖工程师的个人经验,新人上手慢,老师傅被琐事占用。
  • 商业软件无开放 API:Fluent 的 GUI 不可脚本化编排,STAR-CCM+ 虽有 Java 宏但学习曲线陡峭,跨软件无法统一调度。

1.2 项目目标

构建一个多智能体系统:自然语言需求 → LLM 规划 → 自动 UI 操作/命令执行 → 结果交付,同时把每一次成功/失败的经验沉淀为可复用资产。

1.3 技术起点

  • 借鉴开源项目 Foam-Agent 验证了"LLM 驱动仿真全流程"的可行性,本项目扩展到商业软件 + GUI 自动化这一更难的场景。
  • 自研 qflow 引擎:基于 Windows UIA + OCR 的桌面自动化录制/回放引擎,通过 MCP 协议暴露给 LLM 客户端调用。

二、设计思路

2.1 架构演进:从"自建 agent"到"IDE skill 编排"

第一代(LangGraph 多智能体):自建 LangChain/LangGraph 工作流——全部自己写。

  • 优点:完全可控;
  • 代价:大量精力消耗在 agent 基础设施上,而非领域知识本身。

第二代(Qoder Skill 体系,现行):把 LLM 推理与工具调用交给 IDE 内置 agent,领域知识全部沉淀为 8 个 Skill 文档 + 模板库 + 案例库,qflow 引擎以 MCP server 形式接入。

  • 不再维护 agent 基建,只维护真正有价值的领域资产;
  • 新增一个软件的支持 = 新增三个 skill,结构照抄即可。

2.2 核心设计决策

决策 1:调度器模式 + 对话上下文即状态

总编排 skill 是调度规则文档,agent 本身就是调度器。子 skill 的执行结果自然成为对话历史,无需额外的状态文件传递。

决策 2:Harness 化编排 —— 契约 + 状态门

把整个流程收敛为带状态门的流水线

阶段放行判据
G1规划CasePlan 必填字段齐全 + 用户确认
G2网格文件存在且 size>0,格式兼容
G3设置每步执行 errors==0 + 终态截图证据
G4求解OCR 识别到 “iterating done”
G5导出云泊 OCR 确认结果加载

关键原则:门判据必须是客观证据,LLM 的主观判断只能作为纠错线索,永远不能作为放行依据。

决策 3:经验闭环 —— 案例库机制

闭环流程:新任务 → 案例检索 → 命中则复用序列只改差异项 / 未命中则完整访谈 → 执行 → 验证 → 成功回写案例库

决策 4:混合驱动 + 兜底降级

  • 主路径:录制 .qflow 模板,确定性回放——快、稳、可复用;
  • 兜底路径:模板纠错 3 轮不过时,降级为实时 LLM 驱动;
  • 归宿原则:“兜底是权宜,模板化才是归宿”。

决策 5:断点续跑 + 安全确认门

每过一道门把 StageResult 追加落盘到 checkpoint 文件;恢复时跳过已通过阶段续跑。

决策 6:多软件差异化自动化策略

软件控件可识别性技术路径
FluentUIA 控件可识别qflow 录制回放 + 实时驱动兜底
STAR-CCM+仅 OCR 可识别Java 宏 + batch 命令行
云泊(国产前处理)待录制.flow 模板占位骨架

三、整体架构

3.1 调度关系

graph TB
    U[用户: 自然语言需求] --> ORCH[cfd-orchestrator 调度器]
    ORCH -->|阶段1a| CASES[fluent-cases 案例检索]
    CASES -->|命中: 复用基线| PLAN
    CASES -->|未命中| PLAN[cfd-planning 参数访谈]
    PLAN -->|CasePlan JSON + G1门| MESH{G2 网格路由}
    MESH -->|自带网格| SW
    MESH -->|无网格| YUNBO[yunbo-ops 生成+导出网格]
    YUNBO --> SW{软件路由}
    SW -->|Fluent| FL[fluent-templates 参数 + fluent-automation 纪律]
    SW -->|STAR-CCM+| SC[starccm-automation]
    FL --> G3[G3 设置门]
    G3 --> G4[G4 求解门]
    G4 --> G5[G5 后处理]
    G5 --> WB[fluent-cases 案例回写]

3.2 部署布局

YunboAgent-skill/
├── .qoder/skills/               ← 8 个 skill
│   ├── cfd-orchestrator/        ← 总编排入口
│   ├── cfd-planning/            ← 参数访谈
│   ├── fluent-cases/            ← 案例库
│   ├── fluent-templates/        ← qflow 模板清单 + 参数表
│   ├── fluent-automation/       ← Fluent 操作纪律
│   ├── starccm-automation/      ← STAR-CCM+ Java 宏
│   ├── yunbo-ops/               ← 云泊前/后处理
│   └── qflow-template-recording/ ← 模板录制方法论
├── templates/fluent/            ← qflow 模板
├── templates/yunbo/             ← .flow 模板
└── runs/                        ← 运行产物 + checkpoint

四、当前状态与成果

已验证能力

  • qflow 驱动 Fluent 完整求解链路:导入网格 → 湍流模型设置 → 边界条件(16 节点模板 0 错误 53.5s)→ 初始化 → 迭代求解;
  • find_input 引擎分层匹配 + MTA 线程模型端到端验证通过;
  • STAR-CCM+ batch 模式 PoC:Java 宏创建仿真 + qflow run_command 执行 + .sim 文件生成验证;
  • 8 个 skill 部署至唯一维护目录。

进行中

  • Fluent 端 G1~G4 全门流水线端到端实测;
  • 模板参数化补全;
  • 云泊 .flow 模板真实录制与链路验证。

核心成果

用"skill 文档承载领域知识 + qflow 模板承载确定性操作 + 状态门承载可靠性 + 案例库承载经验复用"四件套,把一个需要维护数千行 agent 基建代码的系统,收敛为一份可以由 CFD 工程师直接维护的知识库。

项目文档

🔍

调研记录

0 篇

暂无内容

📋

需求文档

0 篇

暂无内容

🔧

进度日志

0 篇

暂无内容

🔄

复盘

0 篇

暂无内容