离开AI连链表都写不出来:新入职工程师的基本功自救指 本文概览写给刚入行就赶上AI浪潮的年轻工程师。三个真实场景拆解「AI依赖症」是怎么形成的然后分编程、原理图、PCB三条线给出一套能落地的基本功训练方法最后附一份九十天行动计划。全文约六千字读完大概需要十五分钟。上个月部门来了个应届生笔试面试都不错简历上写着「熟练使用AI辅助开发」。入职第二周我让他在白板上写一个环形缓冲区的判满逻辑就是嵌入式串口驱动里最常见的那种。他的手停在半空愣了大概十秒说平时这种都是让AI生成的。我没有批评他。因为我很清楚换成十年前的我如果手边有这么好用的工具大概率也是一样的结局。问题不在他在于没有人告诉他AI给你的每一行代码、每一张参考电路都在替你消化那些本该由你自己咀嚼的东西。消化是别人的营养自然也是别人的。这篇文章想聊的就是这件事刚入行的工程师怎么在享受AI效率的同时不把自己的基本功喂废。编程、原理图、PCB三条线都会讲到因为我自己就是做嵌入式的软件硬件都躲不开。一、三个场景看看你中了几个场景一代码能跑但你不知道为什么能跑。需求来了先开对话框描述需求AI吐出五十行代码粘贴、编译、通过、提交。整个过程行云流水唯一没参与的是你的大脑。两周后这段代码出了bug你打开文件一看每一行都似曾相识每一行都说不出它在干什么。于是你把报错信息又粘给了AI。这个循环最可怕的地方在于它「工作得很好」。任务确实完成了领导确实满意了周报确实好看了。塌方发生在半年后某天线上出了一个AI也定位不了的问题整个组的人看着你而你看着屏幕。场景二原理图是抄的抄得还挺对但只是抄。画一块STM32H753的核心板AI很贴心地告诉你VCAP引脚接2.2µF电容每个VDD引脚放一个100nF去耦电容NRST对地接100nF。你照做了板子一次点亮皆大欢喜。然后评审会上有人问VCAP那个电容为什么必须是低ESR的100nF去耦电容离引脚最远能放多远VDDA和VDD的上电顺序有讲究吗三个问题三次沉默。这些答案其实都写在数据手册的电源章节里AI替你读了所以你没读。场景三PCB规则是AI给的DRC报错也是AI修的。CAN总线两端为什么要各放一个120Ω电阻USB差分对为什么控制90Ω阻抗DDR为什么要做±25mil等长。这些数字AI张口就来layout工具也能帮你检查。但当板子回来CAN通信偶发丢帧示波器探头搭上去看到波形上那个诡异的过冲时AI给不了你「哦终端电阻虚焊了」这种直觉。那种直觉来自你亲手焊过、亲手量过、亲手返工过的每一块板子。三个场景说的其实是同一件事AI交付了结果但截留了过程。而工程能力恰恰长在过程里。二、依赖是怎么一步步变成瘫痪的把时间轴拉长看过度依赖AI的新人会经历四个阶段每个阶段都比上一个更难回头。第一阶段是省事。本来会写的东西让AI写更快纯粹的效率提升没毛病。第二阶段是跳步。遇到不会的东西本该查手册、读源码、做实验现在直接问AI要答案。答案往往是对的但「从不会到会」的那段爬坡被电梯替代了。肌肉是在爬坡时长出来的坐电梯长不出肌肉。第三阶段是失重。你开始发现自己「看得懂但写不出」。看AI的代码逻辑都能跟上自己从空文件开始写十分钟憋不出一个函数签名。看AI给的电路每个器件都认识自己从一张白纸开始画不知道第一笔落在哪。这种状态有个特别有迷惑性的名字叫「我懂原理只是不熟悉细节」。第四阶段是塌方。出现了AI处理不了的问题可能是一个涉及三个模块时序配合的偶发bug可能是一块板子上电就掉电源的硬件故障可能是一个数据手册里都写得模棱两可的芯片勘误。这时候需要的是系统性的排查能力、对底层机制的真实理解、以及无数次踩坑攒下的直觉。这三样东西恰好都是前三个阶段被省掉的。我见过工作三年还停在第三阶段的人。不是不聪明是每次快要被逼着爬坡的时候AI都及时出现把他接走了。工具越好塌方来得越晚但塌得也越深。有个数据可以参考GitHub官方说Copilot用户平均接受30%左右的代码建议。但接受不等于正确正确不等于理解。2024年Uplevel那份报告里用AI助手的团队和不用的团队PR吞吐量没有统计学上的显著差异而bug率反而略有上升。工具放大的是使用者已有的能力使用者没有的能力工具也会放大它的缺失。三、编程把AI从代笔降级成陪练先说结论AI可以帮你写代码但「第一遍」必须是你自己的。具体做法是把顺序倒过来。大多数人的用法是「AI先写我来改」正确的用法是「我先写AI来评」。哪怕你写得又慢又丑哪怕最后90%被推翻那个从零到一的过程必须自己走。因为面试造火箭入职拧螺丝的时代过去了现在是入职就有AI替你拧螺丝你要是不主动找螺丝拧手会生。我自己带新人用的是「三遍法」。第一遍关掉AI补全自己把功能写出来能跑就行不求优雅。第二遍把自己的代码丢给AI让它挑毛病注意是挑毛病不是重写你要逐条判断它说得对不对。第三遍让AI给出它的版本跟自己的版本做对比把差异点一个一个搞清楚它为什么用哈希表而我用了遍历它为什么处理了这个边界条件而我漏了这三遍下来一个功能的学习价值被吃干榨净。比「生成、粘贴、提交」慢三倍但三个月后你会发现自己开始反过来挑AI的毛病了。这是质变的信号。挑AI的毛病不是抬杠是刚需。看一段AI生成的延时函数/* AI 生成的没有任何问题的延时函数 */voiddelay_ms(uint32_tms){for(uint32_ti0;ims*8000U;i);}编译通过逻辑清晰注释都不用写。但开了-O2优化之后这个空循环会被编译器整个删掉延时直接变成零。轻则外设初始化时序不满足重则等你贴片回来的板子批量出问题。要看出这个坑你得知道编译器优化会消除无副作用的循环得知道volatile是干什么的得真的被这个问题咬过一口。AI不会替你疼所以AI记不住这个教训。除了三遍法再给三个具体建议。每周留两小时「裸写时间」不开AI不开搜索只开编辑器和文档从头实现一个小东西。链表、状态机、简单的malloc、环形缓冲区都是好题目。这就是程序员的力量训练练的不是这些轮子本身是从空白到成品的完整心路。读一份高质量源码做批注FreeRTOS的任务调度、Linux内核的kfifo、lwIP的pbuf管理选一个啃透。读源码是AI时代被严重低估的能力因为AI总结得越方便愿意亲自下矿井的人越少下过矿井的人就越值钱。每个bug写三行复盘现象、根因、教训记在自己的笔记里。半年后这份笔记就是你的护城河因为AI的知识人人都能问到你踩过的坑只属于你。四、原理图AI给得了参考电路给不了「为什么」硬件这条线AI的渗透方式和软件不太一样。它不直接替你画图它替你「省掉读手册」。你问它STM32H753最小系统怎么搭它给你的答案质量相当高高到你完全感觉不到自己漏掉了什么。但硬件工程师的分水岭恰恰就在数据手册里那几页最枯燥的电气特性表上。拿H753的电源设计举例AI会告诉你VCAP接2×2.2µF但手册会告诉你为什么这两个电容是内部1.2V核心电压LDO的输出储能电容ESR太高会导致内核电压纹波超标表现为莫名其妙的死机和HardFault而且是温度越高越容易复现的那种。知道了这一层你才会在选料的时候盯着电容的ESR参数看才会在layout时把它们尽量贴近引脚放。同样的道理还有一串去耦电容100nF要求距离电源引脚5mm以内因为再远走线电感就把高频阻抗抬上去了去耦等于白去VDDA要在VDD之后上电或者同时上电顺序反了轻则ADC精度崩掉重则闩锁NRST对地那个100nF不是随手放的它和内部上拉一起决定了复位脉冲宽度去掉它芯片可能在电源爬升阶段反复复位。这些「为什么」串起来才是原理图能力的本体。给三个练法。抄参考设计可以但要「带着问题抄」官方评估板的原理图就是最好的教材。每抄一个模块强迫自己回答三个问题这个器件能不能换成更便宜的这个电阻阻值改一半会发生什么这个模块删掉整个系统会怎么死答不上来就去翻手册翻不到就去仿真或者搭面包板实测。建立自己的「电路模块库」电源、复位、晶振、调试口、USB、CAN收发每个模块自己画一遍、验证一遍、写清楚设计依据存成自己的库。以后画新板子从自己的库里调而不是每次都问AI。区别在于自己库里的每个模块你都能为它辩护AI给的模块你只能祈祷。把DFM意识提前到原理图阶段0402的器件焊接难度、BGA逃逸需要的过孔类型、连接器的公差配合这些制造端的约束会反过来影响原理图上的器件选型。AI对这些的理解基本停留在纸面因为它没有真的收到过一批因为器件停产而全面改版的板子。五、PCB手感这东西AI真替你练不了如果说编程和原理图AI还能帮上七成忙到了PCB这一层AI能帮的大概只剩三成。因为layout是一个约束满足问题约束条件一半写在规则手册里另一半写在你的经验里。写在手册里的部分要背下来没有捷径。CAN总线特征阻抗120Ω所以两端各挂120Ω终端电阻中间节点不挂USB 2.0差分对阻抗90Ω±10%走线要包地、要等长、过孔要少DDR3的数据组内等长±25mil地址命令组跟着时钟走蛇形线晶振下方不走信号线晶振外壳接地。这些数字在面试里会被问在评审里会被问在出问题的深夜里会被自己问。写在经验里的部分只能用板子喂出来。我的建议非常朴素自己掏钱打样。现在打样一块两层板便宜得像杯奶茶四层板也就一顿饭钱。自己设计、自己下单、自己焊接、自己调试一个循环下来的收获超过看一百篇layout教程。因为只有自己的板子你才会在意那个焊盘为什么连锡、那个过孔为什么塞孔、那条线为什么串扰。公司的板子有前辈兜底自己的板子只有自己。打样回来的调试环节更是宝藏。示波器怎么选带宽和探头、电源纹波在哪个点测、时钟信号的过冲振铃怎么看、EMC整改从哪根线下手这些手上功夫没有任何AI能教。它可以告诉你「测量电源纹波应使用20MHz带宽限制」但探头地线环路太长导致测出来的纹波是假的这件事得你自己被坑一次才刻进肌肉。层叠设计也值得专门练。两层板玩明白地平面完整性四层板搞清楚「信号-地-电源-信号」的经典叠层为什么经典六层板开始理解相邻层正交走线和参考平面切换。每上一个台阶就把上个台阶的板子拿出来重新审视一遍你会发现自己半年前的layout到处都是想抽自己的地方。有这种感觉说明在长进什么时候看旧板子觉得毫无问题了反而要警惕是不是停止生长了。六、AI的正确打开方式说了这么多「防AI」需要澄清一下立场我不反对用AI我每天都在重度使用AI。反对的是「用AI的结果」替代「自己的过程」。这中间的界线用一张表说清楚。场景错误用法正确用法写新功能描述需求直接要代码自己先写让AI做review遇到报错粘贴报错照抄解法先自己定位用AI验证假设学新技术让AI总结看完就算学了用AI生成练习题自己做画原理图要一份「能用的参考电路」让AI引导自己去读手册对应章节PCB评审让AI检查一遍就提交自己检查完用AI做第二双眼睛调试硬件描述现象等AI猜原因自己列排查树用AI补全遗漏分支规律其实就一句话判断必须自己做AI只负责扩大你的选项和检查你的盲区。只要决策权还在你手里AI用得越多越好决策权一旦交出去用得越多废得越快。还有一个隐蔽的检验标准你敢不敢跟AI吵架。用AI用得健康的人经常会说「不对你这个方案在中断上下文里会死锁」「这个电容选型没考虑直流偏压效应」。如果你从来没有反驳过AI大概率不是因为它一直是对的而是因为你没有能力发现它错了。顺带说一个提问技巧上的差别。依赖型的提问是「帮我写一个CAN总线驱动」成长型的提问是「我打算这样设计CAN驱动的接收缓冲中断里只做入队任务里做解析队列满了丢最旧的帧。帮我看看这个设计在总线负载80%的时候会有什么问题」。前一种提问AI给你的是它的方案后一种提问AI给你的是对你方案的压力测试。同样的模型两种问法练出来的是两种完全不同的工程师。七、五道题自测一下依赖程度讲方法之前先给一个快速自检。下面五个问题诚实地回答自己中三条以上就要警惕了。第一最近一个月有没有过一整天没用AI写代码的经历如果答案是「从来没有也不敢想」说明工具已经从加速器变成了呼吸机。第二上一次从零开始读一份数据手册或者一段陌生源码是什么时候如果想不起来说明你的知识输入已经全部经过AI转手一手信息的摄入量是零。第三你上一次发现AI说错了是什么时候前面说过从不反驳AI的人多半不是遇到了完美的AI是丧失了发现错误的能力。第四如果现在断网只给你编辑器和编译器你能不能把手头正在做的模块继续写下去速度慢没关系问题是能不能写。第五评审会上被人连续追问三个「为什么」你是越答越有底气还是第二个就开始心虚原理图上的每个器件、代码里的每个魔法数字你能不能追溯到它的出处这五道题没有及格线它们的作用是把「我好像有点依赖AI」这种模糊的不安变成五个具体的、可以逐个击破的目标。后面的九十天计划正是围绕这五个缺口设计的。八、一份能落地的九十天计划道理讲完了给一份可以直接执行的时间表。按每天下班后一小时、周末各两小时的投入设计强度不高重在连续。阶段编程线硬件线检验标准第1~30天裸写基础件链表、队列、状态机、环形缓冲区每周两个通读一款主力MCU数据手册的电源、时钟、复位章节白板手写环形缓冲区无压力能讲清VCAP电容的作用第31~60天三遍法做一个完整小项目如串口shell读kfifo源码做批注独立画一块最小系统板原理图每个器件写选型依据能挑出AI代码里至少一处真实问题原理图评审能为每笔连线辩护第61~90天给自己的项目补全测试和文档复盘笔记满30条自费打样焊接调试用示波器完成上电时序和纹波测量板子点亮并定位至少一个真实硬件问题形成自己的模块库初版九十天结束的标志不是你不再用AI而是你用AI的姿势变了从「它说什么我做什么」变成「我做什么它配合什么」。前者是AI的外设后者是AI的主人。写在最后有人可能会说AI越来越强基本功以后真的还有用吗我的看法是AI抬高的不是能力的下限是杠杆的倍率。同样一个AI在能判断对错的人手里是十倍杠杆在只会粘贴的人手里是十倍风险。基本功决定的就是你属于哪一种。而且行业有个残酷的规律越是人人都能做到的事越不值钱。当「会用AI生成代码」变成像「会用搜索引擎」一样的标配时定价权会重新回到那些AI替代不了的地方——系统性的排查能力、对物理世界的手感、以及出了大事时敢拍板的判断力。这三样东西的原料就是今天看起来笨拙的每一次裸写、每一页手册、每一块自费打样的板子。工具会迭代模型会换代但工程师的成长路径从来没变过把别人的知识变成自己的直觉。AI只是让「假装完成了这个过程」变得前所未有地容易。别假装。慢一点扎实一点三年后你会感谢现在的自己。

本月热点