最近一直在想一个问题:AI 越跑越快,对嵌入式软件开发的冲击也肉眼可见。以前那种埋头猛学、靠堆量堆经验的老路径,放在这个时代未必还走得通。积极拥抱 AI 是必须的,但怎么用、自己还剩什么,也值得停下来认真盘一盘。
如何能少点背锅
我们用 AI 做出来的东西一旦有问题,兜底背锅的还是我们自己,哈哈
。
怎么才能少背锅?核心是不断提升与 AI 协作的效率。
一方面,得不断优化我们的提示词,让它产出的东西更符合实际需求;另一方面,要持续提高我们对 AI 产出的判断力,这就离不开知识储备的积累。还有一个实用的办法:用另一个 AI 检查当前 AI 的输出,两个结果综合着看,再下结论。
AI 辅助工程化落地
无论是一个人搞一个项目,还是多人协作,现在依然要像没有 AI 时一样,把项目的规则和规范建立起来。
区别在于,过去更多强调代码规范、工程规范、项目规范;到了 AI 时代,重心变成了项目的 AI 使用规则、不同 AI 之间的协作方式,以及一些边界限制。
项目里可以维护一份规则文件,内容比如:代码规范,哪些目录禁止 AI 直接改,改驱动必须同步更新哪份文档,日志格式和接口字段为什么不能动。
需求理解
非 AI 时代,可能因为交期紧张,我们对需求的思考和模块设计常常草草了事;进入 AI 时代,编码已经不是瓶颈了,这能释放出大量精力。我们需要把这些精力提前投入到需求理解上,并向 AI 描述清楚,让生成的代码更贴合需求,减少后期返工的概率。
尤其是异常场景的处理。如果没有特别说明,AI 多半不会主动帮我们处理。这就需要我们先提前想清楚,才能给 AI 更准确的输入。
其实无论有没有 AI,需求理解越到位,返工概率就越低,只是在不同时代的体现不一样:
- AI 时代:前期需求理解不够,中后期就得和 AI 来回拉扯、协同完善。
- 非 AI 时代:前期理解不够,中后期修 bug 就很难受,尤其是改动涉及整体设计时,风险太大,最后往往只能打补丁、特殊处理。
耦合问题/跨领域排障能力
纯软件场景下,AI 更适合做排障,因为它很容易拿到足够的输入信息。
但在嵌入式领域,情况就复杂得多:可能涉及多个硬件、多个模块,上位机、下位机、设备端、云端、App 端搅在一起,耦合问题很突出。而且一些模块本身是黑盒,AI 在大多数场景下很难做到自动分析、自动闭环,只能辅助我们分析。这类问题的解决,还是得靠我们自己的排查经验。
经验这玩意儿只能不断积累,不管是跨部门互相甩锅拉扯的能力
,还是实打实的专业知识。
举个典型例子:设备端采数据,网关转发,云端入库,App 展示。同一条数据在四个地方各有一个时间戳,时区还未必统一。现象是 App 上偶尔少一条,我们得把三份日志拼起来看,才能发现是网关重发时把序号弄重了。
这种活,AI 很难直接做到原因定位、问题解决、修复验证的闭环。但它读日志、找规律比我们快很多。只要我们给出足够清晰的问题描述,再配合一些关键日志,AI 还是能给出不少建设性的思路。
注重原理理解
目前不同工程师之间的提示词经验还有差异,AI 输出的结果也会有差异。但 AI 发展得太快,未来模型能力只会更强,可能最后大家给 AI 派活的提示词就是一句话,它就能直接开工。
到了一句话提示词时代,人人都会,提示词经验就被抹平了。这时候能拼的,又会回到对 AI 结果的判断力上。而判断力从哪来?还是得靠平时把知识理解得更透彻,不断扩大自己的知识储备。
知识原理的作用已经变了。以前学原理是为了自己能写出来,现在更多是为了审核和定位——AI 写的这一段,我们能不能说清它哪里不对、为什么不对。
可能有人说,以后 AI 生成的东西足够准确,都能做到 100 分了,那不是不用学原理了?学还是有用的。等 AI 的发展把所有人的使用经验都拉平,企业招聘总得考察候选人。AI 使用经验一样,提示词经验过段时间也不考了,那最后考察的还是会回到各种原理上。
行业知识
不管有没有 AI,嵌入式通用技能加上热门行业知识,一直都是香饽饽。还是要提前找准行业,深耕再深耕,才有机会进各行业大厂,走上人生巅峰。
通用的东西决定你能不能上手,行业积累决定你有多难被替代。
总结
- 提示词、项目规则这类“怎么用好 AI”的东西,学得最快,也最容易被抹平。
- 需求理解、耦合排障这类经验,需要靠项目量不断堆,慢慢积累。
- 原理和行业积累,最慢,但也最保值。