同元“AI工程七步法”实践:把桌面CAD搬到Web

当我们谈论AI时,我们在谈论什么?是冷冰冰的算法,还是改变世界的新质生产力?

在同元软控,我们选择了一种更纯粹的方式:原生拥抱,深度进化。

【AI-ing 同元】系列专题,记录这场由内而外的重塑之旅。AI不仅是工具,也正成为同元的"基因"------淬炼出全新的同元人才,让创造力在数智世界里自由生长。

AI-ing,是"正在进行"的状态,是同元永不止步的生命力。

进化的同元,邀你同行。


面对一个复杂的工业软件开发项目,AI能帮上什么忙?是生成几个工具函数,还是优化一段算法?这些当然有用,但真正的价值远不止于此。当AI被嵌入一套完整的工程方法中,它能从"Copilot问答助手"变成"Agentic自主智能体",帮你把一个模糊的产品构想,一步步推进到可验证的工程交付。

本文将以一个真实的工业软件迁移项目CadToolOnline为载体,完整复盘我们如何用"AI工程七步法",将一个桌面版C++/Qt开发的CAD工具迁移为Web CAD工具。

先看效果

在展开方法论之前,先来看一段目前已完成的演示效果。

CadToolOnline当前已支持以下基本CAD设计功能:

  • **云平台部署:**支持部署到MWORKS Online云平台,在线运行
  • **STEP模型导入:**读取标准STEP格式三维模型,自动解析层级结构与零件颜色
  • **刚体分组设计:**将零件按多体动力学语义分组,构建刚体拓扑
  • **标架设计:**在三维模型上创建标架,支持智能hover吸附与辅助线预览

一、项目背景:一个不简单的迁移任务

1.原始产品

CADTool是一个桌面版三维CAD工具,基于Qt 5.14.2+OCCT 7.7.0构建,具备STEP模型读取、分组设计、标架设计、关节设计、驱动设计等完整的多体动力学建模能力。

2.迁移目标

将CADTool的核心能力迁移到VSCode插件形态,用Web技术栈实现三维CAD查看与多体动力学建模。

3.核心挑战

这不是一个"换个前端框架"的项目,难度主要集中在四个维度:

  • **几何内核迁移:**OCCT是C++体系的几何引擎,需要编译为WebAssembly才能在浏览器端运行
  • **交互复杂度高:**三维拾取、对象树、属性面板、Ribbon入口、导入导出全链路联动
  • **领域知识密集:**涉及分组、标架、7种关节类型、驱动、接触、流体等专业概念
  • **场景规模大:**全局PRD拆出60个原型场景,无法一次性开发

面对这样的复杂度,仅凭"让AI帮忙写代码"是远远不够的。我们需要一套方法,让AI有序地参与到从创意到交付的完整链路中。

二、七步法总览:从模糊想法到可验证交付

"AI工程七步法"每一步主要解决一个核心问题:

一个关键认知:**前3步偏顺序执行,解决不确定性;从第4步开始,PRD/Kanban/Execute/QA四步强并行迭代,解决可交付性。**下面逐一展开。

三、Idea:从模糊想法收敛到明确的工程命题

这一步的输入是一份**任务书,**它定义了两个输入项目(CADTool桌面版、chili3d开源项目)和一个输出目标(CadToolOnline),并给出了两种可选技术方案:

**方案一:**将CADTool全部C++代码编译成WASM------依赖Sysplorer SDK,体积不可控

**方案二:**只将OCCT编译成 WASM,应用层用 TypeScript 重写------体积可控,可调试

这一步的关键产出不是答案,而是**让问题变得具体。**我们明确了:Web化的最大障碍不是写页面,而是几何引擎能不能在浏览器跑起来。如果几何能力无法落地,后面的UI、PRD、执行都没有意义。

四、Research:找到技术锚点,证明路线可行

开源项目chili3d给出了最关键的技术验证:OCCT可以通过Emscripten编译为WebAssembly,浏览器端可直接调用几何引擎完成STEP读取、网格化、属性计算,三维显示层由three.js承接。

基于这一研究结论,项目沉淀出了可执行的技术架构:

这些决策被沉淀到项目配置文件中(CLAUDE.md和 .claude/agents/project-context.md),成为后续所有 AI 交互的**技术基线。**这意味着AI在后续每一次对话中,都能自动加载这些约束,不会跑偏到错误的技术路线上。

五、Prototype:用原型把产品知识变成可视化事实

这一步做了两件关键的事。

**第一,生成全量原型。**我们基于CADTool的产品帮助文档,用AI直接生成了覆盖全部功能的高保真UI原型(.pen格式),包含主界面(多体/流体两种模式)和60个场景画板。这不是手工画几张线框图,而是把产品知识从"说明书"升级为"可执行的设计资产"。

Pencil原型设计效果

这里有两点值得强调:

  • **模型能力决定原型质量。**生成高保真Pencil原型对模型的设计理解力要求很高,建议选择Claude最新的旗舰模型(如Opus 4.6),才能获得布局合理、细节到位的原型效果。较老或较小的模型往往在排版层次和组件复用上差距明显。
  • **原型可直接生成前端代码。**Pencil原型不只是"看看效果"的图纸,它可以直接作为输入,由AI生成对应的Web前端界面代码。在本项目中,UI组件(Ribbon、模型树、属性面板等)的初始代码就是基于.pen原型一键生成的,大幅缩短了从设计到代码的链路。

**第二,搭建真实UI框架代码。**原型阶段不只停留在图纸层面,同步搭起了软件架构:

六、PRD:把60个场景切出来,让复杂系统可以逐个交付

面对一个60个场景的工业软件,正确做法不是一口吃掉,而是一次交付一个最小闭环。

两层PRD体系

