前言
随着 ChatGPT 的横空出世,给全球带来了巨大冲击,各种大语言模型如雨后春笋般不断出现。国外如谷歌 Bard、Anthropic 的 Claude,国内如百度文心一言、阿里通义千问、讯飞星火认知大模型、昆仑万维天工大模型等。
现在的大语言模型比以前的模型的代码生成、代码解释能力有了质的飞跃,很多程序员已经开始使用大语言模型编写代码,因此很多人认为'程序员将会被 AI 所取代'。
本文将重点谈论两个话题:
- AI 时代,程序员真的要被淘汰了吗?
- 在 AI 时代,如何才能提高竞争力?

程序员将被淘汰?
'程序员将被取代'这个话题并非在最近 AI 火爆之后才被提出。之前低代码的出现,很多人就已经开始讨论程序员是否被淘汰了。然而,低代码虽然可以提高编程效率但并不能满足复杂场景、不够灵活甚至不够安全,并无法真正取代大多数程序员。

我认为,目前说'程序员将会全面被 AI 所取代'也为时尚早,但仅会 CRUD 的程序员或将面临被淘汰。如果你是打字员,如果 AI 不断发展,AI 的语音转文字的识别正确率比一些初级的打字员还高,那么初级打字员就面临淘汰。现在 AI 代码生成能力已经很强,简单的 CURD 或将被 AI 完全取代,因此如果你仅会 CRUD 其他能力都很弱,很容易被淘汰。
但从目前看来也会存在多种因素导致很多高级程序员还不会轻易被取代。
首先,目前大模型代码生成能力仍然有限。现在大模型虽然具备生成代码、解释代码甚至优化代码的能力。但是目前主要停留在'函数'维度,尚不能很好地生成类维度、模块维度、项目维度的代码。而且生成的代码也会存在各种问题,比如存在错误无法运行,使用了过时的类库,存在一些潜在的 BUG 等。生成的代码依然需要人去优化、去部署验证等。复杂的任务,还需要人去拆分成大语言模型能够轻松胜任的粒度。
其次,数据安全的限制。很多公司,尤其是大厂特别重视数据安全,不允许将公司的业务机密泄露给外部大模型,不允许用户将公司代码暴露到外部环境中,因此大模型在大厂的应用受限。通常只用来生成一些简单的类似工具类的代码或者其他没有业务属性的代码。
再次,自研模型能力限制。虽然现在很多大厂已经开始自研大模型,但是目前不管是数据、还是 GPU 资源还是模型能力和国外大模型相对还有很大差距,目前即使开放给员工使用,虽然可以提效,还很难形成足够的生产力。
最后,编码只是整个软件生命周期的一环。软件开发还包括需求分析、技术方案设计、编码、测试、运维等环节。很多时候决定软件成败的是编码前,需求的提出和分析,技术方案设计。尤其是需求阶段,涉及大量的人际沟通,需要人去排优先级,需要人去争取资源,需要人去和产品经理反复对焦需求,编写好的代码需要人去验证,写好的程序需要测试去验收,需要运维去部署等。

路在何方?
3.1 趋势不可逆,尽早掌握工具提高效率
现在 AI 时代已经来临,就像工业革命出现了蒸汽机、发动机一样,必将对诸多行业产生深远影响,已经呈不可逆转之势。
很多人会说现在大模型存在很多缺点,比如存在幻觉问题、推理能力还比较弱等问题,但就像驾驶汽车也可能发生事故一样,我们并没有因此放弃开车,因为我们能够意识到他给你带来的便利。而且恰恰是因为大语言模型的不完美,我们才没那么容易被淘汰。如果有一天产品经理设计好需求文档,AI 就可以自动写代码,自动修复问题,自动部署,或许程序员真的就要失业了。如果有一天 AI 可以产出比产品经理更好的需求文档,或许产品经理也将被取代。







