等 AI 编程普及后,我该何去何从?

大家好,我是双越。前百度 滴滴 资深前端工程师,慕课网金牌讲师,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 编程普及以后,又会有什么变化呢? 欢迎留言评论。

相关推荐
wangruofeng3 小时前
AI Models 模型目录,跨平台比较大模型 API 价格与上下文
github·aigc·ai编程
lzhdim3 小时前
AI的分类
人工智能·算法·机器学习·分类·数据挖掘
程序员海军4 小时前
用了两年多 GPT,我最近开始换模型了,还折腾了个求职避坑 Agent
前端·人工智能·后端
AIsoft_86895 小时前
人才评估中的关键信息如何沉淀?
人工智能·iphone
紧跟先前的步伐5 小时前
Go AI Agent 实战 06|JSON 结构化输出与 Go 后端校验
人工智能·ai·golang
怕浪猫5 小时前
红利窗口开着,程序员别在场边囤课
面试·github·ai编程
孟健5 小时前
一个人做 26 个平台的内容分发:字流 3.0 从选题到复盘的完整链路
aigc·ai编程
小碗细面6 小时前
Matt Pocock Skills v1.3 全解析:从 grill 到 retro 的 AI 工程化工作流实战
ai编程
vibecoding776 小时前
Codex 分层用模型完整教程:让 GPT-6.1 Sol 拍板、GPT-6 Luna 跑侦察
人工智能·gpt
新知图书6 小时前
1.3 启动第一个机器人
人工智能·机器人