内容提要
文章讨论AI辅助前端开发:AI写代码虽准确,但缺乏运行时“效果层面”认知,会误改公共组件影响其他页面,也不记得踩过的坑。建议把坑写成可执行脚本、改动前声明意图。后半段转向开发者困境:AI让写代码变快,但验证、返工仍需人工,导致无限流工作、节奏失控、承诺风险加大。
延伸解读
AI 的盲区:只懂代码,不懂运行时
AI 写代码准确,但缺乏对运行时“效果层面”的认知。它能顺着引用找到受影响的页面,却无法理解这些页面在运行时的真实关联,比如共用容器宽度、CSS 变量或层叠顺序。因此,它可能误改公共组件,导致其他页面出现意外问题,而它自己却认为没有改动那些页面。
把踩过的坑变成可执行脚本
人类开发者靠经验记住哪些地方危险,但 AI 没有这种记忆,每次都会重新踩坑。解决办法是把坑写成可复现的脚本,让 AI 在改动后自动运行。同时,要求 AI 在动手前声明意图,然后只检查未声明的地方是否发生变化。这能部分弥补 AI 的“不记疼”。
AI 加速写代码,却让节奏失控
AI 让写代码变快,但验证、返工、对齐等环节仍需人工,且没有变便宜。开发者容易高估 AI 的速度,按“写”的时间承诺,导致实际交付远超预期。结果工作变成无限流,永远干不完,因为提交后新需求立刻出现,失去了“做完”的节点。
承诺风险与自我托举的困境
开发者常因怕显得慢而报出乐观时间,然后自己加班补上差值。这反而向他人证明“确实很快”,进一步推高期望。AI 拆掉了节奏的闸门,让人随时能改一版,但给不出“可以停下来”的理由。最终,节奏自由被拿走,工作被“还能再改一版”磨掉。
Q&A
AI写代码准确率已经很高了,为什么还说它不够稳定?
因为AI写的每一行代码可能都是对的,但它缺乏对运行时“效果层面”的认知。它只能顺着代码引用关系判断影响面,看不到页面之间通过共用容器宽度、CSS变量、层叠顺序等产生的隐性关联,所以会误改公共组件,导致其他页面出现意外问题。
AI改了一个公共组件,为什么不知道会影响其他页面?
AI判断影响面的方式是顺着代码找引用,它能找到哪些页面引用了该组件,但只能得出“这些页面会用到表格”这样的引用关系,无法理解“其中两个页面在等接口,列宽一变换行逻辑就跟着变”这类运行时行为。代码里没有名字的关联,它搜不到。
怎么让AI记住以前踩过的坑,避免重复犯错?
把坑变成可执行脚本:它摔过一次,就把那次怎么复现写成一条场景,下次改完让它自己跑一遍。同时要求它动手之前先声明要动哪儿,然后只检查它没声明过的地方变了没有。这些措施需要能装进工具里,不依赖人每天记得做。
为什么用了AI之后,工作反而变成了无限流,永远干不完?
因为AI让写代码变快,但验证、返工、对齐仍然需要人工,而且需求提不完。以前“慢”替开发者挡掉了部分需求,现在写几乎不花时间,活就源源不断。提交完一版,第二版的要求已经躺在那里,没有“做完、提交、关掉编辑器”的出口,所以感觉永远干不完。
AI辅助开发后,为什么承诺工期反而更容易超期?
因为开发者估算时间时习惯盘算“写”要多久,但写完之后还有复现、验证、返工、对齐四件事,这些并没有变便宜,且全得自己来。AI让写几乎不花时间,估算跟着塌了一半,但四件事照旧,所以报出的时间偏乐观,导致履约风险很大。
开发者说“节奏不在我手里了”,具体指什么?
以前需求虽然也提不完,但节奏在开发者手里:做不完他们就得等,“我做不完”是站在自己这边的。现在AI随时能出一版,开发者随时能再改一轮,需求方随时觉得还能再加,导致开发者不知道今天几点能走,也不知道手上东西算不算做完,失去了对工作节奏的控制。