1. 先把问题想清楚:工业软件的“AI”到底要改哪一档子事
我干了十来年工业软件二次开发和数字化落地,前几年最怕听到的词就是“智能”,一听到就头疼——“智能排产”“智能设计”“智能运维”,PPT上飘来飘去,落到车间里全是半自动Excel。直到大模型这一波起来,工业软件谈AI才不算纯讲故事。但另一个极端也冒出来了:拿到ChatGPT就敢说“我们的CAD接入AI了”,实际就加了个聊天框,连图纸图层都读不出来。
标题里那句话——“从画图纸到会思考的软件”,之所以抓人,是因为它切中了一个真实趋势:工业软件正在从“记录工具”变成“理解工具”。过去CAD帮我们画线、CAE帮我们算力、PDM帮我们管文档,它们被动地执行命令,一切靠人工操作和判断。现在AI进来,核心变化是软件开始主动理解上下文、给建议、甚至替人跑流程。但这中间隔着一道很深的鸿沟,绝大多数项目死在中间,不是说模型不够聪明,而是没想清楚工业场景要的“思考”和互联网要的“思考”根本不是一回事。
这个标题拆开看,有两个关键动作。一个是“画图纸”,代表工业软件的传统底座——几何建模、仿真计算、数据管理;另一个是“会思考”,代表AI带来的增量——语义理解、经验沉淀、自动决策。需要想清楚的是:边界在哪、哪些环节AI能碰、哪些环节绝对不能碰。整篇文章我会按自己实际经历的一条路线来拆:怎么定方向、怎么选技术栈、怎么做数据、怎么搭Agent、怎么评估效果,最后把现场踩过的坑逐个翻出来。适合正在做工业软件AI化的人、准备在自己公司里搞AI落地的技术负责人,还有那些刚被老板塞了个“AI需求”还不知道从哪下手的兄弟。
2. 工业场景里的“会思考”,是什么、不是什么
1.1 图纸会思考,至少分三个层面
我在不同项目里反复被甲方问“你的AI到底能干什么”,后来总结出一句话:工业软件的AI能力,按复杂度分三个层面,绝大多数项目应该先做第一层,别一上来就Dream第三层。
第一层是辅助检索与问答。图纸、工艺、标准、历史方案,大量知识散落在文件夹和老师傅脑子里,AI负责把它们捞出来并整理成人话。比如设计人员问“上一版绞车架上那个轴承座用的什么材料”,系统能定位到具体图纸和物料号。这一层本质是语义化搜索,技术上是RAG(检索增强生成),也是落地最快、最容易出价值的一层。
第二层是设计建议与智能校验。软件根据当前设计上下文(比如轴径、载荷、转速)给出推荐参数,或者检查当前模型中潜在的干涉、违反标准的问题。这层需要AI调用底层数据——材料库、标准库、历史BOM,做完建议后必须能指回依据。
第三层是自动执行与闭环决策。AI直接驱动模型修改、自动生成工艺流程、自动调整方案并同步更新下游数据。这层我目前只见过在限定领域跑通的,比如管道自动布管、钣金自动展开参数优化,全自动通用设计还非常遥远。
想清楚自己在第几层,决定了后面大量技术选型。很多项目失败就死在拿第三层的目标、配第一层的资源。
1.2 工业AI和互联网AI,约束条件完全不同
互联网AI很多场景允许“差不多就行”,推荐个视频、生成段文案,错了成本极低。工业软件里,“差不多”不行。一个材料牌号错了,采购单按错的牌号走,铸件做出来报废,问题一下就升级成生产事故。这是工业AI落地最核心的约束:结果必须可追溯、误差必须可控、过程必须可解释。
第二个约束体现在环境上。工业软件的数据大部分躺在内网、甚至隔离网里,根本出不去。很多大模型方案在公有云上跑得飞起,到厂里一部署,算力、网络全受限,模型体积、响应速度全要重新考虑。我见过一个项目,甲方要求所有数据不出厂,最后只能私有化部署一个70亿参数的量化模型,检索库全部本地化,效果照样能接受。
第三个约束是精度。AI模型做语义理解很强,做数值计算就是灾难。你问它“10吨载荷、安全系数1.5、45钢的轴径大概多少”,它可能给出一个看起来像模像样但完全不对的数。这在具体项目中非常危险,必须有机制把数值计算从大模型里剥离出去,交给真实的求解器和公式。
1.3 划清楚哪些环节AI能碰、哪些不能碰
我总结了一张边界清单,每次项目启动都会拿出来过一遍。适合AI介入的环节:知识密集型操作(查标准、查相似案例、读旧图纸)、规则在持续变化的流程(工艺路径推荐、工装夹具选型)、经验判断类工作(方案对比、失效模式初筛)。不适合AI直接决策的环节:最终应力校核、公差链计算、干涉检验判定、任何涉及安全法规的签字环节。
一句话说就是:AI做参谋,人做决策,求解器做计算。这三个角色的划分一旦在设计阶段定清楚,后面整个系统架构都不会跑偏。我在一个项目里就吃过亏,当时客户坚持让AI直接出机加工工艺单,结果一个公差标注理解偏差,直接导致刀具路径错误,后来花了两周时间返工才把流程纠回“AI出建议稿、工艺员审签发”的模式。那一次让我彻底确认了边界原则。
3. 技术路线怎么选:大模型、RAG、Agent,还是全都要
2.1 一条核心原则:让AI做人擅长但耗时的事,不让AI做机器擅长的事
技术路线选型之前,先有一个总的判断原则。人和机器的技能光谱不一样:人擅长理解复杂上下文、模糊匹配、应对没见过的情况,但人不擅长做重复繁琐、大范围检索、逐字核对的事;机器擅长精确计算、海量搜索、规则匹配,但机器不擅长理解语义和模糊意图。AI的定位恰恰是在中间:它不像人那样会累,也不像机器那样死板,所以最合适的位置是充当“能理解语义的机器”。
我们做CAD智能辅助的时候,把场景拆成这么几类。一是“设计师频繁切换软件去查资料”——这个交给AI做语义检索,省切换成本。二是“老师傅经验没地方沉淀”——交给AI做知识抽取和问答。三是“参数修改涉及多个图纸联动”——交给AI做关联分析,告诉设计师哪些地方会被影响。四是“有限元计算、强度校核”——绝对不碰,留给专业求解器。这个原则定下来之后,团队内部吵架都少了,因为大家都清楚什么活该自己干、什么活该模型干。
2.2 候选方案对比:微调、RAG、Agent、规则引擎
工业软件AI落地,技术选型基本围绕这几个方案转圈子。我直接给一张对比表,都是实测下来的感受,不是教科书定义:
| 方案 | 适用场景 | 优点 | 缺点 | 典型成本 |
|---|---|---|---|---|
| 大模型微调 | 领域术语理解、输出格式固定化 | 模型行为可塑性强,响应风格稳定 | 需要持续标注数据,工业数据量通常不够;每次业务变化要重新训练 | 中高,需要GPU集群 |
| RAG检索增强 | 查询历史图纸、标准规范、相似案例 | 数据更新快、可追溯、基本不用训练 | 检索质量决定答案质量,文档解析工作量大 | 低,一台带GPU的服务器可跑 |
| Agent智能体 | 多步骤流程自动化、工具调用、跨系统操作 | 能像人一样串联多个动作 | 链路长、稳定性差、调试困难 | 中,依赖大模型能力 |
| 规则引擎 | 强约束逻辑、明确的判定标准 | 可靠、性能好、可解释性强 | 改规则要写代码、维护成本随复杂度上升 | 低,纯开发人力 |
我实际落地中,微调用得很少。原因很简单:工业数据的标注成本太高,图纸、工艺、材料关联这些数据,光靠一两个工程师去标注,根本攒不够量。RAG是本阶段的主力,因为它能利用企业已有的历史数据和文档资产,不用标注,直接整理后建索引就能用。Agent最近很热,但我的经验是别一上来就做完整Agent——先做“单意图+多工具”的轻量编排,比如用户问了一个材料问题,AI自动去查数据库、查标准、读图纸属性,然后汇总回答,这本质上就是一个窄Agent,跑通了再扩展流程。
2.3 一个真实项目里的技术栈组合
去年做的一个机械设计辅助系统,最终技术栈是这样的:底座是本地部署的32B参数开源模型(量化到4bit,跑在一台双卡机器上),向量数据库用开源的Milvus,文档解析用自研的解析管线(从PDF、DWG、Excel里抽取结构化信息),编排层用Python写的自定义Agent调度器,没有用现成的LangChain全套,因为现场网络隔离,依赖一个巨型框架反而难维护。
这里有一个容易踩的坑:很多团队一看Agent热潮,就上LangChain、AutoGen,接线一大堆,真正跑起来发现链路太长、问题定位极其痛苦。我后来更倾向自己写几十行代码,用“意图识别→工具调用→结果汇总→答案生成”这个最朴素的四步流程,反而稳定得多。工具调用也不是非要搞OpenAI那个function calling格式,用一个统一的JSON协议定义工具接口,谁来调都行。这个决策让我后来省了无数排查时间。
4. CAD智能辅助系统的实操拆解:从需求到验证
3.1 需求梳理阶段:不能甲方说什么就做什么
和很多软件项目一样,工业AI项目最容易翻车的地方是需求阶段。甲方嘴里说“给我做个智能设计助手”,实际可能连自己都说不清想要什么。我记得有一次产品需求会上,工艺部部长提了十几个“希望AI能做”的点,包括自动改图纸、自动选材料、自动出工艺、自动查错……后来我们用了两周时间蹲车间观察设计师实际工作,最终把需求收敛成三个最痛的点:找历史相似方案太慢、查标准和材料参数要频繁切换系统、设计完成后自查干涉和匹配关系全凭肉眼。
这个阶段有一个方法很管用——把“希望”翻译成“操作”。每个需求不写“智能设计”,而是写“用户在哪个界面,想干什么,当前要花多长时间,AI应该给出什么形式的结果”。一套翻译下来,优先级瞬间变得非常清楚。比如“自动改图纸”翻译出来是“用户打开旧方案,想微调轴径,AI能标出上下游关联的图纸和参数表,并自动定位修改位置”,这里AI只是“标出来”,不是“自己改”——改动操作仍然由设计师确认后完成。这个决策来自上一节讲的边界原则,责任清晰,研发工作量小十倍。
3.2 数据准备:图纸、规范、历史方案清洗出的结构化知识
工业AI的成败七成在数据,这句话每个项目都验证了一遍。CAD项目里,数据源一般有四类,每一类处理方式都不一样。
第一类是现存图纸文件和三维模型。表面上是DWG、SLDPRT、STP之类的文件,但真正有价值的信息在标题栏、材料明细表、设计说明里。我们的做法是解析图纸属性数据——图号、零件名、材料、重量、版本号、设计人,全部提出来做成结构化表单。这一步骤的工程量极大,5000张图纸花了一个月,但后面的所有查询、推荐、联动分析都建立在它上面。
第二类是设计规范和标准文档。国标、行标、企业标准,一大堆PDF,我们做了版面解析和章节切分,把“标准号-条款-数值-适用条件”拆成三元组入库。比如一个轴承选型标准,切出来是“深沟球轴承-当量动载荷<某值-选用某型号-注意事项若干”。
第三类是历史方案和设计BOM。这些是最有价值的“老师傅经验”,但也是结构化程度最低的。我们做了一个历史方案去重和关联工作:同样一个绞车减速箱,过去五年做了七八个变体,全部归到一个“方案簇”下,标注哪些是基线、哪些是变体、变体改了哪些参数。这样AI回答“类似结构还有哪些方案”时,才有层次。
第四类是ERP和物料系统里的数据。价格、供应商、库存状态,这些数据其实对设计决策非常重要,设计师往往不知道某个替代材料的采购周期,AI如果接了物料系统就能给出额外建议。但跨系统接口往往不好谈,我们第一版砍掉了这个部分,第二版才接上。
数据质量有一条必须守住:源数据必须标记来源。每条入库的知识都记录来自哪张图、哪本标准、哪个BOM,这是AI输出可追溯的基石。如果数据源头信息丢了,后面AI引用依据时只能瞎编。
3.3 Agent设计:让AI学会调用设计工具的“手势”
如果说RAG解决的是“AI知道什么”,Agent解决的是“AI能做什么”。我们设计的CAD辅助Agent,核心是一个“工具路由”机制,大模型在这里纯粹当“大脑”用,手脚全交给外围工具。
具体来说,系统里有几个注册工具:标准检索工具(输入关键词,返回标准条款)、材料数据库查询工具(输入牌号或性能要求,返回材料属性)、历史方案检索工具(输入草图或关键词,返回相似方案)、模型信息读取工具(调用CAD API,读取当前打开的零件属性、尺寸、约束关系)。所有工具统一有一个JSON格式的接口描述,包括工具名、参数列表、输出结构。
当用户提出一个请求,比如“帮我查一下这个轴要用什么材料”,Agent的工作流是:
- 意图识别模块判断这是“材料推荐”类请求;
- 从当前CAD模型读取轴径、受力条件(如果用户填写了)等上下文参数;
- 调用材料数据库,按强度、韧性、热处理状态过滤候选材料;
- 调用历史方案库,检索同样工况下以往设计选了什么材料;
- 汇总后生成回答,附带材料对比表、历史使用记录、相应标准条款的依据链接。
这里面最关键的一个设计细节是:所有工具返回的数据不经过模型“重写”。也就是说,材料参数表中“45钢调质后抗拉强度≥640MPa”这一行,是数据库原生数据,模型只负责把它组织到回答里,不能“添油加醋”。我们用的技术做法是:把工具返回的结构化结果标记为“不可篡改块”,提示词中明确要求模型对这些块的原文做引用,只允许调整展示顺序和增加补充说明,禁止修改数值和编号。这个机制下来,材料牌号错误率直接从一场对话多次掉到接近于零。
3.4 上下文管理:把设计参数和对话历史拼成一份“作战简报”
Agent要靠谱,上下文喂什么至关重要。工业场景里,最大的错觉是大模型的上下文窗口很长,就什么都往里面塞。实测下来,上下文一长,模型在长文里漏掉关键参数的概率急剧上升,尤其在中文+英文混排、表格矩阵密集的内容里。
我们的做法是“两阶段上下文”。第一阶段构建静态上下文:每次会话开始时,把当前设计对象的参数快照——产品型号、轴径、受力、材料约束、关联图纸清单——拼成一份结构化的“设计简报”,上下文里放这份简报,相当于给AI一份“作战地图”。第二阶段构建动态上下文:对话过程中产生的关键信息(用户新填的参数、选择的筛选条件)追加进来,但会定期做摘要压缩,把旧信息总结成一句状态描述,避免上下文无限膨胀。
还有一个细节,提示词里的字段命名要跟工业人员的语言习惯一致。你不用“旋转体中心线长度”,用“轴总长”;不用“单位面积载荷”,用“壁压”。模型对术语的敏感度远超想象,同一个问题换一套术语,回答质量能差一大截。这些术语表我们是从老师傅访谈里整理出来的,然后固化在系统提示词里。
上下文管理做得好,还有一个副产品:系统响应速度显著提升。因为输入token少,首token延迟大幅下降。本来8秒的响应,压缩上下文后压到3秒以内,设计师才愿意持续用。延迟这东西,在工业现场比精度还敏感,等8秒和等3秒,用户的耐心完全不是一个等级。
3.5 验证与评估:不看“AI聪明不聪明”,只看“效率有没有提升”
工业AI系统上线后怎么证明它有效,是很多项目的死亡点。我见过不少团队洋洋洒洒写一堆演示用的优秀案例,但甲方老总一句“这能给我们省多少人力”就哑了。实际上评估方法是可以提前设计好的,关键是别只讲故事,要看数据。
我们的评估体系分三层。第一层是离线客观评估,准备了300条标准问答集,每条都有正确答案和依据文档编号,跑回归测试,记录准确率。第二层是在线行为评估,系统给建议后,记录设计师的“采纳率”和“修改率”——他有没有按AI建议做,还是看了之后自己改。这是AI落地最硬核的指标,如果采纳率长期低于30%,说明系统在说废话,不管问答准确率多高都没用。第三层是工效评估,选10个典型设计任务,分别让用系统和不用的设计师做,记录总耗时、切换系统的次数、修改往返次数,用对照实验说明效率提升。
我们一期上线后的数据供你参考:标准问答准确率87%,设计师建议采纳率42%,典型任务平均耗时下降24%。没有神话,但至少证明不是负资产。
数据上有一个“幸存者偏差”坑要提醒。在线评估只统计了使用系统的设计师,那些根本不打开系统的人没进入统计,而这些人可能是因为系统难用才不用的。后来我们在后台补了全量埋点,发现约30%的设计师一次都没打开过。这个数字比采纳率更有警醒意义——磨合期需要强行推动试用,否则评估结果永远偏向乐观。
5. 现场踩坑与排查经验实录
4.1 大模型幻觉在工程场景里的特殊表现和应对
大模型幻觉在通用场景里就是个段子,在工业场景里却是要出人命的。实际踩过的几个典型表现,我给你列一下。
第一种是“编标准号”。问“齿轮精度GB/T 10095适用条件”,模型可能一本正经地编出一个跟真实标准号只差一位数字的假号。应对办法:标准检索永远走工具,不走模型记忆。模型中预设一条“所有标准号必须来自标准库检索结果”的硬规则,检索结果里没有就直接说明没有,宁可不答也不能编。
第二种是“材料性能漂移”。模型记住了45钢的调质硬度范围,但它在不同上下文里给的数值范围不一致——因为训练数据里的表格片段本身存在冲突。我们的对策是把材料性能数据做成工具查询,凡是涉及牌号、屈服强度、硬度、热处理状态,一律从结构化材料库取数,回答末尾必须附“数据取自材料库编号XXX”。
第三种是“张冠李戴”。设计师问“旁边那个法兰的材料”,模型把历史上另一个项目的法兰参数拿过来了。这个问题最隐蔽,因为看起来很像真的。对策是要求模型在回答中引用来源标签,标注“该信息来自图纸DWG-2023-0456”,如果模型无法定位到具体源文件,就明确说“未在现有数据中找到匹配项”,不提供猜测性回答。
一句话总结幻觉应对心得:不要试图让大模型“更诚实”,而是从机制上让它“没机会说谎”——所有关键事实都走外部工具取数,模型只负责表达,不负责记忆。
4.2 数值计算:大模型先天缺陷,必须用外部求解器兜底
大模型做数学计算的能力,普通人可能觉得还行,搞过工程数值的人都知道是灾难。它算个钢管截面积都能出错,更别说涉及到微积分、迭代求解的强度校核了。
我们项目里有一个“数值隔离”设计:提示词里明确要求模型检测到数学求解内容时必须使用计算工具。计算工具是嵌了一个Python计算环境,模型负责把自然语言参数转成计算代码,然后传给环境执行,返回结果。比如用户说“轴径40mm,45钢调质,承受扭矩1200N·m,校核扭转强度”,模型解析出参数,生成一个计算结果给求解器算,返回的是安全系数、剪应力值和结论。这一步下来,所有数值计算准确率回到100%,因为底层就是真实公式。
还有一个容易被忽略的问题:单位换算。工程师说“轴径40个丝”“壁厚3毫米”“压强6个兆帕”,都有语境里的口头表达,模型如果没接受过术语训练很容易换算错。我们在术语表里专门加了单位映射规则,并在提示词里强调“所有数值参数必须附带单位,输出结果必须标注单位”,交互过程中任何一方没有单位就要求澄清。
4.3 私有化部署的性能与并发处理经验
工业软件AI化,数据出域是红线,私有化部署基本是必经之路。但现场算力有限,模型太大跑不动,太小智商不够,这个矛盾非常现实。
我们前期做过一次模型选型测试:7B模型量化和32B模型量化,在同一批问答集上的表现差异非常明显。7B在复杂设计场景下经常答非所问,尤其涉及多步骤推理时,逻辑很容易断裂。32B虽然慢一些,但语义理解和工具调用准确性高一个档次。最后定了32B量化到4bit的方案,一台双路服务器带两块消费级GPU就能跑起来,代价是并发能力受限——同时在线超过3个人,响应时间立刻飙升。
应对办法是异步任务机制:把Agent的耗时长流程拆成“快速缓存回答+异步深度处理”。常见的标准问答、材料参数查询,直接走缓存,毫秒级返回,不占模型算力;复杂的推理任务(比如方案对比分析)异步处理,用户提交后系统后台跑,完成后推送结果。这个设计很大程度缓解了并发瓶颈,也在产品形态上引导了用户行为——简单查询即时反馈,复杂分析稍等片刻,比较符合工业软件的使用习惯。
部署环境里还有一个隐性问题——网络波动导致Agent链路中断。如果大模型服务部署在一台机器、向量数据库在另一台、CAD应用服务又在一台,任何一条链路断了,整个Agent就瘫痪。所以我们设计了一个降级策略:当大模型服务不可用时,系统自动降级为“规则检索模式”——虽不能自然语言问答,但标准查询、材料查询这些工具接口仍然工作。对用户来说,界面变丑了但核心功能还在,至少不会彻底干不了活。
4.4 信任问题:让设计人员真正愿意每天打开这套系统
工业软件AI落地,技术问题一半,人的问题一半。我见过不少项目,系统实际效果还行,但设计人员就是不用,因为不信任AI。这问题必须正面处理,否则评估数据都是假的。
信任建立有几个实操手段。第一是“回退机制”——AI给出的所有建议,用户都可以一键查看依据源文件,如果依据对不上,用户可以点“纠错”按钮直接反馈。纠错数据沉淀下来,会进入知识库的“人工修正区”,再训练或修正检索结果。当用户第一次点纠错、第二次又点纠错之后发现系统确实不犯同一个错了,信任就开始建立了。
第二是“解释对话中出现的每一个结论”。我们系统里每个回答默认带“依据来源”区域,列出引用的标准号、图纸编号、历史项目名。用户点进去能直接跳转到原文,这个溯源链路是整个系统投入产出比最高的一块,比调试模型参数有用得多。
第三是在上线初期搞“人机同台评审”——每周让资深设计专家和AI同答10个问题,现场对比并公开讨论。整个过程不光让用户看到AI的能力边界,也让开发团队看到真实业务视角的挑战。这些评审会输出的问题集,直接充实到离线评估集里,一举两得。
4.5 常见问题速查表
| 现象 | 根因 | 对策 |
|---|---|---|
| 回答引用的标准号不存在 | 模型“编造”了标准号 | 标准号强制走检索工具,禁止模型记忆输出 |
| 材料性能数据前后不一致 | 模型记忆中的表格信息冲突 | 材料数据全部走结构化数据库,模型不直接输出数值 |
| 对话稍长就答非所问 | 上下文窗口中的关键参数被稀释 | 定期压缩旧信息,保留设计简报为静态锚点 |
| 并发人数一多就超时 | 单机推理瓶颈 | 快速问答走缓存,复杂任务异步处理,降级规则模式兜底 |
| 用户说“AI说的我没法信” | 没有溯源依据 | 每个结论带来源标签,支持一键跳转原文 |
| 纠错后同样错误再次出现 | 纠错数据未回流 | 建立人工修正知识区,定期合并进检索索引 |
6. 最后说两句实在话
这个项目做完,我最大的感受是:工业软件的AI化,真正难的不是模型算法,而是怎么把一个技术潜力装进一套有边界、有责任、能被信任的工作流里。你让AI替你画图,它画错了没人签字;你让AI辅助你决策,它给你依据和理由,你一确认,责任才在你这。所以“从画图纸到会思考”,准确说应该是“从画图纸到帮助人思考,再到促使人做正确决策”。
如果你也正要启动类似项目,我建议从最小闭环开始:挑一个设计人员最痛、资料最集中、结果最容易验证的场景,比如“历史方案秒查”,先让一批人用起来,再逐步加工具、加Agent、加智能推荐。千万别一开始就规划一个庞大的人工智能平台。在工业现场,一个每天能稳定用起来的“小能力”,胜过十个演示时惊艳、日常吃灰的“大智能”。
另外,培养一个“翻译型”的角色非常关键。这个人既懂一点工业业务,又能理解模型能力边界,能把业务需求翻译成技术方案,也能把模型能力翻译成业务语言。项目里只要有这么个人,成功率直接翻倍。如果暂时没有,宁可先花时间培养,也不要急着堆人开发。这一点是我在这个项目里踩过最深的坑换来的,写下来供你参考。