最近一直在深入探索 AI Agent 与大模型应用,像 JitKnowAI 知识库、JitWord 协同 AI 文档、Pxcharts 超级表格这些项目,都投入了不少精力。今天重点聊聊另一个方向——AI CAD 建模平台 HiCAD。
之前简单介绍过它的核心能力:一句话,AI 就能帮你生成 CAD 模型。相比 2.0 版本,3.0 版本在模型生成能力和质量上有了质的飞跃。更关键的是,引入了 Harness + Langfuse 可观测工程化能力,让模型生成的质量和稳定性都上了一个台阶。
直接看效果对比。3.0 版本生成的跑车模型,细节和结构完整度远超 2.0 版本。两张图放在一起,差距一目了然。
HiCAD 的生成链路是这样的:用户输入 Prompt → 前端发起 SSE 请求 → NestJS AI 服务识别意图 → 单阶段或双阶段生成 JSCAD → WebWorker 执行 → Three.js 渲染 → 自动质量评分 → 用户保存、导出、发布或续改。
自动质量评测模型
新版本中,引入了 AI 质量评测系统。前端生成完成后,会调用/api/ai/evaluation/code接口,将评分、等级、低分指标和建议显示在编辑器内,并支持一键触发优化。比如让 HiCAD 生成一个飞机模型,生成完毕后会自动弹出质量分析可视化面板。
AI 会对模型进行质量打分,用户还能一键调整参数和效果,自定义提示词,让 AI 进一步优化,直到满意为止。具体的评测指标涵盖多个维度,确保模型质量可控。
除了模型生成时的质量评测,还设计了全面的 AI 可视化监控面板,实现全链路可观测。项目源码里有完整的实现方案,感兴趣的可以深入研究。
多模型切换
在 AI 生成 3D 模型时,还能切换不同能力的模型,同时接入第三方大模型,比如 Deepseek、Kimi、千问等,实现更复杂的效果。下面是一个创意建筑的 3D 模型,展示了完整的生成效果。还能一键切换不同的视图,比如线框图、平面图、透视图等。
HiCAD 技术实现和架构设计
HiCAD 采用前后端分离的 Monorepo 架构,核心目标是:把自然语言建模需求,转化为可执行、可编辑、可评测的参数化 JSCAD 代码,并在浏览器中通过 Worker 与 Three.js 完成安全渲染。
技术选型上,包含了前端、后端以及可观测监控的全链路闭环。这套架构设计,在做企业级 AI 应用时也很有参考价值。
前端部分由页面、组件、Store、Composables 和 Utils 五层组成。核心是 EditorPage,它把 AI 对话、代码编辑、参数化调整、3D 视图、质量评分和导出能力连接在一起。前端的关键设计在于“状态驱动渲染”:AI 生成完成后写入 editorStore.code,useJscad 用来监听代码执行 Worker,ThreeViewer 根据 GeometryGroup 更新场景,QualityPanel 根据评测结果更新建议。
后端使用 NestJS 的模块化组织架构,每个业务域拥有 Controller、Service 和 DTO。AI 模块是核心,同时包含 Prompt、Adapter、双阶段 codegen、质量评测和观测。
Skills 技术与多 Agents 实现方案
HiCAD 运行时,设计了 AI 建模 Skills(技能)和 Agent 编排。通过 Prompt Skills、多阶段 Agent 和确定性 Codegen,将用户的自然语言需求变成可落地的 3D CAD 模型。系统设计了 6 层 Agent 协作系统,链路如下:
用户需求 → Intent Detector 判断类别 → Design Agent 输出结构化 Spec → Spec Normalizer 做范围裁剪和默认值兜底 → Codegen Agent 生成确定性 JSCAD → Worker Runtime 执行代码并返回几何 → Quality Agent 评分并生成优化建议 → Modify Agent 基于当前代码续改。
这套架构设计,对于任何 AI 产品或建模工具的开发,都有参考意义。技术文档中有详细的介绍。
Harness 技术思想:让 AI 建模从“摆零件”变成“可装配”
HiCAD 的 Harness 不是单个函数,而是一套约束 AI 输出的建模思想:统一坐标系、底部对齐、锚点公式、轻微嵌入、最终装配、自检评测。它解决的是 AI CAD 最常见的问题:零件悬浮、方向错误、比例失衡、返回散件、材质语义缺失。
Harness 的心智模型如下:从下到上堆叠,并让每层有轻微嵌入。这种设计思路,让 AI 生成的模型不再是散乱的零件,而是可装配的整体。
HiCAD AI 技术深度剖析
单阶段生成能力
HiCAD 的通用模型走 Prompt → AI → JSCAD 代码的单阶段链路,适合支架、外壳、齿轮、花瓶、文字铭牌等通用建模需求。系统 Prompt 会注入 JSCAD API、坐标系、Harness、材质、参数化注释和反模式约束。
双阶段精准建模
复杂领域模型走“AI 设计决策 + 确定性代码生成”模式。比如机械臂、坦克、汽车,会先由 Design Agent 输出 JSON Spec,再由 jscad-codegen.ts 生成代码,避免大模型直接写复杂定位代码时出现方向错误和零件分离。
多模型 Adapter
设计了多模型的适配层,后端通过统一AiAdapter接口暴露generateStream(),MultiAdapter 根据 modelId 路由不同供应商,并支持用户自定义 API Key 优先、环境变量兜底、模型输出窗口差异治理和自动重试。
Prompt Skills 分层设计
prompt-builder.ts 不是简单提示词,而是一个可复用的技能包,实现流程包括技能注入、分层组合、动态适配等环节。
模型执行与安全治理
AI 输出代码必须先经过 Worker Runtime 清洗与沙箱执行,不能在主线程直接运行。HiCAD 在 Worker 中完成代码提取、导入清理、截断修复、变量冲突处理、API 注入、几何序列化和零拷贝传输,保障了代码质量和安全性。
代码执行阶段设计了 4 层防护治理:代码清洗、沙箱隔离、错误拦截、结果校验。由于计算性能的考虑,统一在 Web Worker 中处理。
当然,HiCAD 还有很多能力没有介绍到,完整的项目源码和文档可以在 GitHub 上找到,供大家参考研究。
