文章02_终稿

发布时间:2026/9/27 5:57:50
文章02_终稿 为什么 GitHub Copilot 对我们这行没用AI发展神速我也来试试AI能在我的工作中帮我做什么。我让AI帮我写一个串口打印调试信息的功能AI直接插入到接收数据的中断中结果可想而知板子不断重启。20多年工业软件从业经历告诉我在我们这个行业AI的有些建议未必是合适的。不是AI不好而是跟我们的工作方式不匹配。一、先说说我们这行是谁我们是谁我们不是互联网、不是APP、不是WEB。我们的代码跑在设备里在设备内部的MCU/DSP/FPGA里面我们的产品是硬件一台机器或者一台设备。我们是工作在工控、家电、新能源、轨交等行业的软件工程师。我们的代码改错了不是报错是烧元件、是起火二、为什么它在这里失灵2.1 上下文不在代码里一个过压保护阈值1030VAI不知道你定这个阈值的真正原因因此它也没办法判断把这个阈值改大或者改小了是否合适。而实际上这个阈值是为了达到客户需求设备需要在1000V稳定运行并兼顾拓扑中后续电路的工作电压而定的。工业软件的上下文不在代码里面而在原理图、器件手册、时序图、芯片 errata、客户需求文件、现场故障记录、老版本兼容要求等。2.2 它从没见过我们的代码大模型训练用了大量的Web、Python、算法题但是我们实际工业实践中的数据、代码呢如果说C2000 MCU的寄存器可以从TI的网站查到那么某个项目专用的协议栈呢某个公司累积了20年沉淀的代码呢这些东西AI都没见过。AI能给出标准C的写法但是我们需要的是符合这个协议栈的代码符合这个场景的写法。2.3 错误成本不对称我曾经在学生时代想过这样一个问题为什么互联网编程发展这么快而机械、加工、材料方面的发展就很慢。当时觉得逻辑很简单互联网编程这种纯软件的行业有一台电脑就行剩下的就是时间成本。发现有问题先改然后部署看效果。但是机械、材料行业则不然加工废了一块铁就有一块铁的成本。现在来看我们这种行业也是这样的情况。试错成本很高一不小心就是烧元件稍有不慎可能就涉及召回或者现场整改。必须要先完全理解再去修改这个模式跟互联网行业是相反的。2.4 验证成本远大于编写成本以修改ADC超阈值保护为例原来是ADC结果经滤波后直接判定是否超阈值修改为ADC结果经滤波后持续10ms超阈值才判定为超阈值。这个修改对于有经验的程序员不需要10分钟加上编译的时间也不过15分钟(我们的平台在Simulink搭模型再生成代码这个过程有点长)然后烧录到板子/机器上。最耗时间的活来了测试验证。台架/样机验证——这个还好即使没有本项目的样机(比较久远的项目出现这种情况的概率不小)还有其他项目的机器可以验证一下台架/样机验证就算1小时吧。现场验证——这个就得看客户心情和所出现问题的严重程度了1~2天到数周不等。现场验证时间就按5天算吧现场测试完成还需要对测试数据进行分析形成报告向客户汇报然后才能决定能不能用到现场。前前后后1周就过去了。就这两项测试咱们来算一笔账省下的编码时间上面说有经验的程序员可能要花15分钟去修改代码假设AI改代码不需要时间那这里就是省下15分钟。其实给AI把修改需求说明白也还是要花时间不是后面的验证时间现场实验数据分析报告少则1周多则十天半个月这样对比看来咱们这行修改软件所花费的时间重点在测试验证。AI加速了一个不是瓶颈的步骤提速的效果并不明显。图 1同一处修改ADC 超阈值保护增加 10ms 持续判定从写代码到能在现场用各环节的实际耗时。2.5 它不懂为什么例如在CPUFPGA架构的CPU代码里给FPGA做初始化前有这样一行代码osl_TimeDly (2500);如果直接告诉AI去优化代码AI多半会判定不规范建议改短或者查看硬件问题因为上来就等待2.5s不是一个好的做法。如果照着做了就发现时不时出现FPGA乱动作的问题产品工作不正常了。因为AI并不清楚这行代码在这里的含义它只从规范化、常规的做法去判定它所看到的代码。而一个涉及硬件的项目(如数字电源、小家电、车载电源等)的硬件拓扑、所使用的CPU等等信息在代码以外的原理图中在CPU的Datasheet里面甚至有些代码是为了兼容其他硬件的硬伤(如上面提到的2.5s的等待时间是需要等待FPGA完成初始化才能完整接收CPU的初始化指令)这些信息你不告诉它AI是不可能知道的。2.6 物理上就用不了很多公司出于保密的原因对文档采取了加密的措施比如Word文档落盘即加密.c/.h文件被DLP系统加密离开公司的加密环境则无法打开……但这一条其实是最好解决的——比起前面五条的结构性问题环境限制只是麻烦。怎么做我后面单独写。三、那什么有用AI 帮不上我们写代码难道我们就用不上AI来提升我们的效率了吗不是的AI能帮上我们理解代码和处理周边。下面来看看AI帮我干了哪些活让 AI读老代码、解释逻辑而不是写新代码一个FPGA的项目的代码没有说明文档没有原理图而我又不熟悉HDL语言丢给AI并把这个项目的产出结果是用在哪里的让AI一点一点帮我读明白让 AI比对版本差异代码 / 模型软件升级了所做代码/模型的修改是不是都是需要的让AI逐个文件比对并对照修改项目做成一个列表一看就清楚哪些修改是对应哪个修改项目的。如果有多余的改动AI也能提示你。让 AI 整理故障记录、生成分析报告现场发生了故障售后同事传回来一堆的故障记录、运行日志、运行数据先让AI扫一遍数据把故障发生前后可疑的数据点做好标注形成分析报告我再进行详细分析的时候就有了一个很好的参照。数据分析完毕再将杂散的分析记录丢给AI让AI按照公司模板/客户模板形成报告可谓事半功倍。让 AI 做知识管理——把散落的工程教训结构化沉淀人在江湖走哪有不踩坑但是不要重复踩同一个坑。在一个项目上解决了的问题把前因后果丢给AI一句记住这个坑让AI提取有用的信息记录到经验教训库在后续项目中碰到类似的问题AI就能提醒我这个之前踩过的坑。让 AI 写脚本处理琐事文档转换、批量重命名、数据提取类似.csv文件的数据图形化、提取文件内的固定字段给文件重命名、提取数据生成图表等等费时的活AI干起来可就一点都不费劲了。所以对我们这行AI 不是代笔是助手。它的价值点在理解、检索、整理不在生成。结尾2026年初刚装上OpenClaw的时候我和同事也在讨论有了AI能帮我们干什么活后来先是做了CSV数据图形化的工具PCAN数据转换工具等一些小工具同时随着大模型的不断发展发现AI能帮我们干的活越来越多了。后面会陆续把我跟AI如何在工作中合作干活的事写出来。