全局PRD完成了三件事:

  1. 把帮助文档的60个操作页映射为SC01-SC60场景

  2. 每个场景对应一个原型画板,建立"文档-原型-PRD"的一一对应

  3. 按模块统计功能范围:模型导入12页、多体设计10页、流体设计6页、设计工具5页......

场景PRD则是每个场景的详细规格书,包含:

  • 信息来源追溯(帮助页、原型画板、当前代码)
  • 帮助页目标态vs当前MVP边界
  • 功能规格(In Scope/Out of Scope)
  • 验收标准与已知差距

场景交付Skills

更关键的是,我们为场景交付创建了一个可复用的**AI Skills。**当输入一个场景ID(如SC01),AI会沿固定链路自动推进:

这意味着每个场景都能按统一标准推进,而不是每次从零开始。

七、Kanban:从"知道做什么"到"知道先做什么"

AI会给你很多正确建议,但不会替你管理顺序和依赖。看板在这里解决的就是这个问题。

我们维护了两类计划资产:

  • 全局计划按帮助文档目录分层组织工作包:基础设施(WP-BASE)、导入与浏览(WP-IMP)、多体设计(WP-MBS)、流体设计(WP-FLUID)、设计工具(WP-TOOL)、保存与导出(WP-EXPORT)。
  • 场景计划包含当前实现现状、技术方案与实施阶段、风险识别、完成定义与验证命令。

八、Execute:文档、计划、代码同步迭代

这不是"先写完文档再写代码"的瀑布模式,而是三者在每个场景内并行演进:

我们在实践中发现了一个关键规律:**当PRD文档已经能够准确描述产品功能时,代码开发通常也接近完成。**文档和代码的同步程度,本身就是交付质量的信号。

除了场景交付技能,项目还沉淀了多个领域技能支撑开发执行:多体动力学领域知识(mbs-domain)、Three.js 渲染模式(threejs-patterns)、Emscripten 绑定模式(embind-patterns)、测试驱动开发工作流(tdd-workflow)。

九、QA:测试不是收尾动作,而是迭代的稳定器

QA与PRD、Kanban、Execute同步推进,不是最后补一轮。

当前测试体系分为两层:包内单元测试(贴近代码,如core/test、geo/tests)和根级测试(跨包集成、回归测试)。场景级QA计划包含测试范围、关键路径与边界场景、自动化验证命令、帮助页目标态与 MVP 的可接受差异。

两个关键实践:

  • 测试不是开发完成后的证明,而是开发过程中的护栏
  • 每次修改代码后,执行对应影响范围内的测试,保证改动可验证、可回归

十、七步法为什么有效

回过头来看,七步法的有效性来自几个核心设计:

1.先建立事实源,再让AI工作

事实源越清楚,AI 的产出越稳定、越可验证。这和同元软控在C++/Qt实践中提出的"分层上下文"理念一致------用工程化配置接管上下文管理,让 AI 从做开放式作文题,转变为做有明确边界的填空题。

2.把复杂系统切成可交付单元

SC01-SC60的场景化拆分,让每次AI交互的上下文更小、目标更清楚、结果更容易验证。这本质上和Harness工作流的"一次只推进一个可验证的小目标"是同一个思路。

3.让文档、计划、代码、测试同步演化

很多团队的问题不是"AI 写的代码不好",而是文档和代码脱节、计划和执行脱节、测试和实现脱节。七步法从一开始就把四者放到一个迭代闭环里。

4.把AI的输出从一次性回答变成可复用的工程资产

单次prompt的价值有限。技能、PRD、原型、测试规范、领域知识库才是可持续复用的工程资产。当这些资产被沉淀下来,每一个新场景的交付都不是从零开始。

5. 真正减少的是返工成本

复杂项目里最贵的不是写代码,而是返工。七步法让技术路线更早收敛、交互原型更早对齐、场景边界更早明确、回归风险更早暴露。

十一、结语

AI真正适合解决的,不只是"写代码更快",而是"让复杂工程从模糊走向可验证交付"。

对于工业软件这类复杂工程,真正稀缺的不是写代码的能力,而是能稳定推进需求、守住工程质量、持续完成交付的系统方法。七步法的价值在于:它不是替代工程方法,而是放大工程方法。 方法一旦正确,AI就不只是代码生成器,而能成为可持续协作的交付系统。

当个人经验开始被固化为技能、规则和工作流,AI带来的就不只是效率提升,更是工程能力的规模化复制。

相关推荐
Navicat中国17 分钟前
Navicat 18 内置 AI 助手让数据库开发从繁琐操作迈向智能协作
大数据·人工智能·数据库开发
4SAPI39 分钟前
多模型请求路由怎么设计?成本、速度和能力如何平衡
人工智能·python·gateway·php
魔乐社区1 小时前
翼芯・智算测试与适配优化专区,让国产算力“选得准、跑得通、用得好“
人工智能·开源·大模型
知了学历孙老师2 小时前
小自考的校考和统考,出题方和难度差在哪
java·大数据·前端
XCDoris3 小时前
郴州logo设计机构
大数据·人工智能·python
Goboy3 小时前
一个人带三个Agent,我用全新TRAE从0到1搭了个资讯周刊站
人工智能·trae
俊哥V3 小时前
每日 AI 研究简报 · 2026-10-19
人工智能·ai
AI_AGENT_DEV_AI3 小时前
AI英语教培智能体的开发
人工智能
物联网软硬件开发-轨物科技3 小时前
【技术白皮书】光伏清检一体化机器人系统解决方案技术白皮书
大数据·运维·网络·人工智能·机器人
海宇数据3 小时前
零信任架构实战:基于海宇网上踪迹欺诈行为识别构建自动化信贷资信评估网关
运维·人工智能·架构·自动化