3

人工智能(AI)井喷式发展下,未来“程序员”这个职业会不存在吗?

 6 months ago
source link: https://www.v2ex.com/t/1023860
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.
neoserver,ios ssh client

V2EX  ›  程序员

人工智能(AI)井喷式发展下,未来“程序员”这个职业会不存在吗?

  doudou456 · 11 小时 56 分钟前 · 2710 次点击

前两天,几位互联网大佬聊人工智能( AI )上了热搜,一些观点比较犀利,在软件行业掀起了大范围的热议,其中一大热点是:“程序员”这个职业会不会存在。去年就有惊人的观点:谷歌工程主管:程序员的职业生涯将在 3 年内被 AIGC 终结。

我先亮出自己的的观点:“程序员”这个职业会存在,未来人机结对编程是常态。也就是说,程序员会和基于大模型的编程助手/编程 Copilot 协同工作,以更高效的方式完成程序/软件的开发。见我的软件工程 3.0 宣言(附演讲 PPT )的第一句:

alt 属性文本

其实,我 5 年前就写过一篇文章:未来两年:人机结对编程(MMPP)将成为现实。当时,我过于乐观,但也不算乐观:2020 年北京大学推出了 aiXCoder 2.0 (版本到了 2.0 ,说明产品相对成熟了,其工作始于 2013 年),可以完成代码补全、代码评审等,开始实现人机结对编程。

今天的大语言模型( LLM )是一个概率模型、一个不确定模型,我甚至说过(见:软件工程 3.0 实践之路(一)最后一段):因为 LLM 的不确定性,有幻觉/幻想,倒是不适合做编程助手,更适合帮我们在一些不确定事务(股票投资、风险管理等)上做决策、可以获得最大的赢率。LLM 也更适合参与我们的头脑风暴活动、文化创意、设计等活动,这时幻觉/幻象成了优点、有创造性,例如挖掘用户的需求、应用场景、海报生成、视频创作、音乐创作等。

今天,我们确实越来越多地将 LLM 应用于代码补全、代码生成、代码理解、代码解释等工作中(见:软件工程 3.0 实践之路(六):LLM 驱动编程,银弹快来了吗?),它也可以生成单元测试脚本、测试用例。但所有生成的结果都不能直接采用,需要人工 review 。如果你的能力弱,就无法判定结果对与错,review 的效果就不理想。如果你只懂英文和中文,而不懂计算机编程语言,那根本无法 review 。对,像其他同学说的,你还要懂操作系统、懂数据库、懂通信协议、懂架构、懂算法和数据结构......这些都是软件开发的基础。

但是否有可能:生成的代码不需要人工 review 呢?在某些情况下也是有可能的,我的设想是:

  • 事先分别构建独立的开发 LLM (更多是代码正例)、测试 LLM (语料更多是反例,如缺陷报告、测试脚本、测试运行日志等)、业务/需求 LLM 等。
  • 让 LLM 帮我们实现 BDD 那样的需求( GWT 格式,即需求足够明确),这个过程还是人机交互的,需要业务需求专家确认结果,确保结果是正确的(相对的,不是绝对的)。
  • 从基于 BDD 的需求出发,开发 LLM 生成产品代码,测试 LLM 生成测试代码,两者独立工作,相互博弈、相互验证(类似 AlphaZero ,之前也有微软的论文做了局部验证)。这种情况下,几乎不需要人工参与(但很有可能是少量参与),让 LLM 相互验证,确保结果运行正确、通过测试。
  • 业务/需求 LLM 会参与全过程来验证,包括针对运行的程序进行验证。

“程序员” 职业肯定会存在,但部分能力弱的程序员会受到很大的挑战,而能力越强的程序员越安全。今年年初谷歌首席商务官发布备忘录、宣布再次裁员,而这次被「毕业」的员工,多数都是被 AI 淘汰的。《 24 年技术招聘现状》显示,已经有 21%的程序员担心失业。而 IMF (国际货币基金组织)报告显示,AI 会影响全球 40%的岗位,但同时它对每个人来说也是一个巨大的机会。例如:

  • 谷歌广告中,开始集成进大量的生成式 AI 功能。
  • 谷歌的聊天机器人,可以帮人们浏览大量的广告产品。
  • 谷歌的某 AI 系统,可以根据广告购买者给出的预算和目标,自行制作图像和文本。
  • 过去,提供销售指导、创建艺术资产、决定文本和布局这些工作都是人类做的,但是现在,AI 完成起这类任务可以每秒做一千次。

不过,面对 AI 的冲击,绝大多数( 70%)的开发者认为,AI 辅助工具能够帮助他们更好地完成工作。尤其是在以下这几个方面:

  • 编程辅助、代码自动补全与生成,例如用 ChatGPT 、GitHub Copilot 、CodeArts Snap 等。
  • 学习与答疑,不懂的问题找大模型。
  • 文档润色和生成,需求文档润色、个人总结和测试报告生成等。

在这之中,有大约 67%的开发者表示,自己已经将 AI 作为工作的一部分了。所以,我们可能会说,** 你的能力越强越安全,同时,你必须拥抱 AI 、拥抱 LLM ,不会用 AI/LLM 工具的人会被熟练使用 AI/LLM 工具的同行所淘汰。**

  • 根据国内招聘网站统计数据(以下相同)显示,机器视觉的薪资差距最大——达到了 62.44%。其中,要求 AIGC 技能的机器视觉招聘平均年薪为 48.45 万,而无此要求只有 29.83 万元。
  • 售前技术支持、大客户销售和平面设计这三个职位,是否具有 AIGC 技能也将带来超过 50%的薪资差异。
  • 对于企业来说,在同等条件下,有 57.04%会优先考虑那些具备 AIGC 技能的候选人。
  • 被开聊次数最多的是注明具有 AIGC 技能的算法工程师,高达 15.72 次,比未注明的同等职能多 6.21 次。
  • 从行业分布来看,新发职位主要集中于互联网、计算机软件、人工智能三大行业,占比为 29.65%、12.7%、9.96%。好消息是:说明互联网/软件职位在增长,软件定义世界、数字化转型,会带来更多的互联网/软件职位。

鉴于此,我们要尽早着手学习使用 AIGC 工具,从而增强自己的职场竞争力和求职议价权。

原文作者:Test Ninja


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK