程序员是不是要被 AI 替代?
昨天 Devin 的大火,像一个 AI 程序员,能独立完成一些编程任务。这又引发了很多程序员是不是要被 AI 替代的讨论和焦虑。以至于很多人都在说:既然 AI 写代码能力越来越强了,还要不要学习 CS?要不要改行?
我之前写的这篇《为啥很多人觉得编程难学?》 文章中表达了一个观点:软件工程从来不只是写代码,代码只是软件工程中众多环节中的一环,甚至不是最重要的一环。
如果有一天 AI 能帮我们写代码,那真的太好了,这意味着我们可以去做更有价值的事,写代码这事其实没有想象的那么有价值,因为我们大部分时间消耗在需求的频繁变更;语言、框架和 API 升级;各种环境适配这些没意义的事情上。
软件工程中真正有价值的在于解决需求的本质问题:比如当客户嫌马车不够快时,发明和创造出来汽车而不仅仅是让马车跑的更快,至于这辆汽车是手工焊接打造还是机器人自动化打造的没有关系。
回归到个体,既然 AI 写代码能力越来越强了,还要不要学习 CS?要不要改行?
我倒觉得感谢 AI,让 CS 的黄金年代能得以继续延续,所以美国大学报考,CS 专业尤其是 AI 专业,甚至比以前更火爆了。当未来 AI 吞噬世界的时候,最需要的恰恰是 CS 相关的知识,毕竟 AI 和现实世界连接的部分,还是需要专业人士来完成。只是未来对于软件工程师所需要的技能会发生变化,也许未来软件工程师打交道最多的不是各种编程语言和 IDE,而是各种 AI 模型和提示词。
所以选 CS 专业没什么问题,程序员也不见得要改行,但不学习新的知识,未来可能会难以跟上时代。
至于学什么?如果把编程语言比喻成工具,那么我们学习编程本质上就是学习使用工具。AI 也是工具,我们要学的就是如何使用 AI 工具,甚至于借助编程和 AI 创造出新的工具。
但仅仅学会工具还不够,能借助工具解决问题才是根本,学习如何去借助这些工具解决问题:完成工作任务,解决客户需求,解决自己的各种问题。
当 AI 能为你所用,不仅不用担心被 AI 替代,反而你自身的价值会更大。换一个角度,把自己想象成老板,把 AI 想象成员工,好的老板会担心被员工替代吗?不会,他们巴不得自己的优秀员工越多越好!