AI不会干掉程序员,反而会为程序员带来更多工作机会
AI不会干掉程序员,反而会为程序员带来更多工作机会
从chatGPT出来那一刻起,我就一直在思考这个问题:我们程序员是不是马上要被AI干掉了?搞得自己非常焦虑,各种自我怀疑,对除AI外的任何技术都失去了兴趣。网上也有各种铺天盖地的观点,大多数的title都是以"AI即将干掉程序员"开头,贩卖焦虑。 在今年这种大环境本身就非常不好的时候,AI的出现仿佛是雪上加霜,让我们对未来完全失去信心,感觉未来一片灰暗。甚至很多人开始研究起了自己失业后可以干哪些行业,如外卖员、网约车等。
对于我们是否会马上被AI干掉这个问题,通过这几个月不断的思考、学习、推理,总算有了一些自己的答案,在此做一个分享与总结。
AI出现后软件行业会变成怎样?
去除杂念,以史为鉴,尊重逻辑。
会出现各种各样基于AI的新型应用
这里的新型应用主要是在没有AI的加持下无法实现的应用。如AI医生、AI老师等。
当你身体出现异常的时候,很多人的第一反应就是先百度一下,然后吓出一身冷汗,然后医院检查,最后虚惊一场。
这里最大的问题就是我们通过搜索引擎很难精确地描述出病情,当我们去门诊诊断的时候,医生会问我们多轮问题,才能给出初步诊断。多轮问题是目前的搜索引擎无法做到的,但它却正好是ChatGPT的强项。
如果有AI加持,再加上有效的训练数据,AI医生就可以通过和你的多轮对话,给出更加准确的初步诊断。
当AI医生诞生后,你小孩发烧的时候你就可以以非常小的成本得到非常准确的处理方案,如是否需要物理降温、是否需要立即吃药、如果吃药应该吃什么药什么量等。而在这之前,你需要到网上搜索各种资料,不仅效率低下,还有可能得到一些质量很低的搜索结果,甚至错误的结果。因为想在网上搜索出一篇权威的文章是非常困难的。
另外,AI教师也是非常有用的应用。在AI老师出现以后,你的小孩可能就不再需要你的辅导就能完成各种题目的解答,且AI老师可以给出更好的解题思路,更准确的答案。AI教师除了可以教授K12,还能教授各个垂直领域的知识,这是一个非常巨大的市场,未来一定会出现各种各样的AI教师平台。
现有应用会逐步AI化
看文档真的很累,但是如果有一个掌握文档所有细节的人坐在你旁边为你服务,你还会那么累吗?这就是未来的AI文档。你只需要提出问题,AI就可以教你如何使用软件或者api而不需要一字一句的去研究文档。
除了文档,政府的各种政策、法律条文、保险条款等,未来都将AI化,我们每个人都可以拥有自己专有的“人工客服”,以前需要看几个小时文件才能得出的答案,现在可能一分钟就能得到答案了,而且更加准确!
未来的政府、保险公司等同类型主体间的信息化较量,很可能就是AI能力的较量。
软件行业的AI化,对程序员来说意味着什么?
政府的政策发布系统要升级、保险公司的客服系统要升级,AI医生、AI老师需要开发,这个工作量最终是由谁来完成?程序员。
很多人可能会说,既然AI会写代码了,那么为什么不是AI直接对现有系统进行升级或者自我孵化新应用?
AI完全替代程序员?这个事情真的那么简单吗?
仅从技术的角度来看,当前的AI虽然可以写一些小模块,但是要完成一个复杂系统的架构、研发、部署,AI当前还有些力不从心。现在AI可以完成一些点上的东西,但是我们的大型应用是需要把这些点组合起来,点与点之间还有很深的业务关联的。
虽然AI迭代速度很快,但是不要忘了即使是AI,要学习新的知识也需要人类去训练,而这个训练的成本不仅仅是人力成本,还有时间成本。想要AI完全达到人类程序员的理解能力和开发能力,可能不是一两年就能够实现的事情。
退一万步,即便是AI具备了编写复杂程序的能力,那谁来监督它,测试它?自动驾驶技术推出了这么多年,为什么没有很快替代人类司机?就是因为验证可靠性是一个非常复杂的过程,路遥才能知马力。信任关系不是一天两天的相处就能建立起来的。特别是这种涉及公司信息安全、软件可靠性的信任关系。
因此,正是由于将来会出现各种新型AI应用,以及现有应用需要AI化,才诞生了大量的工作量。这是一个行业基础设施的大升级,基建永远是最容易诞生工作机会的,程序员不仅不会失业,还会在这一波大基建建设中得到新一轮的工作机会
。
对于AI加持后的程序员工作畅享
‘基于型’程序员
我们现在开发软件,大多数情况都逃不过‘基于’二字。基于vue、基于react、基于flutter等等。
为什么会去‘基于’,就是因为这些框架或者库,能够提高我们的工作效率,减轻我们的心智负担,让开发复杂的应用变得简单。
我们基于的内容就是基础设施
,而AI就是一种天然的基础设施。
未来一定会有大型的、成熟的AI平台和工具供我们‘基于’。当我们要开发一个AI应用,我们不需要自己去训练我们的基础模型,而是基于一个成熟的AI模型进行微调或者二次训练,就可以得到我们定制的AI模型,从而实现我们应用所需要的功能。
比如我们需要对公司开发的平台软件的文档进行AI化,我们不需要自己去训练一个AI机器人,而是基于现有大语言模型平台,新建一个AI实例,然后把我们的文档内容喂给这个实例,它就能变成一个我们定制的AI客服。我们还可以为这个实例设置各种参数,如定制它的聊天风格是严肃的还是活泼的、如定制它对于不相关的问题拒绝回答等等,当然这些参数都是AI平台提供的功能。
虽然AI可以帮我们编写如何调用平台api的代码,但是如何把这些代码集成到我们现有的软件中,还需要人类程序员的帮忙。
‘效率型’程序员
当有了AI大模型的加持,我们在写程序的过程中,可以让AI帮我们把一些点上的东西迅速完成掉,从而提高我们的编码效率。
如我们现在是一个vue新手,我们想实现一个列表的渲染。在从前我们可能需要去查阅vue官方文档,但是未来我们也许只需要问一问vue官方提供的机器人,它便能直接给出代码和解释。以前半个小时才能完成的工作量,现在10分钟便能完成。
而今日,已经有copilot,codeium这种ai编程工具,直接集成在编辑器中猜测我们的意图,很多情况下我们只需要按一按tab即可,甚至只需要在注释中描写下我们要实现的功能,它就能直接给出最终的代码。但是不要忘记,我们还是要写提示、写注释AI才能工作的,它只是让我们写得更快,即使没有AI,我们一样能完成最终的工能。
‘靠谱型’程序员
当我们一口气写完一个复杂的组件后,我们需要进行手工测试才能验证它的可靠性。而很多bug是在自测的时候很难发现的。有了AI加持后,我们写完一段代码就可以让它帮我们看看有没有什么明显的bug,然后迅速进行修复。把我们的代码喂给AI过一遍,可以让我们的代码更加靠谱,心里也更加有底气。这就相当于两个人在结对编程,而且和你结对的这个人水平还很高,很少出错,不会骂你是lowB,这样的编程体验,是不是真的好了很多?
一些建议
活到老,学到老。chatGPT和GEN应用的诞生让AI突然在今年爆发。我们能做的就是拥抱变化,积极去学习新式的编程方式,去学习使用AI带来的新工具、新平台。任何事情都有两面性,挑战和机遇永远都是并存。我们要做的不是自怨自艾,而是积极面对未来,未来不仅仅是AI,还会有各种各样不确定的事情等待着我们。正是这些不断出现的新东西让我们的人生更加丰富多彩,身在这个时代,真的很累,也真的很酷。