大家好,我是双越。前百度 滴滴 资深前端工程师,慕课网金牌讲师,PMP。我的代表作有:
- wangEditor 开源 web 富文本编辑器,GitHub 18k star,npm 周下载量 20k
- 划水AI Node 全栈 AIGC 知识库,包括 AI 写作、多人协同编辑。复杂业务,真实上线。
- 前端面试派 系统专业的面试导航,刷题,写简历,看面试技巧,内推工作。开源免费。
我在正在开发一个 AI Agent 智能体项目【智语】一个智能面试官,可以优化简历、模拟面试、解答题目等。有兴趣的同学可以围观、学习。
开始
前几天有个同学和我聊天,说自从使用 AI 编程以后,感觉 AI 写代码比自己写的都好,自己会的这点东西还不如 AI 会的多,感觉很焦虑,都不知道接下来该往哪块学习了,没有了方向。

他让我帮忙分析一下这个话题。我这几天没事儿就在想这个事情,想的东西很多,乱七八糟的,正好写篇文章梳理一下思路。
明确范围,减少争论
本文聊的话题是一个大众话题,是针对绝大部分开发人员(尤其前端开发人员)的话题,大家都是普通开发者,每天做着普通的工作,都会被 AI 编程所影响。
如果你列举某个小众领域,很难,AI 搞不定。或者一个项目某一两个功能,很难, AI 搞不定。这种情况肯定存在,而且会持续存在,但它是小众的,不适用于大部分人。如果你正好在这种小众领域中,那恭喜你 AI 编程暂时对你影响不大。但你可千万别失业,因为失业了再找工作,小众领域的职位可没那么多。
最近 2 年,我每周都有几次 1v1 简历优化和模拟面试,聊过不知道多少人,能真正做过有难度项目的屈指可数,大部分都是增删改查。看网络上评论区这么热闹,人均架构师,动不动就并发量、大数据,其实实际工作啥样大家都知道。这就像知乎、脉脉人均年薪百万一样,实际大部分人的工资 1-2w 一个月,我接触的这些人,能超过 2w 的就是前几名了。
以 Cursor 为代表的 AI 编程工具,已经非常普及了,关键它们还都收费!!!所有大众的、收费的产品,只要不是强制的,它就一定是能解决实际问题,带来实际价值的。
免费的垃圾有的是,例如加 xxx 免费领取 20G 学习资料,下载了也是空占硬盘。但收费的、而且每个月持续收费的,一定不会是垃圾。
所以不要用一些小众的案例来否定 AI 编程的价值和趋势。
还有,本文讨论的是一个未来趋势,不是现在、今天或今年。不过这个未来也不会太遥远,我估计 2-3 年 AI 编程工具就会全面普及,即新手入门写第一行 Hello world 就都用 AI 写。
面试的变化
10 多年之前,国内刚开始有前端这个岗位,还是 jQuery 的时代。那时候面试经常考 DOM API ,例如 DOM 节点 attr 和 Prop 的区别、如何防止 XSS 攻击等。还经常考浏览器兼容性问题,因为那时候 IE 浏览器还大量存在。
再后来,Vue React 普及以后,就不再问 DOM API 的问题了。DOM API 依然存在,但早已经被 Vue React 等框架给封装的密不透风,你日常开发几乎用不到 DOM API 。
前几年面试经常考八股文,这是因为当年招聘市场需要大量的前端开发人员,只要能干活就可以来,要求不那么高。
大厂喜欢考算法、考源码,这是因为大厂开的工资高,要统一、流程性的去筛选最优秀的程序员。算法和源码就是最低成本的筛选方式。基本上一道算法题,就可以屏蔽掉 99% 的培训班出厂人员。
现在考的最多的是场景题,就是给你一个需求,让你去设计甚至直接写代码。因为现在市场需求少,预算低,企业更加务实,尽量低成本招聘能干活的人。
我大胆猜测,AI 编程普及以后,面试的过程和重点会逐步发生变化,会更多考察场景题,更注重思考能力、设计能力和 AI 应用的技巧。例如一场面试可能就一个题:使用 AI 编程实现一个 xxx app ,具体有 xxx 需求。等 AI 写完以后让你解释核心代码和流程,讲解设计和实现的思路。然后再给你加一些需求,让你继续用 AI 修改。在这个设计、编码、解释、修改的整个过程中,去观察这个候选人的工作能力。
而且,不会再区分前后端,有 AI 的加持可以打破技术栈的界限。甚至可以直接一键即成 Supabase 数据库、一键发布到 Vercel 等这种服务。真正的全栈、全能。
如果我是一个老板,我要招聘程序员,我觉得用这种方式非常有效。尤其对于中小企业,以及大厂的小团队。
AI 编程擅长做什么
AI 编程能做的事情非常多,而且做的又快又好,所以才会让这么多人付费。
第一,对于描述明确的需求,常规的开发任务,它都能很好的完成任务,代码质量相当于中级程序员,有 AI 辅助我们都不用在记什么 API 和语法了
第二,它写的非常快,几百行代码、创建多个文件,都可以在 1 分钟之内写完,这是人工达不到的速度。
第三,在你的规范和要求下,它可以很好的考虑到代码的安全性、稳定性和兼容性,而且时刻坚决执行,人工很难时时刻刻想到这么全面
第三,AI 非常擅长解读陌生代码,解释陌生的 API ,当你拿到一个新的代码库,配合 AI 编程可以快速掌握。如果纯人工去解读、去查询,即便是有经验的老程序员,也得耗费大量精力去查询、梳理、总结。
第四,当你要开发新功能时,AI 可以很好的帮助你梳理设计步骤和思路,Cursor 就有一个 plan mode 它先帮你制定计划,你觉得不合适可以修改它的计划,然后再按照计划去开发
(暂时想到这么多,如果其他欢迎评论区来补充、分享)
我说这些好处的真正目的是:我们要避其锋芒,不要和 AI 的长处硬刚,在这方面碳基生物刚不过硅基物种。
现在大家手机里都有计算器,你乘法除法计算多快,能有计算器快吗?你夜观天象经验在足,不如看一眼天气预报。
AI 擅长做什么,我们就不要去和它争,也不要觉得 AI 会的你不会,感觉自己一无是处、能力退化了。AI 再厉害也需要人工来驾驶它。
我们要做 AI 的主人,去学习高效使用它,我们要凌驾于它之上,去做它不擅长的事情。
AI 编程不擅长的
当前 AI 最大的毛病就是"一本正经的胡说八道",它搞错了它也会按照这个方向来,你不纠正,它就会一直找着这个这个方向走下去。在 AI 的世界里,没有南墙。
因为 LLM 背后的原理就是:预测下一个词。你不管它,它就会一直预测下去,反正它有海量的数据。
需求明确
写到这里我想到一个段子。会去程序员业余去做外包,甲方老板说:你就给我做一个淘宝就行,就照着淘宝做。
你是程序员,老板让你做个淘宝,需求就这一句话,你知道做啥吗?根本没法做。淘宝太庞大了,你想实现哪些功能,要写出明确的需求,最好还有界面和原型图。这样才能继续设计、开发。
所以有经验的程序员会再去和老板沟通,或者派一个需求专员和老板沟通,把需求确定下来。
人,在遇到不懂的地方时,会去咨询、查询、沟通,如果过程不顺利会被卡住,执行不下去。此时你如果继续强制压迫他,他就会产生逆反心理、摆烂、躺平、辞职。
但是 AI 不会这样。默认情况下,AI 会一本正经的胡说八道,它就没有不懂的时候。它搞错了它也会按照这个方向来。你自己不手握方向盘时会开沟里,越陷越深。
所以,我们给 AI 写需求一定要清晰明了,说专业一点就是 prompt engineering 提示词工程,要能去通过正确的 prompt 引导 AI 给出正确的答案。
这个说来简单,其实对于绝大部分程序员都是一个挑战,程序员真的不擅长沟通。
例如,有太多同学给我提问题,无论是现在 vx 聊天提问,还是之前在 GitHub issue 提问,就写一句话"我代码报错了..." 其他啥信息都没有。你说的我都看不懂,AI 能看懂才怪呢。
再例如,我 1v1 模拟面试,让他介绍一下自己的项目,太多人磕磕巴巴想一句说一句,最后也说不到重点上。自己做过的项目都说不清楚,那让你设计一个新项目,你就能描述清楚?
技术栈管理
AI 啥都会,但你的项目不能啥都用。你需要根据自己的情况选择合适的技术栈,以及选择合适的工具。
要开发一个前端项目,你需要选择 Vue React 等框架,选择 Vite webpack 等打包工具,选择一个合适的 UI 组件库。如果开发一些特定的功能,如编辑器、表格、地图等,你也需要自己确定使用哪些第三方插件。
你可以让 AI 帮你选择,帮你对比第三方插件的优缺点,但你依然需要具备良好的判断能力。因为 AI 会出错,而且会沿着错误继续走。
所以,你需要掌握前端、全栈等你的核心技术栈,知道这个技术栈相关的知识体系。在 AI 加持下你不用了解太细节,但你得有广度和视野。你要清楚用什么技术能实现什么功能,你要有自己的方向,你要去"驾驶"AI按照这个技术方案走。否则,完全让 AI 自由发挥是很容易乱套的。
架构拆分
如果你要设计开发一个大型项目,直接让 AI 帮你开始做,这几乎是不可能的。大型项目你没法一下子描述清楚需求,直接让 AI 开始的话,AI 很容易自由发挥,最终失控。
大型项目,在明确需求的基础上,首先应该做架构拆分,模块拆分。把一个系统拆分为不同的模块,一个模块拆分为不同的页面或者组件,每个部分之间都规定好接口,解藕。这个过程可以让 AI 帮助你设计和分析,但决定权还是在你。
完成设计以后,对于每个模块或功能的内部,再让 AI 去开发。即便 AI 可能会把代码写的很乱,但没关系,只要模块之间还遵守设计时的接口约定,模块内部乱了没关系。
即 AI 可以更多的帮你做具体的功能实现,这种需求转化为架构的工作,AI 只能辅助,判断权还是在你。对于大型项目,你无法从 0 就交给 AI 去做。
技术越进步,对人的要求就越"高级"
没错技术更新,对人的要求就会越高级。这个高级的意思是:更高一个层级,并不一定要求越高。
马车时代司机会赶车就行,汽车时代司机就得考驾照、懂交通规则、驾驶汽车、甚至要会维修汽车。
卓别林时代工人拿着大钳子,现代工厂里,工人都是操作机械手臂。
电脑刚出来的时候,打字员就是高级技工。
编程刚出现的时候,CPU 指令、寄存器、内存都需要人工编码来管理。
互联网刚发展时,会做页面,会增删改查就行,DOM 操作得熟练。
Vue React 刚出来时,会用 Vue 写网页就行,DOM 操作要求不高了。
AI 编程普及以后,又会有什么变化呢? 欢迎留言评论。